gre ima 梯度下降算法 line 公式 delta mat 所有 pan

單變量線性回歸

綱要

  • 代價函數
  • 梯度下降算法
  • 全局最優與局部最優

代價函數

函數定義:

\[ J(\theta_0,\theta_1,...)=\frac{1}{2m}\sum_{i=1}^{n}(h_\theta(x^{(i)})-y^{(i)})^{2} \]

代價函數是為了尋找假設函數\(h(\theta)\)上的最佳參數\(\theta\),以期得到一個更符合實際情況的假設函數。

梯度下降算法

數學公式定義:

\[ \theta_j := \theta_j - \alpha\frac{\delta}{\delta\theta_j}J(\theta_0,\theta_1,...,\theta_n) \]

其中\(\alpha\)是學習率Learning Rate,而\(\frac{\delta}{\delta\theta_j}\)就是代價函數\(J(\theta)\)的斜率。

梯度下降算法是在函數某一點上尋找下降最快的途徑,然後遞歸在下一個點中繼續尋找。由於斜率越接近局部最優點時越小,所以它的下降速度也會越來越小。梯度下降算法對各個參數的優化是同時的,所表現的形式如下:

\(temp0 := \theta_0 - \alpha\frac{\delta}{\delta\theta_0}J(\theta_0,\theta_1,...,\theta_n)\)
\(temp1 := \theta_1 - \alpha\frac{\delta}{\delta\theta_1}J(\theta_0,\theta_1,...,\theta_n)\)
\(\theta_0 := temp0\)
\(\theta_1 := temp1\)

可以看出,梯度算法需要同步更新各個參數變量。同時,梯度下降算法尋找的是一個局部最優點,而線性回歸模型存在全局最優點,因此它需要盡可能地遍歷所有的訓練集,從所有的局部最優點中比較出全局最優點。

局部最優和全局最優

我想用NG課件裏的幾幅圖可以很好的表示這兩個概念:

技術分享圖片

這是其中一個局部最優途徑

技術分享圖片

這是另一個局部最優途徑

技術分享圖片

線性回歸模型存在全局最優

參考

http://daniellaah.github.io/2016/Machine-Learning-Andrew-Ng-My-Notes-Week-1-Linear-Regression-with-One-Variable.html

吳恩達機器學習筆記一_單變量線性回歸