ESL读书笔记14章:无监督学习之SOM,PCA,NMF,FA,ICA,MDS,ISOMAP,Local MDS
笔者自己的理解,无监督学习是挖掘数据自身的分布,找出一种低维的具有代表性或者某种性质的子空间(流形)。SOM是一种加约束的k-means,既可以看做是寻找具有代表性的特征点,也可以看做是寻找具有代表性的二维流形曲面。PCA是非常经典的最小化投影误差的子空间,也可以看做最大化投影方差的子空间。NMF则是基于假设最大化似然的同时,限制基向量非负。FA也是寻找某种子空间,目的是得到uncorrelated的基向量,并用变换矩阵近似实际观测值中的相关性。ICA同样是寻找子空间,但进一步要求基向量independent(此假设强于uncorrelated),不能用于高斯分布的数据,使得基向量不能随意旋转。MDS则是直接寻找保距的低维子空间,即子空间投影之间的距离尽可能与原空间相同。ISOMAP以及Local MDS是MDS的局部版本,旨在更好的保留数据的流形分布。
其中SOM是聚类算法,只能找到离散的特征点来近似数据分布;PCA、NMF、MDS、ISOMAP、Local MDS等则是寻找一个低维流形空间近似数据分布;FA以及ICA不仅可以得到线性子空间,而且还可以基于假设得到数据分布的概率密度。
Self-Organizing Map (SOM)
参考资料:https://youtu.be/w1XMiZg1m8Y
SOM可以看做是k-means的约束版本,即不同于k-means所有特征点之间毫无关联,SOM的特征点位于某个假象的方格上面,各个特征点之间基于方格上的距离存在不同程度的关联。
SOM的具体算法是先假象有一个方格(
基于不同的距离度量,更新时各个特征点的权重赋予,以及每次处理的数据点的多少 可以构造不同的SOM算法。每种算法都保证了SOM的保距性质,即观测空间中相近的数据点投影到方格空间中相近的特征点。
最简单的方法如下:
根据距离赋予特征点更新权重的方法如下:
batch版本如下:
Principle Component Analysis (PCA)
主成分分析法非常常见常用,以至于Ng认为它被过度滥用了。有很多种对PCA结论的解释,这里仅阐述两种:最小化投影误差,以及最大化投影方差。
首先,常见的数据预处理步骤包括数据平移(减均值),以及缩放(除以方差)。故以下分析中存在多解的情况,均以方便以上假设成立的情况下进行求解。
PCA寻找的是低维线性子空间,故存在一组正交基
任意向量
对
构造
即最小化投影误差等价于最大化投影方差:令
进而最大化上诉公式,同时满足约束
从而
实际使用中不需要求取
Principle Curve and Surface
参考资料:https://web.stanford.edu/~hastie/Papers/Principal_Curves.pdf
原论文中称Principal curves are smooth one-dimensional curves that pass through the middle of a p-dimensional data set, providing a nonlinear summary of the data. They are nonparametric, and their shape is suggested by the data。 笔者并不是很理解这个principle的存在,但是大概理解principle curve是对数据的总结,其形状和位置的信息量较大。
具体的定义如下:Principle Curve是观测空间
不考虑smooth限制,principle curve可以有无数条,这里仅考虑平滑的情况。我们采用迭代法求取principle curve,算法如下:
第一步先更改
而Principle Surface则是去求一个观测空间
Principle Surface与SOM得出的结果很类似,在使用特定平滑核函数的情况下Principle Surface和SOM的算法相同。Principle Surface为每个数据点求取一个投影点
Non-negative Matrix Factorization (NMF)
非负矩阵分解求取
通过满足
迭代算法如下:
限制非负的目的是为了更好的得到可解释性,但此分解仍然存在基向量任意旋转的问题,即
在人脸图像中应用VQ(类k-means)、PCA以及NMF得到的结果如下:
可以发现NMF更倾向于与对图像进行区块分解,而每张图片为各个部位的组合。值得注意的是PCA和NMF都具有基向量任意选取的问题(因为都是线性子空间的基向量选取,以及NMF还未限制正交),分析解释各个基向量是存在风险的。
Factor Analysis (FA)
关于FA的介绍请参考:CS229课程笔记13:Factor Analysis简介。
简单地说,FA为因子分解,即同样是求解子空间。但不同于PCA最小化投影误差和NMF限制基向量非负等,FA对基向量做出了假设。其假设
Independent Component Analysis (ICA)
注意到
具体地,同样假设
其中
注意到高斯分布的信息熵最高,最小化上诉各维分布的信息熵和等价于最大化其与高斯分布信息熵的差:
其中
为了方便求解,可以对上诉损失函数进行近似,得到快速ICA算法。
Multi-Dimensonal Scaling (MDS)
直接求取原空间
一些变化的算法损失函数有:
使得算法相对更注重于保持距离较小的数据点之间的距离。
另外还可以注重保留数据点之间的相似性:
使用梯度下降法对
Non-linear Dimension Reduction
此部分算法假设高维空间中数据点都位于某个低维流形附近(这个假设通常是成立的,因为特征通常是某些实际控制量的非直接度量,考虑图像
注意到MDS中若使用常用的范数作为距离度量,会使得算法使用过多的高维空间中距离信息,而忽略了流形的信息,例子如下:
以下三个算法均是通过缩减数据视野的局部算法,期待得到更好的流形表示:
1. ISOMAP:是更改距离度量方法的保距降维方法。其使用的距离度量方法是首先构造关联图,将物理距离较小的各个点之间连接起来;然后任意两点之间的距离即为关联图中的最小路径长度。
2. Local linear Embedding:即不是保持距离相近,而是保持每个点与周围点之间的关系不变。具体做法如下:
3. Local MDS:主要注重保持较短的距离,对于较长的距离则权重较小,而且对其进行截断。具体算法如下: