请稍等 ...
×

采纳答案成功!

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

为什么不进行feature scaling,会导致梯度下降不收敛?

老师,您能从数学层面,直观解释下,为什么不进行数据归一化,导致theta值过大吗?

正在回答

1回答

liuyubobobo 2020-01-31 11:56:04

更准确的说,是在有限迭代次数下,不收敛的概率变高了。


这是因为不进行数值归一化,数据点的分布可能很广,所以会加大搜索时间。


但是,是否归一化,是不影响梯度下降法的收敛性的。如果归一化以后能收敛,那么不归一化一定也能收敛,只不过可能需要的迭代时间更长。在 sklearn 中,迭代次数是一个参数,可调节(max_iter)


这也就是我在课程中说的,归一化能提高梯度下降的速度。


继续加油!:)

0 回复 有任何疑惑可以回复我~
  • 提问者 chanchan666 #1
    我明白了,如果每个特征不在同一纬度下,-η的值可能对某个纬度来说步长太大,对有的纬度坑步长又太小。如果-η是一个向量,针对每个纬度有自己合适的步长。会不会更好?
    回复 有任何疑惑可以回复我~ 2020-01-31 14:29:52
  • liuyubobobo 回复 提问者 chanchan666 #2
    赞!总结的很对。你的想法可以,但本质和归一化达到的目的是一样的,而归一化实现起来更简单:)
    回复 有任何疑惑可以回复我~ 2020-01-31 14:34:29
  • 提问者 chanchan666 #3
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-01-31 14:47:06
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信