
大數(shù)據(jù)文摘編譯
在數(shù)據(jù)領(lǐng)域初學(xué)時(shí),大家常聽到的一個(gè)建議是:不要試圖把整個(gè)機(jī)器學(xué)習(xí)都學(xué)透——因?yàn)樗鼘?shí)在太龐大且變化太快,根本不現(xiàn)實(shí);
而更應(yīng)該聚焦在少數(shù)幾個(gè)與數(shù)據(jù)工作日常緊密相關(guān)的模型,比如決策樹、支持向量機(jī),當(dāng)然,還有線性回歸。
線性回歸本身就是一個(gè)非常實(shí)用的模型,更有意思的是,許多其他機(jī)器學(xué)習(xí)模型其實(shí)都是在它的基礎(chǔ)上稍作改動(dòng)而來。
本文的目的,就是想讓大家看到這一點(diǎn)。接下來,我們會(huì)先簡要回顧一下線性回歸的基本原理,然后再介紹它的幾種常見變體。
01 線性回歸再認(rèn)識(shí)
線性回歸屬于監(jiān)督學(xué)習(xí),也就是說我們有一個(gè)明確的輸出變量(即目標(biāo)變量),我們假定它是輸入特征的線性函數(shù)。通常我們會(huì)用下面這樣的公式來表示:

這里,y 是目標(biāo)變量,x 是包含所有輸入特征的向量,ε 代表“噪聲”,也就是那些讓我們的數(shù)據(jù)點(diǎn)無法完全落在直線上的誤差。
我們進(jìn)一步假設(shè)這些噪聲服從均值為0、方差恒定的正態(tài)分布,也就是說,無論特征值大小如何,數(shù)據(jù)點(diǎn)距離直線的遠(yuǎn)近都是類似的。
換句話說,理想中的線性回歸散點(diǎn)圖大致是這樣的:

而不是這樣的:

(方差不恒定時(shí)的圖像,線性回歸失效)
02 多項(xiàng)式回歸
在線性回歸中,我們假設(shè)目標(biāo)變量是特征的線性函數(shù)。
但在實(shí)際問題中,目標(biāo)往往和特征之間關(guān)系更為復(fù)雜。剛意識(shí)到這一點(diǎn)時(shí),很多人可能會(huì)覺得棘手,仿佛我們需要去找到某個(gè)函數(shù) f,使得 y = f(x) + 噪聲。
不過,如果仔細(xì)想想線性回歸的原理,就會(huì)發(fā)現(xiàn)現(xiàn)實(shí)世界很多規(guī)律其實(shí)都是連續(xù)的,這類函數(shù)往往可以用多項(xiàng)式很好地逼近(感興趣的同學(xué)可以去查查 Weierstrass 逼近定理或 Stone-Weierstrass 定理)。
線性函數(shù)其實(shí)只是一次多項(xiàng)式而已,所以多項(xiàng)式回歸可以看作是一種自然的推廣。模型形式大致如下:

如果你在初步分析數(shù)據(jù)時(shí),發(fā)現(xiàn)目標(biāo)與輸入的關(guān)系是彎曲的、非線性的,那么多項(xiàng)式回歸或許值得一試。比如下圖:

(x3-x 曲線的數(shù)據(jù)擬合示意圖)
03 廣義線性回歸
多項(xiàng)式回歸改變的是等式右側(cè)的函數(shù)形式,那左側(cè)呢?如果不是目標(biāo)變量本身,而是它的某個(gè)函數(shù)和輸入的線性組合有關(guān)呢?也就是說,模型變成了:

這就是廣義線性回歸(Generalized Linear Regression,GLM)。
當(dāng) f(y) = y 時(shí),就是我們前面討論的普通線性回歸,所以廣義線性回歸是它的直接擴(kuò)展。
那 f 可以取什么形式呢?這取決于具體建模任務(wù),但有幾個(gè)常見的特例:
如果懷疑目標(biāo)變量服從泊松分布,自然可以取 f(y) = ln(y),這就是泊松回歸。
還有更常見的分類問題。雖然線性回歸及其變體主要用于回歸任務(wù)(顧名思義),但數(shù)據(jù)人第一次接觸分類任務(wù)時(shí),往往學(xué)到的第一個(gè)模型就是邏輯回歸。其實(shí),邏輯回歸正是廣義線性回歸在 logit 函數(shù)(f(y) = ln(y/(1-y))) 下的特例。
04 貝葉斯線性回歸
這里不打算展開貝葉斯統(tǒng)計(jì)的基礎(chǔ)知識(shí),相關(guān)資料很多,有興趣的同學(xué)可以自行查閱。
簡單來說,就是當(dāng)我們的數(shù)據(jù)很少、信息有限時(shí),可以借助專家意見(先驗(yàn)知識(shí))來輔助建模,獲得對問題更全面的認(rèn)識(shí)。在線性回歸的情境下,如果數(shù)據(jù)點(diǎn)很少,直接擬合參數(shù)往往不靠譜,因?yàn)樾畔⒘坎蛔恪?/p>
但如果我們不追求唯一的“最佳擬合直線”,而是希望得到一條“高度可能包含真實(shí)直線”的區(qū)域,那么貝葉斯線性回歸正好可以滿足這樣的需求。
數(shù)學(xué)細(xì)節(jié)可能會(huì)比較復(fù)雜,但核心思想就是:與其給出一條確定的直線,不如給出一個(gè)可能包含直線的區(qū)域。數(shù)據(jù)點(diǎn)越多,這個(gè)區(qū)域就越窄,我們對直線的位置也越有信心。如下圖所示:

(貝葉斯回歸的置信區(qū)間示意圖)
05 神經(jīng)網(wǎng)絡(luò)
回到開頭給初學(xué)者的建議,雖然深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)現(xiàn)在非?;鸨?,相關(guān)研究也是機(jī)器學(xué)習(xí)領(lǐng)域的前沿,但其實(shí)本質(zhì)上,神經(jīng)網(wǎng)絡(luò)也就是大量“重型并行版的線性回歸”再加上“激活函數(shù)”而已。
簡單來說,神經(jīng)網(wǎng)絡(luò)由許多“神經(jīng)元”(也叫感知機(jī))組成,分布在不同的層中。每個(gè)神經(jīng)元本質(zhì)上就是一個(gè)線性回歸,加上一個(gè)激活函數(shù),用來判斷輸入是否足夠讓神經(jīng)元“激活”。神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程,其實(shí)就是在不斷調(diào)整這些線性回歸的系數(shù)。
歸根結(jié)底,神經(jīng)網(wǎng)絡(luò)就是大量的線性回歸!不同的網(wǎng)絡(luò)結(jié)構(gòu),核心區(qū)別無非是神經(jīng)元(線性回歸單元)數(shù)量和層數(shù)的不同。最復(fù)雜的深度網(wǎng)絡(luò),神經(jīng)元可以多達(dá)上百萬,層數(shù)也很多。
激活函數(shù)的選擇也有多種(Heaviside、ReLU、Sigmoid 等都很常見),有的網(wǎng)絡(luò)還會(huì)在不同層用不同的激活函數(shù) 。
但本質(zhì)區(qū)別也就這些。無論是 CNN、自動(dòng)編碼器、Transformer 等等,歸根結(jié)底,都是由大量小小的線性回歸單元組成的。
06 總結(jié)
所以,線性回歸或許看起來有些平淡無奇,但它其實(shí)是許多機(jī)器學(xué)習(xí)模型的基礎(chǔ)。上面這些討論遠(yuǎn)遠(yuǎn)不是全部內(nèi)容,但希望能讓你意識(shí)到線性回歸的重要性。千萬不要小看線性回歸!
https://medium.com/data-and-beyond/do-not-underestimate-linear-regression-4680a19f5838
GPU算力按需租用
A100/H100 GPU算力按需租用,
秒級(jí)計(jì)費(fèi),平均節(jié)省開支30%以上!
掃碼了解詳情?

熱門跟貼