请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师 PCA(svd_solver='randomized')对应前面PCA计算的哪个步骤的?

前面是用的梯度上升法求使得方差目标函数的最大值来计算第一主成分的,这里用的SVD,是不是和之前的方法完全不一样?

正在回答

2回答

liuyubobobo 2018-02-27 13:44:23

是的。计算方法完全不同。PCA有相应的数学解法,不过涉及相对比较复杂的数学知识。为了避免在这个初级课程中引入过多的数学介绍,在这个课程中,我们使用梯度上升的方法,相当于是在使用搜索的策略,求解的PCA问题:)

2 回复 有任何疑惑可以回复我~
  • 提问者 神经旷野舞者 #1
    这个数学解是精确的吗,不像梯度法是一个最优解,就像之前有个地方也是数学解的那个?
    回复 有任何疑惑可以回复我~ 2018-02-27 13:46:58
  • liuyubobobo 回复 提问者 神经旷野舞者 #2
    计算机实现的数值方法都存在误差;另一方面搜索得到的解也是可以设置精度的。关键区别不在于精确与否,两种方法都能获得同样的精度。关键在于获得同一精度的性能消耗。在PCA问题上,数学解会更优。
    回复 有任何疑惑可以回复我~ 2018-02-27 13:52:15
  • 寅时猛抽风 回复 提问者 神经旷野舞者 #3
    svd指的是奇异矩阵,svd_slover应该是指定求解这个矩阵所使用的方法,后面的参数说明是按照随机的方式求解。有点类似之前的批量梯度下降和随机梯度下降!  具体的PCA要看统计学里的相关系数还有线性代数中的特征向量特征值这些东西,我终于把第七章刷完了,一度感觉看不下去了。
    回复 有任何疑惑可以回复我~ 2018-08-24 05:39:21
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信