今天是第二部分——單變數線性回歸,即監督學習中基於單個特徵輸入的線性回歸演算法。該部分主要了解的內容是單變數線性回歸演算法的模型表示,損失函式以及用於求解的梯度下降方法,這實際上也展示了乙個完整的監督學習過程。
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 )的最小值點(如圖)。
梯度下降法是求解函式最小值的演算法,其思想是先設定初始的引數值組合並計算代價函式,然後尋找使代價函式的取值減小最多的下乙個引數值組合(梯度的反方向是函式值減小最快的方向),不斷迭代直至符合精度要求,得到代價函式取區域性極小值時的引數值組合(初始值不同結果可能不一)。
梯度下降演算法的公式如下:
梯度下降演算法迭代的關鍵有兩個,一是迭代的方向,即梯度的反方向-∂j(θ)/(∂θ_j ),這是使j(θ)下降最快的方向;二是學習率α,決定了下降長度的大小,α過大可能導致越過最低點無法收斂,α過小可能導致迭代次數太多效率低下,可以根據迭代進行的次數合理設定。
結合線性回歸模型、代價函式與梯度下降,我們就得到了線性回歸演算法:
監督學習中的線性回歸問題的解決大致可以分為如下步驟,獲取訓練集,提出假設模型,明確代價函式,求解最優引數。其中代價函式一般使用均方誤差,求解最優引數需要代價函式取值最小,決定了學習演算法的**精度,梯度下降法是求解函式最小值比較常用的方法,基於下降方向與學習率的迭代最終可得使代價函式區域性最小的引數組合。
吳恩達機器學習 單變數線性回歸 學習筆記
說明 本文是本人用於記錄學習吳恩達機器學習的學習筆記,如有不對之處請多多包涵.一 模型的描述 下面的這張是對於課程中一些符號的基本的定義 吳老師列舉的最簡單的單變數線性回歸方程 二 代價函式 這節課的主要目標是如何選擇這個模型的兩個引數 下圖是吳老師的分析怎麼將模型轉化求解需要的兩個引數 h x 的...
機器學習筆記 吳恩達 一 單變數線性回歸
代價函式詳解 梯度下降法 個人blog 我們有關於房屋面積和房屋 的資料集,現在想擬合一條直線通過房屋的面積來 房屋 這條直線應該盡可能的符合已有的資料。這裡我們簡單的假設該直線的方程為 h x x h x theta x h x x其中x表示房屋的面積,h x 表示 出的房價。有了這個假設函式我們...
吳恩達機器學習筆記2 單變數線性回歸
線性回歸演算法 用直線來擬合資料 h0 x 0 1 x,要想h0 值 接近y 實際值 也就是使得 值和實際值的平方誤差和最小,可用平方代價誤差函式來解決。平方代價誤差函式說明 平方是為了保證正值,二分之一m的目的是求導 計算變化率 後消掉係數。假設h,引數 代價函式j,優化目標 如何進行機器學習?如...