線性迴歸模型使用的場景是有監督學習(supervised learning)。
例如下例給定訓練樣本集, 輸入特徵是二維的,讓我們去預測房價。 我們就可以使用線性迴歸模型去求解。 例如多項式擬合價格和輸入二維特徵向量的關係, 我們模型的參數就是多項式前面的那些係數。
首先回歸(regression)的目的就是指根據給定一個d維的輸入特徵向量x, 預測出一個或者多個取值連續的target variables t 的值。
線性迴歸模型常用的一個特殊的例子就是多項式擬合。 不過線性迴歸模型遠非只有多項式, 而是還有很多的類型, 這主要是更具basis function的類型來看的。 儘管線性迴歸模型並不是輸入特徵向量的一個線性函數, 但是我們之所以稱之爲線性模型是因爲他們是basis的線性函數。 更確切的說這些模型是模型參數的線性函數。 模型參數就是basis function 前面的weight參數, 即擬合函數是linear combination of basis function。
或者寫成利用:
改寫成如下:
其中:
這些basis functions 可以是輸入特徵向量的非線性函數。 常見的可以作爲basis functions的函數類有多項式函數類, Gaussian basis functions如下:
亦可以是sigmoidal basis function:
亦可以是logistic sigmoid function:
注意, tanh函數與logistic sigmoid 相關聯, 如下:
這意味着對logistic sigmoid functions 進行linear combination是和使用tanh函數的linear combinations 基本上等價的。
或者我們也可以使用fourier basis作爲線性迴歸模型的一組基。 每一個傅里葉基對應的是一個頻率分量。
可以作爲線性迴歸模型的基很多, 不一而足。
不難看出, 線性模型只是一個淺層的學習模型而已, any way, 這裏不考慮這些了, 只談線性迴歸模型。
要想讓機器學習下去, 我們得給機器一個目標函數, 找出最小化這個函數的參數就是我們的目的所在。
假設我們要找的用於擬合函數如下:
給定訓練樣本集合, 我們的就是要使得對於每一個樣本, 我就的目的就是找出參數向量, 使得越接近越好, 於是我們提出瞭如下的學習目標函數, 有稱爲cost function:
我們的學習任務就是找到使得上述函數最小的。 主要上述的代價函數是參數的二次函數, 即是一個關於的凸函數, 所以保證了最優解的存在。
爲了最小化上述的代價函數, 我們使用的算法就是gradient descent算法。 算法流程如下:
(1)給定參數的初始化值(注意是一個向量)
(2)按照如下方式進行更新參數:
因爲是一個向量, 所以上面是對每一個分量進行迭代更新。 超參數α是learning rate(學習率)。 每一次更新的時候我們沿着梯度的方向(即代價函數J下降最快的方向)對每一個參數進行更新。 直至收斂。
其中梯度的計算公式如下:
當只有一個訓練樣本的時候, 對參數的更新規則如下:
(batch gradient descent)算法參數更新的一種辦法就是把所有的訓練樣本都計算到代價函數中, 每一次更新的時候都要考慮所有的訓練樣本:
問題來了, 當我們的訓練樣本集合太大, 每一次更新參數的時候都要把所有的樣本考慮進來顯然是computationally expensive, 此時我們可以選擇sequential Learning, 又稱爲online learning(在線學習)。 在線學習就是我們每一次只考慮一個樣本(或者一小組樣本, 稱爲Minibatch), 這樣參數更新的時候, 使用的是隨機梯度下降的優化參數算法(stochastic gradient descent)。 算法如下(這裏我們minibatch設置爲一個樣本):
我們可以利用線性代數的知識, 推導出上述的線性迴歸的求出最優參數的矩陣表達式子:
首先我們把訓練樣本集中的所有的訓練樣本的輸入特性向量使用矩陣的形式表示如下:
樣本的對應的迴歸值對應如下:
我們的代價函數表示如下:
要求出代價函數的極值點, 我們需要對J關於參數求導, 設置爲0, 得到如下公式:
所以, 最佳的參數的公式化表示爲:
下面給出上述算法的概率學上的解釋。
我們把要預測的目標函數看成一個確定的hyposis 加上高斯白噪聲, 如下:
其中隨機噪聲分佈如下:
這意味着我們的樣本(我們這裏對目標變量建模, 所以是descriminative model):
由於我們假設樣本均取自某一個分佈, 服從IID的, 我們現在的目的就是使得樣本集合出現的概率達到最大。 下面是我們的目標函數:
也就是最大化如下的目標函數:
兩邊去對數, 得到如下:
於是最大化L等價於最小化如下的式子:
於是這從概率上解釋了爲什麼我們在最開始選擇最小二乘作爲代價函數。
推廣到選擇一般的基作爲線性迴歸系統的基函數, 我們有如下的式子(注意以下采用w表示模型參數)。
訓練樣本集(N 個訓練樣本)的特徵向量爲:
對應的目標變量爲:
同樣的我們假設:
其中我們假設預測是一個隨機變量, 偏差服從高斯分佈, 此外:
於是我們的目標函數如下:
按照同樣的方式, 我們最大化上面式子等價於最小化下面的式子:
我們求導, 設置爲0, 求出對應參數的表達式子如下:
其中,
線性模型很容易過擬合(overfiting), 因爲一旦我們模型的參數過多的話, 分類器的參數空間變大, 複雜度變大, 容易出現過擬合現像。 從而造成模型的泛化能力大大削弱。 但是如果我們模型的參數過少, 就會導致欠擬合。 所以爲了避免過擬合, 我們在目標函數中引入對權重參數的regularizarion。 具體如下:
regularizer的一種選擇辦法就是:
所以我們的目標函數變成了:
更一般的, 我們改進後的代價函數如下:
其中, 超參數控制着上述兩項的tradeoffs, 這個參數最佳大小的確定需要藉助於驗證集。
q可以去不同的值, 當q = 1的時候, 得到的就是稀疏的參數: