天天看點

為什麼歸一化能提高梯度下降法求最優解的速度?

整體思路:

<1> 損失函數公式–>參數更新公式表達;

<2> 參數、損失函數等高線圖由來與解釋;

<3> “合力”下山的過程圖。

<1> 損失函數公式–>參數更新公式表達

假設模型為:

為什麼歸一化能提高梯度下降法求最優解的速度?

,,,其中x1,x2表示的是每條樣本的兩個次元,這個模型有兩維特征。其中真實值為yi。

是以,損失函數為:

為什麼歸一化能提高梯度下降法求最優解的速度?

,即

為什麼歸一化能提高梯度下降法求最優解的速度?

。因為目的是最小化損失函數,是以可以去除常數項,得:

為什麼歸一化能提高梯度下降法求最優解的速度?

更新參數w1,w2.更新w1,

為什麼歸一化能提高梯度下降法求最優解的速度?

,其中C1,C2 分别表示所有訓練集第一次元的資料之和、所有第二次元的資料之和。

<2> 參數、損失函數等高線圖由來與解釋

每個次元的資料量級有可能是不一樣的,根據更新參數的公式可得,數量級較大的次元對應的參數wj更新得會更快,更新的步長會比較大。假如第一次元的資料量級很大,第二次元的資料量級很小,那麼它們對應的參數w1,w2與損失函數等高線如圖,紅點位置表示損失函數的最小值(“窪點”),此時的參數組取值也是最優參數組:

為什麼歸一化能提高梯度下降法求最優解的速度?

<3> “合力”下山的過程圖

初始化參數w1,w2,每次疊代時走的長度和方向由w1,w2參數走的方向以及各自走的距離的”合力”決定,如下圖,是以歸一化後損失函數優化過程比較平滑,整體損失都是沿最陡的方向下降,優化的速度比較快。

為什麼歸一化能提高梯度下降法求最優解的速度?

繼續閱讀