歸一化的理解:簡單理解為縮放(可以當成歸1化),將模型參數(shù)(theta) 的取值區(qū)間調整到[0-1]。
目的或者意義:正常情況下,模型參數(shù)(theta)的取值范圍是負無窮到正無窮之間。梯度下降法中,梯度(grandients)是一個向量,每一項g(j)都需要求導找到第J列的梯度值。根據(jù)損失函數(shù)求導的到導函數(shù) (y^-y)*Xj。根據(jù)導函數(shù)可知 梯度的值收到Xj的影響,即Xj越大梯度值就越大。在求梯度的時候,導致每一次下降的步伐越大(theta1 = theta0 - learning_rate * g) 。但是,實際上根據(jù)公式 y = w0 + w1*x1 + w2*x2 ......+wn*xn,可理解到,當y的值不變,x值越大與其對應的theta值越小。實際上于公式推導出的結果相矛盾。在不做歸一化的情況下,會出現(xiàn)一種情況即在 x2>>x1的時候,theta2>>theta1,下降的幅度learning_rate * g2 >>?learning_rate * g1。同事theta2 實際的值要遠遠小于 theta1的值,這個時候當theta2已經(jīng)找到最優(yōu)解g2的時候,g1還遠遠沒有找到(原因是theta2實際的值很大,但是梯度下降幅度很?。?。當g1還在梯度下降找最優(yōu)解的時候,g2可能在最優(yōu)解左右兩邊來回震蕩。這些計算量是沒有意義的浪費。
結論:在做了歸一化后,使得所有的模型參數(shù)求梯度的過程中同時開始,同時結束。 不浪費