線性回歸是處理回歸任務(wù)最常用的算法之一,是利用回歸方程(函數(shù))在一個(gè)或多個(gè)自變量和因變量之間進(jìn)行函數(shù)擬合以便探尋數(shù)據(jù)背后規(guī)律的一種分析方式。線性回歸常用于連續(xù)值的預(yù)測(cè)。例如,預(yù)測(cè)具有10年工作經(jīng)驗(yàn)的大學(xué)畢業(yè)生的工資,預(yù)測(cè)一種新產(chǎn)品的銷售價(jià)格等業(yè)務(wù)場(chǎng)景。
線性回歸算法是最簡(jiǎn)單的回歸形式,主要用于研究因變量(響應(yīng)變量,目標(biāo)變量)和自變量(預(yù)測(cè)變量)之間的關(guān)系,隨著自變量的變化,因變量也會(huì)隨之發(fā)生變化。
?這段話怎么理解呢?有幾個(gè)名詞需要解釋,如下。
(1)什么是回歸任務(wù)?
回歸任務(wù)就像是猜數(shù)字游戲,但這個(gè)數(shù)字是根據(jù)一些其他的線索來(lái)猜的。比如說(shuō),你想知道一個(gè)房子能賣多少錢,你會(huì)找一些線索,像房子的面積、房間數(shù)量這些東西。然后根據(jù)這些線索來(lái)猜出房子的價(jià)格,這個(gè)猜房子價(jià)格的過(guò)程就是回歸任務(wù),它主要是為了猜出一個(gè)連續(xù)的數(shù)字,像價(jià)格、溫度、身高這些數(shù)字都可以通過(guò)回歸任務(wù)來(lái)預(yù)測(cè)。
(2)回歸方程是什么?
回歸方程就像是一個(gè)魔法公式。你把那些線索(自變量)放進(jìn)這個(gè)公式里,它就能給你算出你想要猜的那個(gè)數(shù)字(因變量)。比如說(shuō),有一個(gè)簡(jiǎn)單的公式是“價(jià)格=500×面積+1000”,這里的“面積”就是線索(自變量),“價(jià)格”就是你要猜的數(shù)字(因變量)。這個(gè)公式就是通過(guò)分析很多房子的面積和價(jià)格的數(shù)據(jù)得出來(lái)的,有了這個(gè)公式,你只要知道房子的面積,就能算出一個(gè)大概的價(jià)格。
(3)什么是自變量,什么是因變量?
①自變量:自變量就是那些能影響結(jié)果的因素,就像剛才說(shuō)的房子的面積、房間數(shù)量。這些東西是你可以知道或者可以改變的,它們會(huì)對(duì)最終的價(jià)格產(chǎn)生影響。你可以把自變量想象成做菜的原料,不同的原料(自變量)會(huì)做出不同味道(因變量)的菜。
②因變量:因變量就是你最終想要知道的結(jié)果。還是拿房子來(lái)說(shuō),房子的價(jià)格就是因變量。它會(huì)因?yàn)榉孔拥拿娣e、房間數(shù)量這些自變量的變化而變化。就像菜的味道會(huì)因?yàn)樵系牟煌煌蜃兞渴潜蛔宰兞坑绊懙?,是我們?cè)诨貧w任務(wù)里重點(diǎn)要預(yù)測(cè)的那個(gè)數(shù)字。
當(dāng)數(shù)據(jù)分析中只有一個(gè)自變量和一個(gè)因變量,那么兩者的關(guān)系會(huì)表示為一條直線,稱為一元線性回歸。線性函數(shù)關(guān)系表示為:
y=α+βx
其中,y是因變量,x是自變量,α是回歸常數(shù),β為回歸系數(shù),分別表示直線在Y軸的截距和直線的斜率。例如,通過(guò)自變量“工齡”的值來(lái)預(yù)測(cè)因變量“薪水”的值,就屬于一元線性回歸。當(dāng)數(shù)據(jù)分析中有至少兩個(gè)的自變量,稱為多元線性回歸。自變量和因變量之間的線性函數(shù)關(guān)系可以表示為:

其中,y是因變量,x1,x2,… ,xp為不同的自變量,β1,β2,… ,βp則為這些自變量前的回歸系數(shù),β0為回歸常數(shù),ε為殘差。例如,通過(guò)“工齡”、“行業(yè)”、“所在城市”等多個(gè)自變量來(lái)預(yù)測(cè)因變量“薪水”,就屬于多元線性回歸。
對(duì)于實(shí)際問(wèn)題,獲得n組觀測(cè)數(shù)據(jù)(xi1,xi2,… ,xip) i=1,2,...,n,則多元線性回歸模型可以表示為:

寫成矩陣形式 y = X β + ε,式中

X是n × ( p + 1 )階矩陣,是自變量的樣本矩陣。
2、線性回歸算法實(shí)現(xiàn)
以一元回歸為例,如圖所示,其中y2為實(shí)際值,y ?2為預(yù)測(cè)值。一元線性回歸的目的就是擬合出一條線來(lái)使得預(yù)測(cè)值和實(shí)際值盡可能接近,如果大部分點(diǎn)都落在擬合出來(lái)的線上,則該線性回歸模型擬合得較好。

在數(shù)學(xué)上,可以通過(guò)實(shí)際值與預(yù)測(cè)值的差值的平方和(又稱殘差平方和)來(lái)進(jìn)行衡量,公式如下:

在機(jī)器學(xué)習(xí)領(lǐng)域,殘差平方和又稱為回歸模型的損失函數(shù)。顯然希望殘差平方和越小越好,這樣實(shí)際值和預(yù)測(cè)值就越接近。
如何求得回歸系數(shù)和截距的參數(shù)估計(jì)值,使得殘差平方和最小呢?數(shù)學(xué)上可以使用最小二乘法求解,對(duì)上述公式進(jìn)行求導(dǎo),然后令其導(dǎo)數(shù)為0,求出系數(shù)的解。上述公式進(jìn)行求導(dǎo),當(dāng)導(dǎo)數(shù)為0時(shí),殘差平方和最小。
(1)最小二乘法
對(duì)于多元線性回歸y = X β + ε,最小二乘法就是尋找β0,β1,… ,βp,使誤差平方和達(dá)到最小/極小值,需要最小化的函數(shù)表示為:

如使用矩陣表示,上式可以表示為:

根據(jù)微分求極值原理,對(duì)方程求導(dǎo)并令導(dǎo)數(shù)等于0,可到微分方程組。求方程組,可得到參數(shù)β的解,用矩陣形式表示為:

3、回歸方程的顯著性檢驗(yàn)
建立回歸方程后,回歸效果如何?因變量與自變量是否確實(shí)存在線性關(guān)系呢?這是需要進(jìn)行回歸方程顯著性檢驗(yàn)的,檢驗(yàn)這個(gè)回歸方程本身是否有效,即是否達(dá)到統(tǒng)計(jì)意義。如果檢驗(yàn)發(fā)現(xiàn)它不顯著,那么這個(gè)方程就可以直接放棄。
什么叫回歸方程有統(tǒng)計(jì)意義呢?由于建立回歸方程的目的是尋找y隨x變化的規(guī)律,如果回歸方程所有的系數(shù)值都為0,那么不管x如何變化,y不隨x的變化作線性變化,那么這時(shí)求得的線性回歸方程就沒(méi)有意義,稱回歸方程不顯著;如果至少有一個(gè)回歸系數(shù)不為0,那么當(dāng)x變化時(shí),y隨x的變化作線性變化,那么這時(shí)求得的回歸方程就有意義,稱回歸方程是顯著的。
因變量y的均值可以表示為:

所有觀測(cè)值yi與n次觀測(cè)值的平均值的差,稱為離差,而全部n次觀測(cè)值的總離差稱為總的離差平方和,公式可以表示為:

SSR(回歸平方和):是回歸預(yù)測(cè)值與均值之差的平方和,它反映了自變量的變化所引起的波動(dòng)。
SSE(殘差平方和):是實(shí)測(cè)值與預(yù)測(cè)值之差的平方和,它是由試驗(yàn)誤差及其它因素引起的。
擬合優(yōu)度:為檢驗(yàn)總的回歸效果,引入了無(wú)量綱指標(biāo),它是回歸平方和SSR和總的離差平方和的比值,稱為決定系數(shù)(R-Square),用來(lái)檢驗(yàn)回歸模型的擬合優(yōu)度。

值在0到1之間,越接近1,表示模型對(duì)數(shù)據(jù)的擬合越好,即回歸方程能解釋因變量的大部分變異;越接近,表示模型擬合效果越差,自變量對(duì)因變量的解釋能力較弱