前言
線性迴歸算法是公衆號介紹的第一個機器學習算法,原理比較簡單,相信大部分人對線性迴歸算法的理解多於其他算法。本文介紹的線性迴歸算法包括最小二乘法和最大似然法,進而討論這兩種算法蘊含的一些小知識,然後分析算法的偏差和方差問題,最後總結全文。
目錄
1、最小二乘法和最大似然法
2、算法若干細節的分析
3、偏差和方差
4、總結
最小二乘法和最大似然函數
最小二乘法
最大似然函數
假設訓練數據的目標變量t是由確定性方程y(x,w)和高斯噪聲疊加產生的,即:
其中是期望爲0,精度爲β(方差的倒數)的高斯噪聲的隨機抽樣。
目標變量t的分佈推導如下:
因此,目標變量t的分佈:
即觀測數據集的似然函數:
爲了書寫方便,求最大似然函數對應的參數:
似然函數取對數並不影響結果:
因此,對於輸入變量x,即可求得輸出變量t的期望。
期望值就是模型的預測輸出變量,與最小二乘法的預測結果相同。
算法若干細節的分析
偏置參數w0
線性迴歸表達式的偏置參數w0有什麼意義,我們最小化來求解w0,根據w0結果來說明其意義。
由w0結果可知,偏置參數w0補償了目標值的平均值(在訓練集)與基函數的值的加權求和之間的差。
圖形表示爲:
最小二乘法的幾何意義
根據最小二乘法的結果可以作如下推導:
圖形表示如下:
黑色線表示噪聲。
備註:推導公式是假設是非奇異矩陣(的行列式不等於0),若是奇異矩陣,則需要通過奇異值分解(SVD)成新的基向量,後續文章會講到。
噪聲模型分析
線性迴歸模型疊加的噪聲是假設均值爲0方差爲的高斯分佈,下面是筆者分析這一假設的原因。
假設噪聲是高斯分佈的原因:高斯分佈是實際生活中最常見的高斯分佈,採用高斯分佈的模型更貼近實際情況。
假設噪聲是均值爲0的原因:這個比較好理解,就是爲了方便計算,偏置參數w0包含了噪聲均值。
偏差和方差
最小二乘法和最大似然法構建的模型是一樣的,本文的線性迴歸表達式的複雜度用模型參數的個數來表示,模型參數個數越多,則模型複雜度越大;反之模型複雜度越小(只針對無正則化的線性迴歸方程)。本節討論模型複雜度與偏差和方差的關係。
高偏差
若模型參數個數比較少,即模型複雜度很低,模型處於高偏差狀態。
如下圖用直線去擬合正弦曲線。
高方差
若模型參數個數較大,即複雜度較高,則模型處於高方差(過擬合)狀態。
如下圖M=9擬合正弦曲線,模型訓練誤差爲0。
總結
本文介紹了最小二乘法和最大似然法來求線性迴歸的最優參數,分析了算法中容易忽視的某些細節,由於本文的線性迴歸表達式沒有正則化項,因此模型的複雜度等同於模型參數的個數,參數個數過多模型容易產生高方差(過擬合),參數個數過低模型容易產生高偏差,下節將要介紹貝葉斯線性迴歸算法,該算法很好的解決了複雜度的問題。
參考:
Christopher M.Bishop <<Pattern Reconition and Machine Learning>>
推薦閱讀文章