機器學習初學者筆記(二)

7 工作流程:

輸入一個x,然後通過學習算法能夠輸出函數H,進而預測y。 這裏的函數H是假設函數是一個引導x到y的函數。

8 如何決定函數h?通過利用代價函數

若有訓練集以及一個函數,則代價函數爲 (這裏m前有2是爲了方便求導,下一步需要求解其最小值以使\theta_{0}, \theta_{1}最優。求解最小化J函數爲cost function。

9  如何確定代價函數的最小值對應的\theta_{0}, \theta_{1}最優?  利用梯度下降法

梯度下降法的思想是:開始時隨機給定一個參數的組合 ,計算代價函數,然後尋找下一個能讓代價函數值下降最多的參數組合,持續這麼做直到到到一個局部最小值。由於給定的初始值不同 則其局部最優解也不同。

梯度下降法的公式爲:{\theta_{j}}:={\theta_{j}}-\alpha \frac{\partial }{\partial {\theta_{j}}}J\left(\theta \right)    其中\alpha爲學習率,在這個式子中最重要的是做到同步更新

對於這個式子,就是對 賦值,使得 按梯度下降最快方向進行,一直迭代下去,最終得到局部最小值。

如圖所示 求導部分就是在某一點進行求導如圖中的紅色直線,求完導數後,得到的新的 更新後等於 減去一個正數乘以

對於學習率\alpha。如果它太小了,結果就是隻能一點點地挪動,去接近最低點,這樣就需要很多步才能到達最低點,導致所花費的時間過多。

如果其太大,那麼梯度下降法可能會越過最低點,甚至可能無法收斂,下一次迭代又移動了一大步,越過一次,又越過一次,一次次越過最低點,直到發現實際上離最低點越來越遠,所以,如果學習率太大,它會導致無法收斂,甚至發散。

那麼學習率的選擇對於梯度下降法則非常重要。但在梯度下降過程中,不需要更改學習率,原因如下:

隨着梯度下降法的進行,導數(斜率)會逐漸減小,如圖所示,這會使得 更新的幅度變小。所以隨着梯度下降法的運行,移動的幅度會自動變得越來越小,直到最終移動幅度非常小,最後實現收斂到局部極小值。因此不需要額外減小學習率。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章