关于PCA原理的一个问题

来源:7-1 什么是PCA

zyczxl

2019-08-13

图片描述
整个过程应该是逆推求w的过程,但是w在未知的情况下如何得出X(i)映射在w上的长度?同时正中间根据公式,难道只是求他们点乘长度平方的平均值就可以推出w?
整个过程还是有一些不理解,希望老师解惑。

写回答

1回答

liuyubobobo

2019-08-13

我们只需要求出w的方向。因为w代表一个坐标轴,对于2维数据,我们要求的第一主成分,就是下图中的红色向量方向。对于坐标轴,我们知道方向就好了。

//img.mukewang.com/szimg/5d521a87099c9a2320041120.jpg


所以,我们让w的长度为1,所以,我们从第1个式子可以到第2个式子。仔细观察,这两个式子,就是把||w||扔掉了,因为||w||=1

//img1.sycdn.imooc.com/szimg/5d5219ec0932056f06300356.jpg


==========


你的第二个问题:“为什么求出的这个w就是对应的var(X)的最大值?”


我们只靠上面的 ppt 是求不出 w 的。用一组实际的数据,试试看?


实际上,我们是搜索,找到一个 w,让所有的 Var(X_project)最大,这也就是课程下一页 ppt 的内容:

//img1.sycdn.imooc.com/szimg/5d52240f09f601a820021116.jpg



继续加油!:)

0
2
liuyubobobo
回复
zyczxl
x2平方+y2平方=1 确实是一个等式,但是w=x1*x2+y1*y2=|X|*|w|*cosθ=X不是等式。准确地讲,是w=x1*x2+y1*y2=|X|*|w|*cosθ=X_project,X_project是未知的,所以,分析到这里,我们求不出w。但是,我们求出了如何用w表示X_project,之后,我们就可以使用梯度上升法,找到w,让X_project尽量大,也就是课程下一页ppt的内容,我补充在原答案上了。继续加油!:)
2019-08-13
共2条回复

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5893 学习 · 2454 问题

查看课程