機器學習之——單變量線性迴歸

線性迴歸

線性迴歸(Linear Regression)作爲Machine Learning 整個課程的切入例子確實有獨到的地方,以簡單的例子爲出發點,將學習任務的主幹串起來。問題的建模可以簡單如下圖所示:


線性迴歸可以分爲單變量線性迴歸(Linear Regression with One Variable)以及多變量線性迴歸(Linear Regression with Multiple Variables)。這篇我們先從單變量線性迴歸入手。

我們以房屋交易問題爲例,問題就是:

給定一批已知的房子大小和價格的對應關係數據,如何對一個給定大小的房子進行估值?

假使我們迴歸問題的訓練集(Training Set) 如下表所示:


我們用來描述這個迴歸問題的標記如下:


我們需要做的是怎樣“學習”到一個假設h(函數),從而對於給定的房子大小能輸出估值。

對於單變量線性迴歸來說就是下面四個點:
1. 假設(Hypothesis):線性迴歸的假設就是數據呈線性分佈


2. 參數(Parameters): 學習的過程也就是參數擬合的過程,參數是


3. 代價函數(Cost Functions): 進行參數選擇(擬合)的標準,這裏選取的是最小均方誤差。


4. 將參數迴歸轉換到誤差最小化的優化問題上來


爲了解最小化問題(4),再引入梯度下降法(Gradient Descent Algorithm)。


梯度下降背後的思想是:開始時我們隨機選擇一個參數的組合(ø0,ø1,....,øn),計算代價函數,然後我們尋找下一個能讓代價函數值下降最多的參數組合。持續這樣做直到找到一個局部最小值(Local Minimum),因爲我們並沒有嘗試完所有的參數組合,所以並不能確定我們得到的局部最小值是不是全局最小值(Global Minimum),選擇不同的初始參數組合,可能會找到不同的局部最小值:


其中alpha是學習速率(Learning Rate),它決定了我們沿着能讓代價函數下降程度最大的方向鄉下邁出的步子有多大。雖然步長是固定的,但是當逼近一個(局部)最小值時,梯度會變小,因而梯度下降法在靠近極值點時會自動將“步子”邁小一點。不過一個比較好的初始值(能夠讓目標函數值下降的值)還是有必要的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章