深入理解線性迴歸演算法(一)
前言
線性迴歸演算法是公眾號介紹的第一個機器學習演算法,原理比較簡單,相信大部分人對線性迴歸演算法的理解多於其他演算法。本文介紹的線性迴歸演算法包括最小二乘法和最大似然法,進而討論這兩種演算法蘊含的一些小知識,然後分析演算法的偏差和方差問題,最後總結全文。
目錄
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>>
推薦閱讀文章