《機器學習》第一周 一元回歸法 | 模型和代價函數,梯度下降


課程地址:https://www.coursera.org/learn/machine-learning/lecture/8SpIM/gradient-descent

 此篇博文是我在聆聽以上課程的筆記,歡迎交流分享。

 

一 Model and Cost Function 模型及代價函數

1 Model Representation 模型表示

  首先,教授介紹了一下課程中將會用到的符號和意義:

 

 

 

 

 

 

 

 

 

 

m:訓練樣本的數目

x:特征量

y:目標變量

(x,y):一個訓練樣本

(x^(i),y^(i)):i不是指數,而是指第i行的樣本

 

Univariate linear regression:一元線性回歸

hθ(x)=θ0+θ1*x

 

 2 Cost Function 代價函數

整體目標函數 --> 代價函數(平方誤差函數,平方誤差代價函數)

 

 

 

 

二 Gradient Descent 梯度下降

   梯度下降算法可以將代價函數j最小化。梯度函數是一種很常用的算法,它不僅被用在線性回歸上,也被廣泛地應用於機器學習領域中的眾多領域之中。

 下圖是代價函數J中解決線性回歸問題的問題概述:

我們希望通過改變theta參數的值來最小化代價函數。

這里,我們考慮有兩個參數的情況,我們可以考慮到一個三維圖形,兩條坐標分別表示theta0和theta1。

梯度下降要做的事,就是從某個起始theta對值開始,尋找最快的下降方向往下走,在路途上也不斷地尋找最快下降的方向更改路線,最后到達一個局部最低點

 

可以看到,如果起始點稍有偏差,那么我們可能會得到一個非常不同的局部最優解,這也是梯度下降的一個特點。

 

我們從上圖中獲得了梯度下降的直觀感受,接下來讓我們看看梯度下降的定義:

 

分析一下梯度下降定義公式的一些細節:

我們用“:=”來表示賦值。注意,如果我們寫作“=”,表達的意識並不是賦值,而是判斷為真的說明,比如a=b,就是斷言a的值是等於b的。

α在這里是一個數字,被稱為學習效率(learning rate),在梯度下降算法中,它控制了我們下山時會賣出多大的步子。因此如果α比較大,那我們用大步子下山,如果它比較小,我們就邁着很小的小碎步下山。

 

在公式中,有一個很微妙的問題。在梯度下降中,我們要同時更新theta0和theta1,而不是先后更新。如果先更新了theta0,再更新theta1就會造成theta1的值出錯。

 

三 Gradient Descent Intuition 梯度下降的客觀事實

首先,教授向我們介紹了一下倒數和偏導的概念。教授為了解釋明白,說了很長一段話,大概的意思就是,導數在梯度下降中的存在就是為了指出方向,指示我們向局部最低點進發。

 

然后,就是α的問題。我們來討論一下學習效率α大小對我們下山的影響:

 

總結一下:α太小,那我們就像小寶寶一樣往下爬得超級慢,但如果α太大,就可能一步跨過了最低點,甚至南轅北轍,無法收斂反而發散出去了。

 

那如果我們恰好就在或者剛好走到了局部最低點呢?感受一下,這個時候導數是0,這是在告訴我們不要再走啦,不管步子邁多大,都只是原地踏步。所以此時就不再更新theta的值了。

 

α值都固定了,梯度下降為什么也可以讓代價函數收斂到一個局部最低點呢?

 

 

事實上,我們並不會跨着相同的步子在最低點兩端徘徊做無用功。因為導數不僅為我們指明了方向,也在影響我們每一步的大小。

當我們接近一個局部最低點時,梯度下降也會自然第把步子跨小。所以,沒有必要減小α

 

三 Gradient Descent For Linear Regression 梯度下降在線性回歸中的應用

為了了解梯度下降法的應用,我們需要首先對梯度下降公式中的導數項進行分析:

 

於是,我們直接得到了更新theta0和theta1的公式(如上圖)。要推導這個公式需要一定的微積分基礎,如果不熟悉也沒有關系,你可以直接應用公式:

 

事實證明,用於線性回歸的代價函數總是一個凸函數(convex function),因此,這個函數沒有任何局部最優解,只有一個全局最優解。並且無論什么時候,你對這種代價函數使用線性回歸/遞歸下降法得到的結果,都會是收斂到全局最優值的。因為沒有全局最優以外的其他局部最優點。

 

 

 

最后,我們剛剛使用的算法有時也被稱為“批量梯度下降法”,意思是——在梯度下降的每一步中,我們最終都要計算所有m值代價的求和運算,所以“批量梯度算法”也是指“一批”訓練集“。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM