吳恩達機器學習筆記三

2021-09-12 19:56:52 字數 2256 閱讀 8939

梯度下降是乙個用來求函式最小值的演算法,我們將使用梯度下降演算法來求出代價函式j(θ

0,θ1

)j(\theta_0,\theta_1)

j(θ0​,

θ1​)

的最小值。

這裡可以想象一下下山的畫面

假如你正站立在你想象的公園這座紅色山上,在梯度下降演算法中,我們要做的就是旋轉 360 度,看看我們的周圍,並問自己要在某個方向上,用小碎步盡快下山。這些小碎步需要朝什麼方向?如果我們站在山坡上的這一點,你看一下周圍,你會發現最佳的下山方向,你再看看周圍,然後再一次想想,我應該從什麼方向邁著小碎步下山?然後你按照自己的判斷又邁出一步,重複上面的步驟,從這個新的點,你環顧四周,並決定從什麼方向將會最快下山,然後又邁進了一小步,並依此類推,直到你接近區域性最低點的位置(區域性最優)。

批量梯度下降的公式:

其中α

\alpha

α是學習率它決定了我們沿著能讓代價函式下降程度最大的方向向下邁出的步子有多大,在批量梯度下降中,我們每一次都同時讓所有的引數減去學習速率乘以代價函式的導數。

在梯度下降演算法中,還有乙個更微妙的問題,梯度下降中,我們要更新θ

0\theta_0

θ0​和θ

1\theta_1

θ1​ ,當 j= 0和j = 1時,會產生更新,所以你將更新j(θ

0)j(\theta_0)

j(θ0​)

和j (θ

1)j(\theta_1)

j(θ1​)

。實現梯度下降演算法的微妙之處是,在這個表示式中,如果你要更新這個等式,你需要同時更新θ

0\theta_0

θ0​和θ

1\theta_1

θ1​,更新方法如下圖所示:

梯度下降演算法

讓我們看看這條紅色直線的斜率,就是這條剛好與函式曲線相切的這條直線,這條直線的斜率正好是這個三角形的高度除以這個水平長度,現在,這條線有乙個正斜率,也就是說它有正導數,因此,我得到的新的θ

0\theta_0

θ0​, θ

1\theta_1

θ1​更新後等於θ

1\theta_1

θ1​減去乙個正數乘以α

\alpha

α。假設 θ

1\theta_1

θ1​在左邊的時候,我得到的新的θ

0\theta_0

θ0​, θ

1\theta_1

θ1​更新後等於θ

1\theta_1

θ1​減去乙個負數數乘以α

\alpha

α,最終的目的就是求最小值。

其中α

\alpha

α是學習速率,相當於下山的時候邁的步子,當然如何選取乙個合適的學習速率是非常重要的:1.如果α

\alpha

α太小了,即我的學習速率太小,結果就是只能這樣像小寶寶一樣一點點地挪動,去努力接近最低點,這樣就需要很多步才能到達最低點,所以如果α

\alpha

α太小的話,可能會很慢,因為它會一點點挪動,它會需要很多步才能到達全域性最低點。

2.如果α

\alpha

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

\alpha

α太大,它會導致無法收斂,甚至發散。

梯度下降演算法和線性回歸演算法比較如圖:

對我們之前的線性回歸問題運用梯度下降法,關鍵在於求出代價函式的導數,即:

這種演算法也稱為批量梯度下降(因為在每次一次更新中,都要對m個訓練樣本求和)。

吳恩達機器學習筆記

為了解決實際生活中的問題,我們通常需要乙個數學模型。比如,小明有乙個房子 他想賣掉房子 為了知道房子的 小明收集了該地區近兩年的房屋交易 他發現房屋 與房屋大小呈正相關,所以他畫了了一幅圖 小明的房屋大小用紅色的 代替。可見和小明房屋一樣大小的房子並不存在,而類似的房屋 又有很大差別,如此小明決定用...

吳恩達機器學習筆記

sigmoid啟用函式 0,1 x 0,y 0.5 tanh啟用函式 1,1 x 0,y 0 relu啟用函式 x 0,y 0 x 0,y x sigmoid啟用函式 除了輸出層是乙個二分類問題基本不會用它。tanh啟用函式 tanh是非常優秀的,幾乎適合所有場合。relu啟用函式 最常用的預設函式...

吳恩達機器學習筆記(1)

1 用來進行資料探勘 2 讓機器進行自我學習 3 能對使用者進行個性化定製的應用程式 4 了解人類大腦的執行機制 arthor samuel的定義 是在沒有對機器進行明確的程式設計的情況下讓機器具有自主學習的能力。學習演算法主要分為兩大類,監督學習演算法和非監督學習演算法。監督學習演算法就是明確告訴...