吳恩達機器學習系列1——單變數線性迴歸

飛奔的小魚兒發表於2022-02-10

  今天是第二部分——單變數線性迴歸,即監督學習中基於單個特徵輸入的線性迴歸演算法。該部分主要了解的內容是單變數線性迴歸演算法的模型表示,損失函式以及用於求解的梯度下降方法,這實際上也展示了一個完整的監督學習過程。

 

1、Model Representation

       在瞭解模型表示之前,我們需要明確監督學習演算法的工作方式。正如之前所言,學習演算法就是從資料中產生模型的演算法,因此我們首先需要有一個資料集即訓練集,然後將訓練集餵給預先設計好的演算法,也就是利用訓練集對演算法進行監督訓練,進而可以得到一個與原始資料擬合度最好的模型,也稱為假設(hypothesis),最後利用這個假設函式並輸入特徵值便可進行預測。

以基於房子面積的房價預測問題為例,首先我們獲取到了含有m條有關房子規格-價格(Size/x-Price/y)記錄的資料集(如圖)作為訓練集,其中Size為輸入特徵,Price為Size對應的標籤,一條記錄便是一個訓練例項,如第二個訓練例項(x^((2)),y^((2)))=(1416,232);

然後利用這些訓練例項對學習演算法進行監督,不斷修正模型的引數,便可得到最終的假設模型h。根據對資料集的視覺化,可能適用於該房價預測問題的假設模型h的一種表示式就是h_θ (x)= θ_0+ θ_1 x,由於只含有一個特徵變數,所以又稱為單變數線性迴歸問題。

 

2、Cost Function

       那麼,針對於假設函式h_θ (x)= θ_0+ θ_1x,我們應該如何去選擇合適的引數(θ_0與θ_1的取值)使得其與問題的特徵更加吻合呢?這就需要去衡量不同引數取值下,假設函式基於輸入特徵值所計算出來的預測值與實際值的差異程度,一般而言,我們會通過建立代價函式(Cost Function)來表示這種差異。其中,均方誤差是解決迴歸問題時最常用的代價函式,即:

我們只需要求得使J(θ_0,θ_1 )的取值最小時的θ_0與θ_1即可,這時模型所得預測值與實際值的差異最小,J(θ_0,θ_1 )的值無限趨近於0。以θ_0,θ_1,J(θ_0,θ_1 )為座標繪製等高線圖,則可以看出在代價函式的三維空間中存在J(θ_0,θ_1 )的最小值點(如圖)。

  

3、Gradient Descent

       梯度下降法是求解函式最小值的演算法,其思想是先設定初始的引數值組合並計算代價函式,然後尋找使代價函式的取值減小最多的下一個引數值組合(梯度的反方向是函式值減小最快的方向),不斷迭代直至符合精度要求,得到代價函式取區域性極小值時的引數值組合(初始值不同結果可能不一)。

梯度下降演算法的公式如下:

梯度下降演算法迭代的關鍵有兩個,一是迭代的方向,即梯度的反方向-∂J(θ)/(∂θ_j ),這是使J(θ)下降最快的方向;二是學習率α,決定了下降長度的大小α過大可能導致越過最低點無法收斂,α過小可能導致迭代次數太多效率低下,可以根據迭代進行的次數合理設定。

       結合線性迴歸模型、代價函式與梯度下降,我們就得到了線性迴歸演算法:

  

4、Summary

       監督學習中的線性迴歸問題的解決大致可以分為如下步驟,獲取訓練集,提出假設模型,明確代價函式,求解最優引數。其中代價函式一般使用均方誤差,求解最優引數需要代價函式取值最小,決定了學習演算法的預測精度,梯度下降法是求解函式最小值比較常用的方法,基於下降方向與學習率的迭代最終可得使代價函式區域性最小的引數組合。

 

 

 

 

 

相關文章