机器学习-降维

数据降维的主要方法:
投影和流形学习

投影:
高维空间的所有训练实例实际上(或近似于)受一个低得多的低维子空间所影响
投影并不是降维的最佳方法。许多情况下,许多情况下,子空间可能会弯曲或转动,比如
著名的瑞士卷玩具数据集
简单地进行平面投影会直接将瑞士卷的不同层压扁在一起。

d维流形就是n维空间的一部分,局部类似于一个d维超平面。在瑞士卷的例子中,d=2,n=3:它局部类似于一个2D平面,但是在第三个维度卷起。

流形学习:
许多降维算法是通过对训练实例进行流形建模来实现的,这被称为流形学习。

PCA
主成分分析(PCA)是迄今为止最流行的降维算法。

将训练集投影到低维超平面之前,需要选择正确的超平面。选择保留最大差异性的看起来比较合理,比其他方式丢失的信息更少。
或者,比较原始数据集与其轴上的投影之间的均方距离,使这个均方距离最小的轴是最合理的选择。
PCA流程:
在这里插入图片描述
例:
在这里插入图片描述
主成分
轴的数量与数据集维度数量相同
定义第i条轴的单位向量就叫作第i个主成分。第一个主成分是c1,第二个主成分是c2.

标准矩阵分解技术,奇异值分解
它可以将训练集矩阵X分解成三个矩阵的点积USV,其中V包含我们想要的所有主成分

主成分矩阵
下面的python代码使用numpy的svd()函数来获取训练集中所有的主成分,并提取前两个

x_centered = x - x.mean(axis=0)
u,s,v = np.linalg.svd(x_centered)
c1 = v.T[:, 0]
c2 = v.T[:, 1]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章