揭示无监督学习
无监督学习'的揭示
什么是无监督学习?
在机器学习中,无监督学习是一种在无标签数据集上训练算法的范例。因此,没有监督或标记的输出。
在无监督学习中,目标是发现数据本身中的模式、结构或关系,而不是基于标记的示例进行预测或分类。它涉及探索数据的固有结构,以获取洞察并理解复杂信息。
本指南将介绍无监督学习。我们将首先介绍监督学习和无监督学习之间的区别,为后续讨论打下基础。然后,我们将介绍关键的无监督学习技术和其中流行的算法。
监督学习 vs. 无监督学习
监督学习和无监督学习是人工智能和数据分析领域中使用的两种不同方法。以下是它们的主要区别的简要总结:
训练数据
在监督学习中,算法在一个带有相应期望输出(标签或目标值)的带标签的数据集上进行训练。
而无监督学习则涉及使用无标签的数据集,其中没有预定义的输出标签。
目标
监督学习算法的目标是从输入空间学习一种关系——一种映射。一旦学习到映射,我们可以使用模型来预测未见数据点的输出值或类别标签。
在无监督学习中,目标是发现数据中的模式、结构或关系,通常用于将数据点聚类成组、探索性分析或特征提取。
常见任务
在监督学习中,分类(为之前未见数据点分配一个类别标签)和回归(预测连续值)是常见的任务。
而在无监督学习中,聚类(将相似的数据点分组)和降维(减少特征数量但保留重要信息)是常见的任务。我们稍后将更详细地讨论这些任务。
何时使用
当期望输出已知且定义明确时,如垃圾邮件检测、图像分类和医学诊断,广泛使用监督学习。
当对数据有限或没有先验知识且目标是从数据本身中发现隐藏的模式或获得洞察时,使用无监督学习。
以下是两者的区别总结:
总结:监督学习侧重于从带标签的数据中学习以进行预测或分类,而无监督学习旨在发现无标签数据中的模式和关系。根据数据的性质和问题的性质,两种方法都有其应用。
无监督学习技术
正如前面所讨论的,在无监督学习中,我们拥有输入数据,并任务是在其中找到有意义的模式或表示。无监督学习算法通过识别数据点之间的相似性、差异性和关系来实现这一目标,而不需要预定义的类别或标签。
在本讨论中,我们将介绍两种主要的无监督学习技术:
- 聚类
- 降维
什么是聚类?
聚类是根据某种相似度度量将相似的数据点分组到一起的过程。该算法旨在找到数据中的自然群组或类别,其中同一群集中的数据点彼此之间的相似性大于与其他群集中的数据点的相似性。
一旦我们将数据集分组到不同的群集中,我们就可以对其进行标记。如果需要,我们可以对聚类数据集进行监督学习。
降维是什么?
降维是指在保留重要信息的同时减少数据中特征(维度)数量的技术。高维数据可能复杂且难以处理,因此降维有助于简化数据以进行分析。
聚类和降维都是无监督学习中强大的技术,在进一步分析或建模时提供有价值的见解,并简化复杂数据。
在本文的剩余部分,让我们回顾一下重要的聚类和降维算法。
聚类算法:概述
如前所述,聚类是无监督学习中的一项基本技术,它将相似的数据点分组到一起,同一群集中的数据点彼此之间的相似性大于与其他群集中的数据点的相似性。聚类有助于识别数据中的自然分区,从而揭示出模式和关系。
有各种用于聚类的算法,每个算法都有自己的方法和特点:
K-Means聚类
K-Means聚类是一种简单、稳健且常用的算法。它通过迭代地更新每个群集内数据点的均值来将数据分为预定义数量的群集(K)。
它通过迭代地改进群集分配直到收敛。
下面是K-Means聚类算法的工作原理:
- 初始化K个群集的中心。
- 根据选择的距离度量,将每个数据点分配到最近的群集中心。
- 通过计算每个群集中的数据点的均值来更新群集中心。
- 重复步骤2和3,直到收敛或达到定义的迭代次数。
层次聚类
层次聚类创建了一个树状结构,即一个树状图,用于捕捉数据点在多个层次上的相似性。自下而上聚合是最常用的层次聚类算法。它从单个数据点作为单独的群集开始,并根据链接准则(如距离或相似性)逐渐合并它们。
下面是自下而上聚合算法的工作原理:
- 从`n`个群集开始:将每个数据点作为自己的群集。
- 将最接近的数据点/群集合并为一个较大的群集。
- 重复步骤2,直到只剩下一个群集或达到定义的群集数量。
- 可以借助树状图来解释结果。
基于密度的带有噪声的空间聚类(DBSCAN)
DBSCAN根据邻域内数据点的密度识别群集。它可以找到任意形状的群集,还可以识别噪声点和检测异常值。
该算法包括以下步骤(简化以包括关键步骤):
- 选择一个数据点并在指定的半径内找到其邻居。
- 如果该点有足够的邻居,则通过包括其邻居的邻居来扩展群集。
- 对所有点重复,形成由密度连接的群集。
降维算法:概述
降维是在保留基本信息的同时减少数据集中特征(维度)数量的过程。高维数据可能很复杂、计算成本高且容易过拟合。降维算法有助于简化数据表示和可视化。
主成分分析(PCA)
主成分分析(PCA)将数据转换为一个新的坐标系,以最大化主成分上的方差。它在保持尽可能多的方差的同时,减少了数据的维度。
下面是执行PCA进行降维的步骤:
- 计算输入数据的协方差矩阵。
- 对协方差矩阵进行特征值分解。计算协方差矩阵的特征向量和特征值。
- 按特征值降序排序特征向量。
- 将数据投影到特征向量上,创建一个低维表示。
t-分布随机邻居嵌入(t-SNE)
我第一次使用t-SNE是为了可视化词嵌入。t-SNE用于通过将高维数据降维为低维表示来进行可视化,同时保持局部成对相似性。
t-SNE的工作原理如下:
- 构建概率分布来衡量高维空间和低维空间中数据点之间的成对相似性。
- 使用梯度下降来最小化这些分布之间的差异。迭代地移动低维空间中的数据点,调整它们的位置以最小化代价函数。
此外,还有一些深度学习架构,例如自编码器,可以用于降维。自编码器是设计用于对数据进行编码和解码的神经网络,有效地学习输入数据的压缩表示。
无监督学习的一些应用
让我们探讨一些无监督学习的应用。以下是一些例子:
客户分群
在营销中,企业使用无监督学习将他们的客户群体分成具有相似行为和偏好的群组。这有助于量身定制营销策略、活动和产品提供。例如,零售商将客户分为“经济型购物者”、“奢侈品购买者”和“偶尔购买者”等群组。
文档聚类
您可以在文档语料库上运行聚类算法。这有助于将相似的文档分组在一起,有助于文档的组织、搜索和检索。
异常检测
无监督学习可以用于识别数据中的罕见和异常模式。异常检测在识别欺诈和网络安全中具有应用,以检测异常行为。通过识别不寻常的消费模式来检测欺诈信用卡交易是一个实际的例子。
图像压缩
可以使用聚类来进行图像压缩,将图像从高维颜色空间转换为低维颜色空间。这通过用单个质心表示相似的像素区域来减少图像的存储和传输大小。
社交网络分析
可以分析基于用户互动的社交网络数据,以揭示社区、影响者和互动模式。
主题建模
在自然语言处理中,主题建模的任务用于从一系列文本文档中提取主题。这有助于对大型文本语料库中的主要主题进行分类和理解。
假设我们有一组新闻文章的语料库,并且事先没有文档及其对应的类别。因此,我们可以对新闻文章的集合进行主题建模,以识别诸如政治、技术和娱乐等主题。
基因组数据分析
无监督学习还在生物医学和基因组数据分析中有应用。例如,基于基因表达模式对基因进行聚类,以发现与特定疾病的潜在关联。
结论
希望本文帮助您了解无监督学习的基础知识。下次您处理实际数据集时,尝试确定手头的学习问题,并评估它是否可以建模为监督学习问题或无监督学习问题。
如果你正在处理一个具有高维特征的数据集,在构建机器学习模型之前尝试应用降维技术。继续学习!Bala Priya C 是来自印度的开发者和技术作家。她喜欢在数学、编程、数据科学和内容创作的交叉领域工作。她的兴趣和专长包括DevOps、数据科学和自然语言处理。她喜欢阅读、写作、编码和喝咖啡!目前,她正在通过撰写教程、指南、观点文章等来学习并与开发者社区分享她的知识。