首页 » python机器学习 » python机器学习全文在线阅读

《python机器学习》1.2.3 通过无监督学习发现数据本身潜在的结构

关灯直达底部

在监督学习中,训练模型之前,我们事先可以获知各训练样本对应的目标值。在强化学习中,可以由Agent定义反馈函数对特定行为进行判定。然而,在无监督学习中,我们将处理无类标数据或者是总体分布趋势不明朗的数据。通过无监督学习,我们可以在没有已知输出变量和反馈函数指导的情况下提取有效信息来探索数据的整体结构。

1.通过聚类发现数据的子群

聚类是一种探索性数据分析技术。在没有任何相关先验信息的情况下,它可以帮助我们将数据划分为有意义的小的组别(即簇(cluster))。对数据进行分析时,生成的每个簇中其内部成员之间具有一定的相似度,而与其他簇中的成员则具有较大的不同,这也是为什么聚类有时被称为“无监督分类”。聚类是获取数据的结构信息,以及导出数据间有价值的关系的一种很好的技术,例如,它使得市场人员可以基于用户的兴趣将其分为不同的类别,以分别制定相应的市场营销计划。

下图演示了聚类方法如何根据数据的x1及x2两个特征值之间的相似性将无类标的数据划分到三个不同的组中。

2.数据压缩中的降维

数据降维(dimensionality reduction)是无监督学习的另一个子领域。通常,我们面对的数据都是高维的(每一次采样都会获取大量的样本值),这就对有限的数据存储空间以及机器学习算法性能提出了挑战。无监督降维是数据特征预处理时常用的技术,用于清除数据中的噪声,它能够在最大程度保留相关信息的情况下将数据压缩到一个维度较小的子空间,但同时也可能会降低某些算法在准确性方面的性能。

降维技术有时在数据可视化方面也是非常有用的。例如,一个具有高维属性的数据集可以映射到一维、二维或者三维的属性空间,并通过三维或二维的散点图和直方图对数据进行可视化展示。下图展示了一个使用非线性降维方法将三维的Swiss Roll压缩到二维特征子空间的实例。