天天看點

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

線性回歸

線性回歸(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),它決定了我們沿着能讓代價函數下降程度最大的方向鄉下邁出的步子有多大。雖然步長是固定的,但是當逼近一個(局部)最小值時,梯度會變小,因而梯度下降法在靠近極值點時會自動将“步子”邁小一點。不過一個比較好的初始值(能夠讓目标函數值下降的值)還是有必要的。

繼續閱讀