采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
整个过程应该是逆推求w的过程,但是w在未知的情况下如何得出X(i)映射在w上的长度?同时正中间根据公式,难道只是求他们点乘长度平方的平均值就可以推出w? 整个过程还是有一些不理解,希望老师解惑。
我们只需要求出w的方向。因为w代表一个坐标轴,对于2维数据,我们要求的第一主成分,就是下图中的红色向量方向。对于坐标轴,我们知道方向就好了。
所以,我们让w的长度为1,所以,我们从第1个式子可以到第2个式子。仔细观察,这两个式子,就是把||w||扔掉了,因为||w||=1
==========
你的第二个问题:“为什么求出的这个w就是对应的var(X)的最大值?”
我们只靠上面的 ppt 是求不出 w 的。用一组实际的数据,试试看?
实际上,我们是搜索,找到一个 w,让所有的 Var(X_project)最大,这也就是课程下一页 ppt 的内容:
继续加油!:)
我懂了。根据中学的公式:X(x1,y1) , w(x2,y2) X点乘w=x1*x2+y1*y2=|X|*|w|*cosθ=X在w上映射的长度 x1,y1已知,x2,y2未知我之前认为一个等式不能求两个未知量,但是我忘了x2平方+y2平方=1,这个就能求解w(x2,y2) 而为了最高的区分度,所以求var(X)即(整个距离原点(0,0)平方和的最大值的平均值),就是图中的公式是吧. 我第二个问题可能表达的不太清楚,应该这么问:我们可以根据提供的数据集X求出向量w没有问题,但是为什么求出的这个w就是对应的var(X)的最大值?我真的不太理解。
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的内容,我补充在原答案上了。继续加油!:)
登录后可查看更多问答,登录/注册
Python3+sklearn,兼顾原理、算法底层实现和框架使用。
2.6k 19
3.5k 17
3.0k 15
1.7k 15
1.5k 14