回歸是統(tǒng)計(jì)學(xué)中最有力的工具之一,機(jī)器學(xué)習(xí)監(jiān)督學(xué)習(xí)算法分為分類算法和回歸算法兩種?;貧w算法用于連續(xù)型分布預(yù)測,可以預(yù)測連續(xù)型數(shù)據(jù)而不僅僅是離散的類別標(biāo)簽。
在機(jī)器學(xué)習(xí)領(lǐng)域,回歸分析應(yīng)用非常廣泛,例如商品的銷量預(yù)測問題,交通流量預(yù)測問題、預(yù)測房價(jià)、未來的天氣情況等等。
回歸算法是一種比較常用的機(jī)器學(xué)習(xí)算法,用來建立“解釋”變量(自變量X)和觀測值(因變量Y)之間的關(guān)系;從機(jī)器學(xué)習(xí)的角度來講,用于構(gòu)建一個算法模型(函數(shù))來做屬性(X)與標(biāo)簽(Y)之間的映射關(guān)系,在算法的學(xué)習(xí)過程中,試圖尋找一個函數(shù) 使得參數(shù)之間的關(guān)系擬合性最好。
回歸算法中算法(函數(shù))的最終結(jié)果是一個連續(xù)的數(shù)據(jù)值,輸入值(屬性值)是一個d維度的屬性/數(shù)值向量
常用的回歸算法包括線性回歸、多項(xiàng)式回歸、決策樹回歸、Ridge 回歸、Lasso 回歸、ElasticNet 回歸等等。
在本文中,將介紹以下常見回歸算法,及其各自特點(diǎn)。
線性回歸
多項(xiàng)式回歸
支持向量機(jī)回歸
決策樹回歸
隨機(jī)森林回歸
LASSO 回歸
Ridge 回歸
ElasticNet 回歸
XGBoost 回歸
局部加權(quán)線性回歸
一、線性回歸
線性回歸通常是人們學(xué)習(xí)機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)的第一個算法。線性回歸是一種線性模型,它假設(shè)輸入變量 (X) 和單個輸出變量 (y) 之間存在線性關(guān)系。一般來說,有兩種情況:
單變量線性回歸:它對單個輸入變量(單個特征變量)和單個輸出變量之間的關(guān)系進(jìn)行建模。
多變量線性回歸(也稱為多元線性回歸):它對多個輸入變量(多個特征變量)和單個輸出變量之間的關(guān)系進(jìn)行建模。
關(guān)于線性回歸的幾個關(guān)鍵點(diǎn):
快速且易于建模
當(dāng)要建模的關(guān)系不是非常復(fù)雜并且您沒有大量數(shù)據(jù)時(shí),它特別有用。
非常直觀的理解和解釋。
它對異常值非常敏感。
二、多項(xiàng)式回歸
當(dāng)我們想要為非線性可分?jǐn)?shù)據(jù)創(chuàng)建模型時(shí),多項(xiàng)式回歸是最受歡迎的選擇之一。它類似于線性回歸,但使用變量 X 和 y 之間的關(guān)系來找到繪制適合數(shù)據(jù)點(diǎn)的曲線的最佳方法。
關(guān)于多項(xiàng)式回歸的幾個關(guān)鍵點(diǎn):
能夠?qū)Ψ蔷€性可分?jǐn)?shù)據(jù)進(jìn)行建模;線性回歸不能做到這一點(diǎn)。一般來說,它更加靈活,可以對一些相當(dāng)復(fù)雜的關(guān)系進(jìn)行建模。
完全控制特征變量的建模(要設(shè)置的指數(shù))。
需要精心設(shè)計(jì)。需要一些數(shù)據(jù)知識才能選擇最佳指數(shù)。
如果指數(shù)選擇不當(dāng),則容易過度擬合。
三、支持向量機(jī)回歸
支持向量機(jī)在分類問題中是眾所周知的。SVM 在回歸中的使用稱為支持向量回歸(SVR)。Scikit-learn在 SVR()中內(nèi)置了這種方法。
關(guān)于支持向量回歸的幾個關(guān)鍵點(diǎn):
它對異常值具有魯棒性,并且在高維空間中有效
它具有出色的泛化能力(能夠正確適應(yīng)新的、以前看不見的數(shù)據(jù))
如果特征數(shù)量遠(yuǎn)大于樣本數(shù)量,則容易過擬合
四、決策樹回歸
決策樹是一種用于分類和回歸的非參數(shù)監(jiān)督學(xué)習(xí)方法。目標(biāo)是創(chuàng)建一個模型,通過學(xué)習(xí)從數(shù)據(jù)特征推斷出的簡單決策規(guī)則來預(yù)測目標(biāo)變量的值。一棵樹可以看作是一個分段常數(shù)近似。
關(guān)于決策樹的幾個關(guān)鍵點(diǎn):
易于理解和解釋。樹可以可視化。
適用于分類值和連續(xù)值
使用 DT(即預(yù)測數(shù)據(jù))的成本與用于訓(xùn)練樹的數(shù)據(jù)點(diǎn)數(shù)量成對數(shù)
決策樹的預(yù)測既不平滑也不連續(xù)(如上圖所示為分段常數(shù)近似)
五、隨機(jī)森林回歸
隨機(jī)森林回歸基本上與決策樹回歸非常相似。它是一個元估計(jì)器,可以在數(shù)據(jù)集的各種子樣本上擬合多個決策樹,并使用平均來提高預(yù)測準(zhǔn)確性和控制過擬合。
隨機(jī)森林回歸器在回歸中可能會或可能不會比決策樹表現(xiàn)更好(雖然它通常在分類中表現(xiàn)更好),因?yàn)闃錁?gòu)造算法本質(zhì)上存在微妙的過擬合 - 欠擬合權(quán)衡。
關(guān)于隨機(jī)森林回歸的幾點(diǎn):
減少決策樹中的過度擬合并提高準(zhǔn)確性。
它也適用于分類值和連續(xù)值。
需要大量計(jì)算能力和資源,因?yàn)樗m合許多決策樹來組合它們的輸出。
六、LASSO 回歸
LASSO 回歸是使用收縮的線性回歸的變體。收縮是將數(shù)據(jù)值收縮到中心點(diǎn)作為平均值的過程。這種類型的回歸非常適合顯示重度多重共線性(特征相互之間高度相關(guān))的模型。
關(guān)于 Lasso 回歸的幾點(diǎn):
它最常用于消除自動變量和選擇特征。
它非常適合顯示重度多重共線性(特征相互之間高度相關(guān))的模型。
LASSO 回歸利用 L1 正則化
LASSO 回歸被認(rèn)為比 Ridge 更好,因?yàn)樗贿x擇了一些特征并將其他特征的系數(shù)降低到零。
七、嶺回歸
嶺回歸(Ridge regression)與 LASSO 回歸非常相似,因?yàn)檫@兩種技術(shù)都使用了收縮。Ridge 和 LASSO 回歸都非常適合顯示重度多重共線性(特征相互之間高度相關(guān))的模型。它們之間的主要區(qū)別在于 Ridge 使用 L2 正則化,這意味著沒有一個系數(shù)會像 LASSO 回歸中那樣變?yōu)榱悖ǘ墙咏悖?/p>
關(guān)于嶺回歸的幾點(diǎn):
它非常適合顯示重度多重共線性(特征相互之間高度相關(guān))的模型。
嶺回歸使用 L2 正則化。貢獻(xiàn)較小的特征將具有接近于零的系數(shù)。
由于 L2 正則化的性質(zhì),嶺回歸被認(rèn)為比 LASSO 更差。
八、ElasticNet 回歸
ElasticNet 是另一個使用 L1 和 L2 正則化訓(xùn)練的線性回歸模型。它是 Lasso 和 Ridge 回歸技術(shù)的混合體,因此它也非常適合顯示重度多重共線性(特征相互之間高度相關(guān))的模型。
在 Lasso 和 Ridge 之間進(jìn)行權(quán)衡的一個實(shí)際優(yōu)勢是它允許 Elastic-Net 在旋轉(zhuǎn)下繼承 Ridge 的一些穩(wěn)定性。
九、XGBoost 回歸
XGBoost 是梯度提升算法的一種高效且有效的實(shí)現(xiàn)。梯度提升是指一類可用于分類或回歸問題的集成機(jī)器學(xué)習(xí)算法。
XGBoost 是一個開源庫,最初由 Chen Tianqi Chen 在其 2016 年題為“XGBoost: A Scalable Tree Boosting System”的論文中開發(fā)。該算法被設(shè)計(jì)為在計(jì)算上既高效又高效。
關(guān)于 XGBoost 的幾點(diǎn):
XGBoost 在稀疏和非結(jié)構(gòu)化數(shù)據(jù)上表現(xiàn)不佳。
該算法被設(shè)計(jì)為計(jì)算效率和高效,但是對于大型數(shù)據(jù)集的訓(xùn)練時(shí)間仍然相當(dāng)長。
它對異常值很敏感。
十、局部加權(quán)線性回歸
局部加權(quán)線性回歸(Local Weights Linear Regression)也是一種線性回歸。不同的是,普通線性回歸是全局線性回歸,使用全部的樣本計(jì)算回歸系數(shù)。而局部加權(quán)線性回歸,通過引入權(quán)值(核函數(shù)),在預(yù)測的時(shí)候,只使用與測試點(diǎn)相近的部分樣本來計(jì)算回歸系數(shù)。
優(yōu)缺點(diǎn) & 適用場景
優(yōu)點(diǎn)就是通過核函數(shù)加權(quán)來預(yù)防欠擬合,缺點(diǎn)也很明顯K需要調(diào)試。當(dāng)多元線性回歸過擬合的時(shí)候,可以嘗試高斯核局部加權(quán)來預(yù)防過擬合。
十一、貝葉斯嶺回歸
貝葉斯線性回歸(Bayesian linear regression)是使用統(tǒng)計(jì)學(xué)中貝葉斯推斷(Bayesian inference)方法求解的線性回歸(linear regression)模型。
貝葉斯線性回歸將線性模型的參數(shù)視為隨機(jī)變量(random variable),并通過模型參數(shù)(權(quán)重系數(shù))的先驗(yàn)(prior)計(jì)算其后驗(yàn)(posterior)。貝葉斯線性回歸可以使用數(shù)值方法求解,在一定條件下,也可得到解析型式的后驗(yàn)或其有關(guān)統(tǒng)計(jì)量。
貝葉斯線性回歸具有貝葉斯統(tǒng)計(jì)模型的基本性質(zhì),可以求解權(quán)重系數(shù)的概率密度函數(shù),進(jìn)行在線學(xué)習(xí)以及基于貝葉斯因子(Bayes factor)的模型假設(shè)檢驗(yàn)。
優(yōu)缺點(diǎn) & 適用場景
貝葉斯回歸的優(yōu)點(diǎn)就是對數(shù)據(jù)有自適應(yīng)能力,可以重復(fù)利用數(shù)據(jù)并防止過擬合,因?yàn)槲覀冊诠烙?jì)的過程中可以引入正則項(xiàng),比如在貝葉斯線性回歸的基礎(chǔ)上引入L2正則就是貝葉斯嶺回歸。
缺點(diǎn)就是學(xué)習(xí)過程開銷太大。當(dāng)特征數(shù)在10個以為,可以嘗試貝葉斯回歸。