揭开无监督学习的面纱

2023年09月20日 由 camellia 发表 272 0

在机器学习中,无监督学习是一种在未标记的数据集上训练算法的范式。所以没有监督或标记的输出。


c_unveiling_unsupervised_learning_2

目标


在无监督学习中,目标是发现数据中的模式、结构或关系,通常用于将数据点聚类成组、探索性分析或特征提取。


常见任务


分类(为以前未见的数据点分配一个类别标签)和回归(预测连续值)是监督学习中常见的任务。


聚类(将相似的数据点分组)和降维(减少特征数目同时保留重要信息)是无监督学习中常见的任务。我们将在后面更详细地讨论这些任务。


何时使用


当期望输出已知并且定义明确时,广泛使用监督学习,例如垃圾邮件检测、图像分类和医学诊断。


在数据有限或没有先前知识的情况下,使用无监督学习来揭示隐藏的模式或从数据本身获得洞察力。


无监督学习技术


如前所述,无监督学习中,我们有输入数据,并任务是在其中找到有意义的模式或表示。无监督学习算法通过识别数据点之间的相似性、差异性和关系来实现此目标,而不需要提供预定义的类别或标签。


在本讨论中,我们将介绍两种主要的无监督学习技术:


  • 聚类
  • 降维


什么是聚类?


聚类是根据某种相似度度量将相似的数据点分组到一起的过程。该算法旨在找到数据中的自然组或类别,在同一类的数据点之间比与其他类的更相似。


一旦我们将数据集分组成不同的簇,我们实际上可以为它们贴上标签。如果需要,我们可以对聚类数据集执行监督学习。


什么是降维?


降维是指在保留重要信息的同时减少数据中的特征(维度)数量的技术。高维数据可能很复杂且难以处理,因此降维有助于简化数据进行分析。


聚类和降维都是无监督学习中强大的技术,可以提供有价值的洞察力,并简化复杂数据以进一步分析或建模。



聚类算法概述


如前所述,聚类是无监督学习中的一项基本技术,它将相似的数据点组合到一起的过程,同一簇中的数据点与其他簇中的数据点相比更相似。聚类有助于识别数据中的自然分割,这可以提供有关模式和关系的洞察力。


有各种用于聚类的算法,每个算法都有自己的方法和特点:


K-Means聚类


K-Means聚类是一种简单、强大且常用的算法。它通过反复更新每个簇内数据点的平均值,将数据划分为预定义数量的簇(K)。


它通过迭代改进簇分配,直到融合。


以下是K-Means聚类算法的工作方式:


  1. 初始化K个簇的中心点。
  2. 根据选择的距离度量,将每个数据点分配给最近的簇中心。
  3. 通过计算每个簇中数据点的均值来更新中心点。
  4. 重复步骤2和3,直到融合或达到定义的迭代次数。


分层聚类


分层聚类创建一个树状结构(谱系图)的数据点,捕捉多个级别的相似性。凝聚聚类是最常用的分层聚类算法。它从单独的数据点作为单独的聚类开始,并根据链接准则(例如距离或相似性)逐渐合并它们。


以下是凝聚聚类算法的工作方式:


  1. 从每个数据点作为自己的簇开始,共n个簇。
  2. 将最近的数据点/簇合并为更大的簇。
  3. 重复步骤2,直到剩下一个单独的簇或到达定义的簇数。
  4. 可以借助谱系图来解释结果。


具有噪声的基于密度的空间聚类(DBSCAN)


DBSCAN根据邻域中数据点的密度识别簇。它可以找到任意形状的簇,还可以识别噪声点和异常值。


算法包括以下关键步骤(简化以包括主要步骤):


  1. 选择一个数据点并在指定半径内找到其邻居。
  2. 如果点有足够的邻居,则通过包括其邻居的邻居来扩展簇。
  3. 对所有点重复,形成由密度连接的簇。


降维算法概述


降维是在保留重要信息的同时减少数据集中特征(维度)数量的过程。高维数据可能很复杂,计算成本高,并且容易过拟合。降维算法有助于简化数据表示和可视化。


主成分分析(PCA)


主成分分析(PCA)将数据转换为新的坐标系,以最大化主成分上的方差。它在保留尽可能多的方差的同时降低数据的维度。


以下是执行PCA进行降维的步骤:


  1. 计算输入数据的协方差矩阵。
  2. 对协方差矩阵进行特征值分解。计算协方差矩阵的特征向量和特征值。
  3. 按特征值降序对特征向量进行排序。
  4. 将数据投影到特征向量上以创建较低维度的表示。


t分布随机邻域嵌入(t-SNE)


我第一次使用t-SNE是为了可视化词嵌入。t-SNE用于通过将高维数据降低到较低维度的表示来进行可视化,同时保持局部成对相似性。


t-SNE如何工作:


  1. 构造概率分布,以测量高维和低维空间中数据点之间的成对相似性。
  2. 使用梯度下降最小化这些分布之间的差异。迭代地移动较低维空间中的数据点,调整其位置以最小化成本函数。


另外,还有一些深度学习架构,如自动编码器,可用于降维。自动编码器是设计用于编码然后解码数据的神经网络,实际上学习了输入数据的压缩表示。


无监督学习的一些应用


让我们探索无监督学习的一些应用。以下是一些例子:


客户细分


在市场营销领域,企业使用无监督学习将客户群细分为行为和偏好相似的群体。这有助于量身定制营销策略、活动和产品提供。例如,零售商将客户分为“预算购买者”、“奢侈购买者”和“偶尔购买者”等群体。


文档聚类


你可以在一组文档上运行聚类算法。这有助于将相似的文档分组在一起,有助于文档组织、搜索和检索。


异常检测


无监督学习可以用于识别数据中的罕见和异常模式。异常检测在欺诈检测和网络安全中具有应用,以检测异常行为。通过识别异常的消费模式来检测欺诈信用卡交易是一个实际的例子。


图像压缩


聚类可以用于图像压缩,将图像从高维颜色空间转换为较低维度的颜色空间。这样可以通过将相似的像素区域使用单个中心点来减少图像的存储和传输大小。


社交网络分析


你可以分析基于用户互动的社交网络数据,以发现社群、影响者和相互作用模式。


主题建模


在自然语言处理中,主题建模任务用于从大量文本文档中提取主题。这有助于对一个大型文本语料库中的主要主题进行分类和理解。


比如,我们有一组新闻文章的语料库,并且在一开始没有文档及其对应的类别。因此,我们可以对新闻文章集合执行主题建模,以识别政治、技术和娱乐等主题。


基因组数据分析


无监督学习也在生物医学和基因组数据分析中有应用。例子包括根据基因的表达模式对基因进行分簇,以发现其与特定疾病的潜在关联。

文章来源:https://www.kdnuggets.com/unveiling-unsupervised-learning
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
评论 登录
写评论取消
回复取消