CYJ0go 2019-01-29
无监督学习是一组统计工具,用于只有一组特征而没有目标的情景。因此,我们无法进行预测,因为每个观察都没有相关的响应。我们感兴趣的是找到一种有趣的方法来可视化数据或发现类似观察的子组。
无监督学习往往更具挑战性,因为分析没有明确的目标,而且往往是主观的。此外,很难评估获得的结果是否良好,因为没有公认的机制来对独立机器学习数据集执行交叉验证或验证结果,因为我们不知道真正的答案。
本文将重点介绍两种技术:主成分分析和聚类。
PCA指的是计算主成分并用于更好地理解机器学习数据集中数据的过程。PCA也可用于可视化。
什么是主成分?
假设你希望用一组p特性(作为探索性数据分析的一部分)对n个观测值进行可视化。我们可以一次检查2个特征的2D散点图,但是如果有很多预测因子,就会很难可视化。
通过PCA,我们可以找到一个低维空间的数据集,它包含了尽可能多的变化。我们将获得最感兴趣的特征。
如何找到主要成分?
第一个主成分是具有最大方差的特征的归一化线性组合:
第一主成分方程
符号Φ称为loadings。loadings必须最大化:
聚类是指用于在数据集中查找子组或clusters的一组广泛技术。这有助于我们将观察分成不同的组,以便每个组包含彼此相似的观察。例如,在乳腺癌的情景中,分组可以代表肿瘤级别。在市场细分的市场营销中,它也非常有用,因为它可以识别出更容易接受某种产品的人群。
有许多聚类方法,但我们将专注于k-means聚类和层次聚类。在k-means聚类中,我们希望将数据划分为预先指定的数量为K的聚类。另一方面,通过层次聚类,我们不知道需要多少个聚类,我们想要一个树状图,它允许我们查看每个可能数量的聚类获得的所有聚类。
k - means聚类
该方法简单地将观测数据分离为K个聚类。假设:
此外,每个聚类内的变化最小化。
如何根据指定聚类的数量对观察进行聚类
这是通过最小化聚类内每个观测值之间的欧几里德平方距离的总和来实现的:
k - means聚类的优化函数
为了最小化,我们遵循以下算法:
1.随机选取K个种子点。这些用作观测的初始聚类分配。
2.迭代直到聚类分配停止更改:
请注意,上述算法将找到局部最小值。因此,获得的结果将取决于初始随机聚类分配。因此,多次运行算法很重要。
k-means聚类的潜在缺点是它需要人工输入来指定聚类的数量。层次聚类不需要初始数量的聚类。
最常见的层次聚类类型是自下而上的。这指的是树形图是从叶子开始生成的,并将聚类组合到树干上。
树形图的例子
该算法实际上非常简单。它首先定义每对观测值之间的不同度量值开始,如欧氏距离。然后,它首先假设每个观测都属于它自己的聚类。然后,融合两个最相似的聚类,所以有n-1个聚类。然后,融合其他两个相似的聚类,产生n-2个聚类。迭代地重复该过程,直到所有观测结果都是单个聚类的一部分。
虽然简单,但有些问题没有得到解决。如何定义聚类之间的不相似性度量呢?最常见的四种连接方式如下表所示:
最常见的四种连接方式
Complete,Average和Centroid是最常用的连接类型,因为single 接倾向于产生不平衡的树状图。请注意,得到的树状图很大程度上取决于所用连接的类型。
连接对最终树状图的影响
此外,选择合适的不同度量也很关键。如果两个特征高度相关,则认为两个特征是相似的。
Observation 1 and 2是高度相关的
例如,假设在线零售商有兴趣根据过去的购物历史对购物者进行聚类。目标是确定类似购物者的子群,以便向他们展示可能感兴趣的广告。使用欧几里德距离,那些购买了少量物品的购物者将聚集在一起,这可能不是理想的情况。使用基于相关性的距离,具有相似偏好的购物者(他们购买物品A和B,但没有购买物品C和D)将被聚集在一起。
在所有情况下,我们仍然需要人工输入来确定层次聚类完成后要使用的集群的最终数量。