引言

本文主要探讨无监督学习的线性方法(Linear Methods)。

聚类

李宏毅机器学习——无监督学习(一)_二维

把很多不同的图像,根据它们的相似度分成不同的组(类别),问题是要分成多少个组。

最常用的方法有:

K-means

  • 聚类李宏毅机器学习——无监督学习(一)_数据_02个数据李宏毅机器学习——无监督学习(一)_数据_03李宏毅机器学习——无监督学习(一)_机器学习_04个组
  • 初始化李宏毅机器学习——无监督学习(一)_机器学习_04个分组中心点:李宏毅机器学习——无监督学习(一)_机器学习_06,可以从李宏毅机器学习——无监督学习(一)_机器学习_07中随机李宏毅机器学习——无监督学习(一)_机器学习_04个点出来
  • 重复
  • 李宏毅机器学习——无监督学习(一)_数据_09中的所有数据李宏毅机器学习——无监督学习(一)_数据_10:如果李宏毅机器学习——无监督学习(一)_数据_10最接近李宏毅机器学习——无监督学习(一)_二维_12,那么李宏毅机器学习——无监督学习(一)_数据_10就属于李宏毅机器学习——无监督学习(一)_二维_12,同时令李宏毅机器学习——无监督学习(一)_数据_15;否则令李宏毅机器学习——无监督学习(一)_数据_16
  • 更新所有的中心点李宏毅机器学习——无监督学习(一)_机器学习_17

层次凝聚聚类算法(Hierarchical Agglomerative Clustering,HAC)

  • 步骤一:建一个树

李宏毅机器学习——无监督学习(一)_二维_18


假设有5个样本,这种方法怎么聚类呢,首先把这5个样本相互之间计算相似度,然后选择最相似的两个合并成一个新的样本6。现在只剩下4个样本了,再计算之间的相似度,把最相似的两个数据合并起来,这里假设是4,5合并成了7。同理,最后只剩2个样本8和7。它们之间有共同的父节点root。

  • 步骤二:选取一条分割线(threshold)

李宏毅机器学习——无监督学习(一)_机器学习_19


假设像上面这样切一刀,那么就得到三个分组。

降维(Dimension Reduction)

李宏毅机器学习——无监督学习(一)_数据_20

假设你的数据从三维空间看是长这样的,但是用三维来描述它是不必要的。可以通过二维的图像来描述它。

李宏毅机器学习——无监督学习(一)_数据_21

比如在MNIST的手写数字识别中,一个图像有28*28的。实际上其中大多数像素点代表的东西并不是数字,可能是空白啥的。
一个极端的例子是把数字三按不同的角度进行旋转。

李宏毅机器学习——无监督学习(一)_机器学习_22

只要知道其中一幅图像和它的角度,就可以知道其他图像。

那怎么做降维呢。

还是要找到一个函数,它的输入是向量李宏毅机器学习——无监督学习(一)_数据_23,输出是向量李宏毅机器学习——无监督学习(一)_二维_24,其中李宏毅机器学习——无监督学习(一)_二维_24的维度必须必李宏毅机器学习——无监督学习(一)_数据_23小。

李宏毅机器学习——无监督学习(一)_二维_27

其中最简单的方法是特征选择(Feature selection)

李宏毅机器学习——无监督学习(一)_相似度_28


最简单的情况是,李宏毅机器学习——无监督学习(一)_机器学习_29这个维度的特征完全没用,我们就可以直接只选择李宏毅机器学习——无监督学习(一)_数据_30这个维度。但是这种情况比较罕见。通常每个维度或多或少都有一定的作用。

有一种常见的方法叫主成分分析(Principle component analysis,PCA)

这个李宏毅机器学习——无监督学习(一)_机器学习_31是个很简单的线性函数,输入李宏毅机器学习——无监督学习(一)_数据_23和输出李宏毅机器学习——无监督学习(一)_二维_24之间的关系,就是一个线性的转换。
现在要做的事情就是根据很多输入,找出这个李宏毅机器学习——无监督学习(一)_数据_34

假设我们要降到1维的情况。此时李宏毅机器学习——无监督学习(一)_二维_24就是一个标量,李宏毅机器学习——无监督学习(一)_数据_34是行向量:

李宏毅机器学习——无监督学习(一)_相似度_37 ,李宏毅机器学习——无监督学习(一)_相似度_38表示李宏毅机器学习——无监督学习(一)_数据_34的第一行,我们把李宏毅机器学习——无监督学习(一)_数据_23李宏毅机器学习——无监督学习(一)_相似度_38做内积,得到李宏毅机器学习——无监督学习(一)_相似度_42

假设李宏毅机器学习——无监督学习(一)_相似度_38的长度是1,李宏毅机器学习——无监督学习(一)_二维_44

李宏毅机器学习——无监督学习(一)_数据_45

意味着李宏毅机器学习——无监督学习(一)_相似度_42李宏毅机器学习——无监督学习(一)_数据_23李宏毅机器学习——无监督学习(一)_相似度_38上的投影。

现在问题是应该选哪个李宏毅机器学习——无监督学习(一)_相似度_38

李宏毅机器学习——无监督学习(一)_数据_50

假设上图中的每个点代表一只宝可梦,横坐标是攻击力,纵坐标是防御力。把二维投影到一维,应该要选什么样的李宏毅机器学习——无监督学习(一)_相似度_38

李宏毅机器学习——无监督学习(一)_相似度_52

上图的两个带箭头的直线代表两个不同的李宏毅机器学习——无监督学习(一)_相似度_38,我们希望经过投影后得到的李宏毅机器学习——无监督学习(一)_相似度_42分布越大越好。即经过投影后还能保持数据点之间的区别。

在上面的例子中,可以看出如果选择红线,点的分布会大一点。

李宏毅机器学习——无监督学习(一)_机器学习_55


选择的李宏毅机器学习——无监督学习(一)_相似度_38可能是具有具体意义的,比如这里这个李宏毅机器学习——无监督学习(一)_相似度_38代表宝可梦的强度。

如果用式子来表示的话,就是需要最大化李宏毅机器学习——无监督学习(一)_相似度_42的方差:

李宏毅机器学习——无监督学习(一)_数据_59

如果想投影到二维的平面上,这是把李宏毅机器学习——无监督学习(一)_数据_23和另外的李宏毅机器学习——无监督学习(一)_数据_61做内积可以得到李宏毅机器学习——无监督学习(一)_二维_62

首先李宏毅机器学习——无监督学习(一)_数据_61的长度也是1。

李宏毅机器学习——无监督学习(一)_二维_64

同时也要最大化李宏毅机器学习——无监督学习(一)_二维_62。但是如果仅仅是这样那不就和找李宏毅机器学习——无监督学习(一)_相似度_38的做法是一样的,因此这里需要增加一点东西,我们限制李宏毅机器学习——无监督学习(一)_数据_67,即它们之间的内积是0。

参考

  1. ​李宏毅机器学习​