1. 程式人生 > >吳恩達機器學習之單變數線性迴歸理論部分

吳恩達機器學習之單變數線性迴歸理論部分

理論部分

1.方程形式
在進行資料處理過程中,有時資料影象可擬合成單變數線性函式,即
在這裡插入圖片描述

2.如何擬合

此時,我們雖知道擬合函式的形式,但如何擬合仍是個問題,怎樣擬合可以最接近實際資料情況呢?
最小二乘法
此時我們引入代價函式這個概念

  • 代價函式
    在這裡插入圖片描述
    接下來我們來分析如何引入這個式子
    首先先看求和符號右邊的平方式,這個平方式也叫做平方損失函式,這個式子是怎麼來的呢?
    對於一個擬合的線性函式,函式對應的直線上的點到資料點的距離的平方為
    在這裡插入圖片描述
    因為此模型為監督學習模型,每個x對應的y值都已給出,所以存在:
    在這裡插入圖片描述
    兩個x相等,不同的只是對應的實際值y和預測值h(x),所以此式後半部分為0.
    那麼,對於一個影象的擬合程度如何描述,只需要在有限的訓練資料集中,對所有的點和預測方程直線的點之間的距離的平方(差距擴大化)進行求和。
    左側的1/2m的作用:
    1/m是為了得出平均差距;
    1/2是在後來求偏導的過程中抵消平方對應的2,而不對損失函式本身造成影響。
    3.問題解決目標


    我們已經知道了我們預測的線性方程對資料集的擬合程度的標準為代價函式
    在這裡插入圖片描述
    那麼,接下來我們對此問題的處理便變成了一個對代價函式的最小化處理問題,即
    在這裡插入圖片描述
    不過,在進行對代價函式最小化問題的處理之前,我們先來看看代價函式的工作原理。
    4.代價函式的工作原理
    吳恩達老師對代價函式的工作原理的分析由淺入深
    因為此編輯器不支援對特殊數學符號進行處理,所以,我們暫且對h(x)換一種表述方法
    在這裡插入圖片描述

  • 當b=0時

此時的擬合直線必為一個過原點的直線,當達到最佳擬合位置時,
此時的代價函式在這裡插入圖片描述最小,此時的x對應的x0,隨著x值向x0兩側遠離,對應的代價函式的值也在增大,此時的代價函式大致是一個如圖所示的拋物線:
在這裡插入圖片描述


當b不等於0時
此時,影響代價函式的因素便變成了兩個(k和b),因為b和k的效果一致,所以當k=0時,b對應的代價函式也大致是一個拋物線,當二者均不為0時,其對應的代價函式便是一個三維凸面:
在這裡插入圖片描述
其在下方平面上的投影為下圖右側的輪廓圖:
在這裡插入圖片描述
圖上相同直線上的點對應的代價函式是等值的,代價函式的最小處為圖上的中心點。
此時,我們已經瞭解了單變數線性迴歸模型的本質所在:對三維凸函式的最小點求解。下面我們來引入處理此問題的演算法:梯度下降法。
5.梯度下降演算法
梯度下降是一個用來求函式最小值的演算法,我們將使用梯度下降演算法來求出代價函式的最小值。

梯度下降的思想:開始時隨機選擇某一個具體的θ0和θ1,計算代價函式,然後尋找下一個能讓代價函式值下降最多的引數組合。持續這麼做,直到到一個區域性最小值。選擇不同的初始引數組合,可能會有不同的區域性最小值,所以在沒有嘗試完所有的引數組合,不能確定得到的區域性最小值是否是全域性最小值。

如下圖所示,從某一點開始,每次沿著一定的梯度下降直到達到一個極小值為止。梯度下降和下山一樣,坡度不一樣,下降的速度就不一樣,而且有可能走向不同的最低點。下降梯度演算法可以幫助我們改變θ0,θ1的值。(α稱為學習率,後面的偏導是梯度)
在這裡插入圖片描述
在這裡插入圖片描述
要注意兩個引數應同時更改(對應的代價函式值不變),右邊錯誤的原因在於先改變θ0的值,對應的代價函式的值也會改變。
梯度下降演算法得到的是區域性最小值,並非全域性最小值,而對於單變數線性迴歸模型來說,其代價函式對應的是一個凸函式,最後獲得的區域性最小值便是全域性最小值。
下面我們來解釋一下上面引數更改式子的由來:

  • 微分部分(梯度):
    令θ0=0,假設θ1在最低點的右側,此時梯度是正數,根據梯度下降演算法更新θ1,它的值會不斷減小,靠近最低點。
    在這裡插入圖片描述
    同理假設θ1在最低點的左側,此時梯度是一個負數,根據演算法更新θ1,值會增大,靠近最低點。
    在這裡插入圖片描述
    所以微分部分達到了下降的目的。

  • 學習速率α:
    通俗來說,如果將凸函式看做是山峰,待處理的問題是如何下到山底,此時,微分部分梯度下降已經保證了我們會一直下山,α的作用便在於控制了我們下山的步子大小。α大,下山快;α小,下山慢。
    這樣看來,α不應該越大越好嗎?
    事實並非如此,我們除了要考慮訓練時間外,還應考慮精度的問題:
    學習率α也會影響梯度的下降。α太小,θ的變化會很小,梯度下降會很慢。相反,α太大,θ的變化會很大,可能越過最低點,可能永遠沒法達到最低點。
    在這裡插入圖片描述
    梯度下降法同時改變了函式的兩個引數,那麼,學習速率α是否也應隨之改變呢?
    其實並不需要。下面我們來看一下梯度下降的過程:
    在這裡插入圖片描述
    對最低點越來越接近,那麼斜率會逐漸減小,每次下降程度會越來越小,所以不需要改變α的值來減小下降程度。
    接下來的問題便是對於微分項的處理了。

  • 微分項處理:

    在這裡插入圖片描述在這裡插入圖片描述
    6.梯度下降演算法的迭代過程
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述
    以上便是單變數線性迴歸模型的理論部分的解釋。