在上一節中主要介紹了監督學習中的線性回歸(模型)、最小二乘法(策略)、梯度下降法(算法)及線性最小二乘法的標准方程(閉式解)。
這節主要介紹兩個回歸:局部加權回歸與邏輯回歸,其中穿插一些小的知識點:欠擬合與過擬合、感知機、牛頓方法等。大綱如圖:
一、幾個概念
1. 欠擬合與過擬合問題
之前所采用的線性回歸方法面對上圖中的散點會用一條直線去擬合,並不是所有散點都大致分布在直線相同的距離處,很顯然效果並不是很好,這種現象叫做“欠擬合”。
當加入一個x二次方的項時(x=size,房屋的長,x的二次方可以理解為size的平方,即房屋面積),從上圖可以看出,有更多的散點落在了曲線上,擬合效果有所改善。隨着特征的增加,曲線的擬合效果看似也隨之增強,但事實上並非如此。
當特征的個數增加到五個時,曲線已經可以非常完美的擬合所有的散點,但是這樣會導致檢驗樣本必須完全符合訓練樣本集,也大大增加了系統的復雜性,這種現象叫做“過擬合”。
2. 參數化與非參數學習算法
(1)參數學習算法(Parametric Learning Algorithm)
有固定數目的參數以用來數據擬合的算法,如線性回歸。
在線性回歸模型中,首先,θ是和特征數目相同的固定數目參數;其次,一旦訓練出模型后,θ的值就是固定的,在之后的預測過程中,不需要再使用訓練樣本集。
(2)非參數學習算法(Non-parametric Learning Algorithm)
參數的數目會隨着訓練集合的大小線性增長,如局部加權回歸。
在局部加權回歸模型中,每當需要預測時都會重新訓練樣本集,而每次訓練所得到的θ可能是不同的,故θ的數目與值是不固定的。
二、局部加權回歸
1. 模型假設:
- 線性回歸模型的假設為:
- 局部加權回歸的假設為:
其中,權重w的一個標准選擇為:
w的表達函數其實是一個鍾形函數,參數滔表示波長,控制權值隨距離下降的速率。
對比后可以看出,在線性回歸中誤差函數的系數是1,沒有賦予不同的權值。加入權重的線性回歸模型就引申出局部加權回歸模型。
2. 模型思路:
單看假設中的第一個式子,當w的值很大,就會使后面的方差因子更小;當w的值很小,就會忽略該項后面的方差因子,也就是只考慮到權重大的方差因子項的影響。
進一步地考察w的表達式,當xi與x的絕對值(xi與x的距離)很小時,w的值近似為1;當xi與x的絕對值很大時,w的值近似為0,可以理解為當查詢一個確定的點x時(查詢新的特征),給離得近的點(樣本)賦予較大的權值,給離得遠的點賦予較小的權值。
因此,局部加權回歸模型的基本思路:通過擬合一組參數向量,更注重對臨近點的精確擬合,同時忽略那些離得很遠的點的貢獻。
三、邏輯回歸
1. 模型思路:
回歸一般並不用在分類問題上,因為回歸是連續型的模型,受噪聲影響比較大。如果說可以用在分類上的回歸,就是邏輯回歸。
邏輯回歸的本質是線性回歸,為了解決分類問題(這里假設二值分類問題,即將特征通過方程映射到0和1兩個值上),在特征到結果的映射中加入了一個函數映射g,即先將特征線性求和得到z,再通過函數g(z)映射到結果空間[0,1]。
邏輯回歸的假設函數h:
g(z)也叫做Sigmoid函數:
它的導數也具有特殊形式:
2. 模型的解:
(1)梯度上升法
假設二值滿足伯努利分布:
更一般的表示:
於是參數θ的似然函數(likelihood)為:
θ的log似然函數(log likelihood)為:
那么,如何來求解最大似然函數中的參數θ呢?可以參考線性回歸的梯度下降法求解最小值的思路,不過不同的是這里求解的是最大值,在更新參數θ時按照梯度方向進行增長即可,也就是梯度上升法。
針對一個訓練樣本(x,y),參考隨機梯度下降法的求解過程,結合g(z)函數導數的特殊性質,可以得到梯度上升法的解。
可以看出它的形式與隨機梯度下降法十分相似,但是這里的h函數是非線性的Sigmoid函數。
(2)牛頓法
牛頓法是另一種求似然函數極大值的方法。它的本質是通過f(θ)=0確定下一個取斜率的點坐標,依次下去可以快速找到斜率為0時的極值。
參數θ的求解方程:
回歸到求似然函數的極大值問題,類比上述思想可以推理出這里要求l(θ)導數為0的情況,即:
同理可得此時的參數估計為:
由於在邏輯回歸中的參數θ是一個向量,因此我們需要擴展θ的參數估計。
H叫做Hessian,是一個nXn的矩陣。
牛頓方法比Batch梯度下降法的速度快得多,且迭代次數也少很多。只要樣本個數n取值比較合理,它的收斂速度還是十分可觀的。
三、感知機學習算法
邏輯回歸中的Sigmoid函數“迫使”特征的線性之和映射到0或1,如果換一個函數,如閾值函數g(z):
同樣會得到一個類似邏輯回歸的隨機上升梯度的解,只是h函數的映射有所不同。
於是就得到了感知機學習算法,它是學習理論的基礎。
參考文獻:
斯坦福大學機器學習課程個人筆記完整版