線性回歸

線性回歸是機器學習中最基礎最簡單的回歸算法了,現在關于線性回歸的原理做一個總結。

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

而線性回歸就是對給定的數據,找到一條均方誤差最小的直線或者說模型函數。這就是線性回歸的本質。

線性回歸的模型函數

線性回歸問題,給定的數據一般如下形式:
\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個樣本,每個樣本對應n維特征和一個輸出結果?,F在,我們的問題是對于一個新的數據(x_1^{(x)}, x_2^{(x)}, ..., x_n^{(x)}),它對應的結果y_x是多少呢?如果使用線性回歸來解決這個問題,那么對應的模型應該如下:

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

我們增加一個x_0=1的特征,可以簡化成:

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

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

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

h_\theta(X)=X\theta

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

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

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

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}
上式中有兩個2,上面的2表示平方,下面的2表示二范數。繼續化簡得:
\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}
要求使損失函數最小時的參數\theta,對\theta進行求導,令導數為0:

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

化簡,求出\theta

X^TX\theta = X^TY

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

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

梯度下降法求損失函數參數

梯度下降法的思想:

(1)對\theta賦值,這個值可以使隨機的

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

(3)當J(\theta)下降到無法繼續下降時,即J(\theta)\theta的導數為0時,此時\theta即為最佳參數

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

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

其中\alpha表示學習率,步長,由人工設置,經過若干次迭代,即可得到\theta的結果。

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

普通的線性回歸容易過擬合,為了防止過擬合,我們在建立線性模型的時候經常需要加入正則化項(正則項的作用是限制系數\theta),于是出現了Lasso回歸和嶺回歸。

Lasso回歸是線性回歸的基礎上加上L1正則化,它的損失函數是:

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

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

嶺回歸是線性回歸的基礎上加上L2正則化,它的損失函數是:

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

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

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,428評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,024評論 3 413
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事?!?“怎么了?”我有些...
    開封第一講書人閱讀 175,285評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,548評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,328評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,878評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,971評論 3 439
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,098評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,616評論 1 331
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,554評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,725評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,243評論 5 355
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 43,971評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,361評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,613評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,339評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,695評論 2 370