作者:Angels萱萱 | 来源:互联网 | 2023-01-20 18:28
很多人都了解PCA算法,但是总很难直观上去想象和理解整个过程,特别是为什么特征向量可以作为一个PCA特征空间变换后的一个基?特征向量和特征值到底怎么理解?也许很
很多人都了解PCA算法,但是总很难直观上去想象和理解整个过程,特别是为什么特征向量可以作为一个PCA特征空间变换后的一个基?特征向量和特征值到底怎么理解?
也许很多人查了很多文章和书籍,但是它们几乎没有直面回答。就连解释特征向量和特征值也都是搬特征值分解公式:(XX^T)w=lambda*w。这种解释是苍白无力的,我们依然不能直观理解特征向量和特征值。也有文章将XX^T当做变换矩阵,并从特征向量w的缩放上试图说明,然而依然不能解释透彻(就我而言),更难回答第一个问题“为什么特征向量可以作为一个PCA特征空间变换后的一个基?”
下面的解释过程不是很严谨,反过来却适合直观上去找找感觉。首先我先列个思路:
1.协方差矩阵表示什么?
2.特征向量为什么能表示协方差矩阵特性?特点?
3.扣住常识的特征值分解公式,把故事说圆
4.特征向量为什么能作为PCA变换后特征空间的一个基?
5.特征值部分扣住第四点
=================================
直观理解协方差矩阵
首先将X表示样本特征矩阵R^{d*n}, XX^T 表示为协方差矩阵(注意X已中心化),元素 (XX^T)_ij 的值反映在特征 i 维度和特征 j 维度上对应样本分布一致性程度(其实XX^T反映了两两特征在样本空间间的距离,再深入一点,就反映这里的样本分布一致性)。比如 a、b和c 三个样本,在特征 i 维度和特征 j 维度上投影的值分别为 a_i、b_i和c_i(假设特征 i 维度 上三个样本的分布情况为 a_i>b_i>c_i ,且a_i-b_i>b_i -c_i ),a_j、b_j和c_j,如果 (XX^T)_ij 比较大,那么在特征 j 维度 上三个样本的分布情况也大致符合为a_j>b_j>c_j,且a_j-b_j>b_j -c_j。
=================================
直观理解特征向量
这里要强调的是我们全文讲的特征向量是特指协方差矩阵的特征向量(当然也可拓展到其他矩阵)。如果现在存在特征 k ,使得:对于大多特征 i (特征 i 属于特征集合),(XX^T)_ik 都很大。这说明特征k有以下特性:
- 有代表性,能代表大多特征维度上的样本分布。(这或许是很多资料没有强调的)
- 样本普遍在特征k维度上投影的值差异相对其他特征比较大(一定程度反映方差大)。为什么差异比较大?直观上的理解比价简单,比如假设有 k、k1和k2 三个特征,它们上面的样本分布比较一致,但是 (XX^T)_k1 和 (XX^T)_k2k 还是大于(XX^T)_k1k2,那就说明特征k维度上样本投影的值(再次强调已中心化)除了和 k1、k2 比较一致外,而且幅值比较大。
好了,那怎么理解特征向量,很多地方只会列出那个特征分解的公式来定义,但在我看来甚至对很多人来讲并不能解渴。现在有某个向量 w,若在对应的第 k 个分量值比较大,那么 (XX^T)w 得到的向量的各个分量的值普遍比较大,我们用 lambda*w 来表示(约束),其中的lambda比较大。这样的w 向量我们就把它当做特征向量,因为它反映了 XX^T 中样本分布的特性(通过强调特征k,而特征k有代表性)。我们可以用特征向量作为PCA变换后特征空间的一个基,因为把它作为变换向量能使样本投影的方差大,满足最大可分性(通过强调特征k,而特征k上样本方差大) 。
至此直观解释了:
特征向量到底怎么理解
为什么特征向量可以作为一个PCA变换后特征空间的一个基
=================================
直观理解特征值
前一部分的lambda就是特征值,w 的lambda越大,w越能反映XX^T中样本的分布特性。这恰说明w上样本投影值得方差比较大,信息比较明确,该w上的样本投影可以作为一个特征维度用于分类等任务。
=================================
上面的解释过程不是很严谨,反过来却适合直观上去找找感觉。希望对大家有帮助,欢迎留言交流