菜单

无监督学习

相关源文件

本页面概述了 ML-For-Beginners 课程中涵盖的无监督学习技术。与(在 监督学习 中介绍的)监督学习技术不同,无监督学习处理的是未标记数据,模型必须在没有明确指导的情况下自行发现模式。本节重点介绍聚类技术,特别是其在音乐数据分析中的应用。

无监督学习简介

无监督学习是指使用没有标记响应或目标变量的数据的机器学习技术。无监督学习算法不是基于示例预测结果,而是尝试发现数据中的内在结构。

无监督学习的关键特征是:

  • 无需标记的训练数据
  • 自主发现模式和关系
  • 适用于数据探索和理解
  • 通常用作监督学习的预处理步骤

来源:5-Clustering/README.md1-29 5-Clustering/1-Visualize/README.md1-26

聚类:一种关键的无监督技术

聚类是最广泛使用的无监督学习方法之一。它涉及根据某些特征将相似的数据点分组,而无需预先了解组成员身份。

课程中的定义:

"聚类是一种无监督学习,它假定数据集是未标记的,或者其输入未与预定义的输出匹配。它使用各种算法来处理未标记数据,并根据其在数据中识别出的模式提供分组。"

聚类算法的类型

该课程涵盖了几种聚类技术,每种技术都适用于不同的数据特征和问题类型。

算法类型描述用例
层级基于邻近对象对数据进行分组通用,嵌套簇
基于质心围绕中心点定义簇大小均匀,非复杂簇
基于密度基于密集区域对点进行分组不规则形状,噪声处理
基于分布使用统计分布统计建模
基于网格将空间划分为网格结构多维数据

来源:5-Clustering/1-Visualize/README.md30-97

关键聚类词汇

课程中介绍了一些重要的聚类概念:

  • 转导式 vs. 归纳式:转导式方法通过先对相似项进行分组再应用标签来更好地处理未标记数据,而归纳式方法则在标记样本上进行训练以创建通用规则。

  • 扁平 vs. 非扁平几何:指衡量点之间距离的方式——是使用欧几里得(扁平)还是非欧几里得(非扁平)方法。

  • 约束聚类:通过对某些数据点施加“必须连接”或“不能连接”的规则来引入半监督元素。

  • 密度:指数据点在簇内的密集程度。

来源:5-Clustering/1-Visualize/README.md47-76

K-Means 聚类

K-Means 是课程中深入探讨的主要聚类算法。它是一种基于质心的方法,将数据划分为 K 个簇,每个数据点都属于离其最近的质心的簇。

K-Means 的工作原理

K-Means 算法遵循三步过程:

  1. 初始化:选择 K 个点作为初始质心
  2. 分配:将每个数据点分配给最近的质心
  3. 更新:将质心重新计算为簇中所有点的平均值
  4. 迭代:重复步骤 2-3,直到质心稳定或达到最大迭代次数

来源:5-Clustering/2-K-Means/README.md16-31

评估 K-Means 聚类

课程介绍了评估聚类质量的几种方法:

  1. 轮廓系数:衡量一个对象与其自身簇的相似程度,以及与其他簇的相似程度。取值范围为 -1 到 1,值越高表示聚类效果越好。

  2. 肘部法则:通过绘制平方误差和(WCSS)与簇数量的关系图,找到一个“肘部”点,以帮助确定最佳簇数量。

  3. 惯性:衡量簇的内部一致性,计算方法为样本到其最近质心的平方距离之和。

来源:5-Clustering/2-K-Means/README.md123-186

课程中的实现

课程使用尼日利亚歌曲数据集演示了 K-Means 聚类,数据集包含以下特征:

  • 舞蹈性
  • 原声性
  • 能量
  • 器乐性
  • 流行度

该实现使用了 scikit-learn 的 KMeans 类,并结合了以下技术:

  • 使用肘部法则确定最佳簇数量
  • 使用轮廓系数评估簇质量
  • 可视化结果簇

代码模式遵循以下结构:

来源:5-Clustering/2-K-Means/README.md102-212

无监督学习在 NLP 中的应用

虽然课程中关于无监督学习的部分主要侧重于聚类,但无监督技术也应用于自然语言处理任务。

情感分析和模式识别

在课程的 NLP 部分,学生使用酒店评论数据,应用了利用无监督学习原理的技术。

  • 标签聚类:从酒店评论中提取和分类常见短语或标签
  • 情感分析:确定文本的情感基调

来源:6-NLP/5-Hotel-Reviews-2/README.md98-204 6-NLP/3-Translation-Sentiment/README.md82-93

实现示例

NLP 部分使用 NLTK 的 VADER 情感分析器对酒店评论进行情感分析。

来源:6-NLP/5-Hotel-Reviews-2/README.md296-330

无监督学习的挑战

课程承认了应用无监督学习技术中的一些挑战:

  1. 评估难度:由于没有标记数据,因此更难客观地评估模型性能

  2. 参数选择:确定最佳参数(如 K-Means 中的簇数量)可能具有挑战性

  3. 解释性:结果可能难以解释或验证

  4. 数据方差:聚类性能可能受到数据缩放和方差的显著影响

来源:5-Clustering/2-K-Means/README.md211-235

无监督学习的应用

课程通过以下方式展示了无监督学习的应用:

  1. 音乐分析:根据音频特征对尼日利亚歌曲进行聚类,以发现音乐偏好模式

  2. 客户细分:通过评论分析了解酒店客户群体

  3. 模式发现:在没有预定义类别的情况下,在数据中寻找自然分组

  4. 数据准备:使用聚类作为监督学习任务的预处理步骤

来源:5-Clustering/README.md1-29 5-Clustering/1-Visualize/README.md11-29 6-NLP/5-Hotel-Reviews-2/README.md110-126

结论

无监督学习,特别是 K-Means 等聚类技术,为发现未标记数据中的模式提供了强大的工具。ML-For-Beginners 课程通过在音乐数据分析和自然语言处理中的实际应用,探讨了这些技术,让学生亲身体验实现和评估无监督学习模型。

课程的下一部分将探讨专门的机器学习应用,从 自然语言处理 开始。