線性回歸

線性回歸是機(jī)器學(xué)習(xí)中最基礎(chǔ)最簡(jiǎn)單的回歸算法了,現(xiàn)在關(guān)于線性回歸的原理做一個(gè)總結(jié)。

關(guān)于線性的概念,其實(shí)在高中就有了解了,兩個(gè)變量之間存在一次方函數(shù)關(guān)系(y = a x + b)即為線性,其圖像在平面上是一條直線。

而線性回歸就是對(duì)給定的數(shù)據(jù),找到一條均方誤差最小的直線或者說(shuō)模型函數(shù)。這就是線性回歸的本質(zhì)。

線性回歸的模型函數(shù)

線性回歸問題,給定的數(shù)據(jù)一般如下形式:
\left[ \begin{matrix} x^{(0)}_1,x^{(0)}_2,...x^{(0)}_n,y_0 \\ x^{(1)}_1,x^{(1)}_2,...x^{(1)}_n,y_1 \\ x^{(2)}_1,x^{(2)}_2,...x^{(2)}_n,y_2 \\ \vdots \\ x^{(m)}_1,x^{(m)}_2,...x^{(m)}_n,y_m \end{matrix} \right]

其中有m個(gè)樣本,每個(gè)樣本對(duì)應(yīng)n維特征和一個(gè)輸出結(jié)果?,F(xiàn)在,我們的問題是對(duì)于一個(gè)新的數(shù)據(jù)(x_1^{(x)}, x_2^{(x)}, ..., x_n^{(x)}),它對(duì)應(yīng)的結(jié)果y_x是多少呢?如果使用線性回歸來(lái)解決這個(gè)問題,那么對(duì)應(yīng)的模型應(yīng)該如下:

h_\theta(x_1,x_2,...,x_n)=\theta_0 + \theta_1x_1 +...+ \theta_nx_n

我們?cè)黾右粋€(gè)x_0=1的特征,可以簡(jiǎn)化成:

h_\theta(x_0,x_1,...,x_n)=\sum\limits_{i=0}^{n}\theta_ix_i

其中\theta_i(i=0,1,2,...n)是模型參數(shù),x_i(i=0,1,2,...n)是每個(gè)樣本的n個(gè)特征值。

用矩陣形式表示上式就是:

h_\theta(X)=X\theta

其中X為mxn維的矩陣,\theta為nx1的向量,得到的h_\theta(X)為mx1的向量。m代表樣本的個(gè)數(shù),n代表樣本的特征數(shù)。

正規(guī)方程(最小二乘法)求損失函數(shù)參數(shù)

線性回歸一般采用均方誤差作為損失函數(shù),損失函數(shù)代數(shù)法可以表示為:

J(\theta_0,\theta_1,...\theta_n) = \sum\limits_{i=1}^m(h_\theta(x_0^{(i)},x_1^{(i)},...x_n^{(i)})-y_i)^2

用矩陣的方式可以表示為:
\begin{align} J(\theta) &= ||X\theta-Y||^2_2 \\ &= (X\theta-Y)^T(X\theta-Y) \\ \end{align}
上式中有兩個(gè)2,上面的2表示平方,下面的2表示二范數(shù)。繼續(xù)化簡(jiǎn)得:
\begin{align} J(\theta) &= (X^T\theta^T-Y^T)(X\theta-Y) \\ &= X^T\theta^TX\theta-X^T\theta^TY-Y^TX\theta+Y^TY \\ &= X^T\theta^TX\theta-(\theta^TY)^T(X^T)^T-Y^TX\theta+Y^TY \\ &= X^T\theta^TX\theta-2Y^TX\theta+Y^TY \end{align}
要求使損失函數(shù)最小時(shí)的參數(shù)\theta,對(duì)\theta進(jìn)行求導(dǎo),令導(dǎo)數(shù)為0:

f'(\theta)=2X^TX\theta-2X^TY=0

化簡(jiǎn),求出\theta

X^TX\theta = X^TY

(X^TX)^{-1}X^TX\theta=(X^TX)^{-1}X^TY

\theta=(X^TX)^{-1}X^TY

梯度下降法求損失函數(shù)參數(shù)

梯度下降法的思想:

(1)對(duì)\theta賦值,這個(gè)值可以使隨機(jī)的

(2)改變\theta的值,使得J(\theta)按梯度下降的方向進(jìn)行減小

(3)當(dāng)J(\theta)下降到無(wú)法繼續(xù)下降時(shí),即J(\theta)對(duì)\theta的導(dǎo)數(shù)為0時(shí),此時(shí)\theta即為最佳參數(shù)

采用梯度下降法,\theta的更新規(guī)則是:

\theta = \theta - \alpha X^T(X\theta-Y)

其中\alpha表示學(xué)習(xí)率,步長(zhǎng),由人工設(shè)置,經(jīng)過若干次迭代,即可得到\theta的結(jié)果。

線性回歸的正則化(Lasso回歸和嶺回歸)

普通的線性回歸容易過擬合,為了防止過擬合,我們?cè)诮⒕€性模型的時(shí)候經(jīng)常需要加入正則化項(xiàng)(正則項(xiàng)的作用是限制系數(shù)\theta),于是出現(xiàn)了Lasso回歸和嶺回歸。

Lasso回歸是線性回歸的基礎(chǔ)上加上L1正則化,它的損失函數(shù)是:

J(\theta)= (X\theta-Y)^T(X\theta-Y)+\alpha ||\theta||_1

Lasso適用于稀松矩陣(大部分系數(shù)為0)

嶺回歸是線性回歸的基礎(chǔ)上加上L2正則化,它的損失函數(shù)是:

J(\theta)= (X\theta-Y)^T(X\theta-Y)+\alpha ||\theta||_2^2

嶺回歸適用于數(shù)據(jù)中存在共線性的情況(非滿秩矩陣-奇異矩陣)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容