首页 > 编程知识 正文

机器学习 之PCA主成分分析与拉格朗日乘子

时间:2023-05-04 11:54:10 阅读:273169 作者:2800

PCA能做的事其实很有限,那就是:降维。为什要降维呢?很明显,数据中有些内容没有价值,这些内容的存在会影响算法的性能和准确性。


看这两个图,就说明了降维的意义,越降维,维度就会越有意义。这样只取x2的值(投影),就从二维降维到了一维。主成分分析可以让数据的投影到那些数据分布尽可能分散(信息最大)的平面上,比如上图的y1,从而忽视y2的作用,进而达到降维的目的。

说是降维,实际上就是坐标变换+去掉一些坐标,降维函数实际上一个 W W W就可以了。降维不是简单去除某一特征,而是合并两个相似的特征成为一个特征。

下面说明PCA做法
首先这里有n行样本,每行样本有m个特征,我们想把它压缩成k个。
然后求出每列的均值,然后用每列减之。
然后求这个矩阵的列协方差矩阵(mm的矩阵了)。
然后求这个协方差矩阵的特征值,一共m个。
我们挑取前k个,算出其特征向量,组成mk的矩阵。
然后用被减去均值的矩阵乘之,就是最后的结果。
参考:
https://www.cnblogs.com/edver/p/5173607.html

每日小常识:
拉格朗日乘子实际上就是找寻限制的关系

实际上上面的圆是梯度,实际上是三维的(x,y都是自变量),这样越往里越高,很明显限制g切最核心的是 d 1 d_1 d1​圈,这是它能到达的最高位置,这个位置就是最好的位置,如何求呢?

可以观察到二者的切线相同,原理都懂,那么到底怎么做呢?本质就是,二维函数的梯度向量(一维函数叫法向量,但梯度向量不局限于水平的平面上)与一维函数的法向量平行,因此它们是倍数关系。实际上,我们可以将限制函数也拆成二维函数,将法向量变成梯度向量(密度向量),然后联立:

实际上对x与y分别求导,求导出来的就是梯度向量。并不是降维反而是升维。

变形是很常见的:

为什么这样呢?其实上上面求导是三个方程,这里也是三个方程,表面上其实并没有什么含义,只不过是恰好可以一个式子表示罢了。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。