線性回歸是機(jī)器學(xué)習(xí)中最基礎(chǔ)最簡(jiǎn)單的回歸算法了,現(xiàn)在關(guān)于線性回歸的原理做一個(gè)總結(jié)。
關(guān)于線性的概念,其實(shí)在高中就有了解了,兩個(gè)變量之間存在一次方函數(shù)關(guān)系()即為線性,其圖像在平面上是一條直線。
而線性回歸就是對(duì)給定的數(shù)據(jù),找到一條均方誤差最小的直線或者說(shuō)模型函數(shù)。這就是線性回歸的本質(zhì)。
線性回歸的模型函數(shù)
線性回歸問題,給定的數(shù)據(jù)一般如下形式:
其中有m個(gè)樣本,每個(gè)樣本對(duì)應(yīng)n維特征和一個(gè)輸出結(jié)果?,F(xiàn)在,我們的問題是對(duì)于一個(gè)新的數(shù)據(jù),它對(duì)應(yīng)的結(jié)果
是多少呢?如果使用線性回歸來(lái)解決這個(gè)問題,那么對(duì)應(yīng)的模型應(yīng)該如下:
我們?cè)黾右粋€(gè)的特征,可以簡(jiǎn)化成:
其中是模型參數(shù),
是每個(gè)樣本的n個(gè)特征值。
用矩陣形式表示上式就是:
其中為mxn維的矩陣,
為nx1的向量,得到的
為mx1的向量。m代表樣本的個(gè)數(shù),n代表樣本的特征數(shù)。
正規(guī)方程(最小二乘法)求損失函數(shù)參數(shù)
線性回歸一般采用均方誤差作為損失函數(shù),損失函數(shù)代數(shù)法可以表示為:
用矩陣的方式可以表示為:
上式中有兩個(gè)2,上面的2表示平方,下面的2表示二范數(shù)。繼續(xù)化簡(jiǎn)得:
要求使損失函數(shù)最小時(shí)的參數(shù),對(duì)
進(jìn)行求導(dǎo),令導(dǎo)數(shù)為0:
化簡(jiǎn),求出:
梯度下降法求損失函數(shù)參數(shù)
梯度下降法的思想:
(1)對(duì)賦值,這個(gè)值可以使隨機(jī)的
(2)改變的值,使得
按梯度下降的方向進(jìn)行減小
(3)當(dāng)下降到無(wú)法繼續(xù)下降時(shí),即
對(duì)
的導(dǎo)數(shù)為0時(shí),此時(shí)
即為最佳參數(shù)
采用梯度下降法,的更新規(guī)則是:
其中表示學(xué)習(xí)率,步長(zhǎng),由人工設(shè)置,經(jīng)過若干次迭代,即可得到
的結(jié)果。
線性回歸的正則化(Lasso回歸和嶺回歸)
普通的線性回歸容易過擬合,為了防止過擬合,我們?cè)诮⒕€性模型的時(shí)候經(jīng)常需要加入正則化項(xiàng)(正則項(xiàng)的作用是限制系數(shù)),于是出現(xiàn)了Lasso回歸和嶺回歸。
Lasso回歸是線性回歸的基礎(chǔ)上加上L1正則化,它的損失函數(shù)是:
Lasso適用于稀松矩陣(大部分系數(shù)為0)
嶺回歸是線性回歸的基礎(chǔ)上加上L2正則化,它的損失函數(shù)是:
嶺回歸適用于數(shù)據(jù)中存在共線性的情況(非滿秩矩陣-奇異矩陣)