機(jī)器學(xué)習(xí)回歸模型的最全總結(jié)!
共 13224字,需瀏覽 27分鐘
·
2024-07-14 10:05
點(diǎn)擊上方“小白學(xué)視覺”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時(shí)間送達(dá)
【導(dǎo)讀】大家好,我是泳魚。一個(gè)樂于探索和分享AI知識的碼農(nóng)!
回歸分析為許多機(jī)器學(xué)習(xí)算法提供了堅(jiān)實(shí)的基礎(chǔ)。在這篇文章中,我們將介紹回歸分析概念、7種重要的回歸模型、10 個(gè)重要的回歸問題和5個(gè)評價(jià)指標(biāo)。
什么是回歸分析?
回歸分析是一種預(yù)測性的建模技術(shù),它研究的是因變量(目標(biāo))和自變量(預(yù)測器)之間的關(guān)系。這種技術(shù)通常用于預(yù)測分析,時(shí)間序列模型以及發(fā)現(xiàn)變量之間的因果關(guān)系。例如,司機(jī)的魯莽駕駛與道路交通事故數(shù)量之間的關(guān)系,最好的研究方法就是回歸。
回歸分析是建模和分析數(shù)據(jù)的重要工具。在這里,我們使用曲線/線來擬合這些數(shù)據(jù)點(diǎn),在這種方式下,從曲線或線到數(shù)據(jù)點(diǎn)的距離差異最小。我會在接下來的部分詳細(xì)解釋這一點(diǎn)。
我們?yōu)槭裁词褂没貧w分析?
如上所述,回歸分析估計(jì)了兩個(gè)或多個(gè)變量之間的關(guān)系。下面,讓我們舉一個(gè)簡單的例子來理解它:
比如說,在當(dāng)前的經(jīng)濟(jì)條件下,你要估計(jì)一家公司的銷售額增長情況。現(xiàn)在,你有公司最新的數(shù)據(jù),這些數(shù)據(jù)顯示出銷售額增長大約是經(jīng)濟(jì)增長的2.5倍。那么使用回歸分析,我們就可以根據(jù)當(dāng)前和過去的信息來預(yù)測未來公司的銷售情況。
使用回歸分析的好處良多。具體如下:
它表明自變量和因變量之間的顯著關(guān)系;
它表明多個(gè)自變量對一個(gè)因變量的影響強(qiáng)度。
回歸分析也允許我們?nèi)ケ容^那些衡量不同尺度的變量之間的相互影響,如價(jià)格變動與促銷活動數(shù)量之間聯(lián)系。這些有利于幫助市場研究人員,數(shù)據(jù)分析人員以及數(shù)據(jù)科學(xué)家排除并估計(jì)出一組最佳的變量,用來構(gòu)建預(yù)測模型。
我們有多少種回歸模型?
有各種各樣的回歸技術(shù)用于預(yù)測。這些技術(shù)主要有三個(gè)度量(自變量的個(gè)數(shù),因變量的類型以及回歸線的形狀)。我們將在下面的部分詳細(xì)討論它們。
對于那些有創(chuàng)意的人,如果你覺得有必要使用上面這些參數(shù)的一個(gè)組合,你甚至可以創(chuàng)造出一個(gè)沒有被使用過的回歸模型。但在你開始之前,先了解如下最常用的回歸方法:
1. Linear Regression線性回歸
它是最為人熟知的建模技術(shù)之一。線性回歸通常是人們在學(xué)習(xí)預(yù)測模型時(shí)首選的技術(shù)之一。在這種技術(shù)中,因變量是連續(xù)的,自變量可以是連續(xù)的也可以是離散的,回歸線的性質(zhì)是線性的。
線性回歸使用最佳的擬合直線(也就是回歸線)在因變量(Y)和一個(gè)或多個(gè)自變量(X)之間建立一種關(guān)系。
用一個(gè)方程式來表示它,即Y=a+b*X+e,其中a表示截距,b表示直線的斜率,e是誤差項(xiàng)。這個(gè)方程可以根據(jù)給定的預(yù)測變量(s)來預(yù)測目標(biāo)變量的值。
一元線性回歸和多元線性回歸的區(qū)別在于,多元線性回歸有(>1)個(gè)自變量,而一元線性回歸通常只有1個(gè)自變量。現(xiàn)在的問題是“我們?nèi)绾蔚玫揭粋€(gè)最佳的擬合線呢?”。
如何獲得最佳擬合線(a和b的值)?
這個(gè)問題可以使用最小二乘法輕松地完成。最小二乘法也是用于擬合回歸線最常用的方法。對于觀測數(shù)據(jù),它通過最小化每個(gè)數(shù)據(jù)點(diǎn)到線的垂直偏差平方和來計(jì)算最佳擬合線。因?yàn)樵谙嗉訒r(shí),偏差先平方,所以正值和負(fù)值沒有抵消。
我們可以使用R-square指標(biāo)來評估模型性能。想了解這些指標(biāo)的詳細(xì)信息,可以閱讀:模型性能指標(biāo)Part 1,Part 2。
要點(diǎn):
1.自變量與因變量之間必須有線性關(guān)系。
2.多元回歸存在多重共線性,自相關(guān)性和異方差性。
3.線性回歸對異常值非常敏感。它會嚴(yán)重影響回歸線,最終影響預(yù)測值。
4.多重共線性會增加系數(shù)估計(jì)值的方差,使得在模型輕微變化下,估計(jì)非常敏感。結(jié)果就是系數(shù)估計(jì)值不穩(wěn)定
5.在多個(gè)自變量的情況下,我們可以使用向前選擇法,向后剔除法和逐步篩選法來選擇最重要的自變量。
2. Logistic Regression邏輯回歸
邏輯回歸是用來計(jì)算“事件=Success”和“事件=Failure”的概率。(擴(kuò)展閱讀:全面解析并實(shí)現(xiàn)邏輯回歸(Python)、邏輯回歸優(yōu)化技巧總結(jié)(全))
當(dāng)因變量的類型屬于二元(1 / 0,真/假,是/否)變量時(shí),我們就應(yīng)該使用邏輯回歸。這里,Y的值從0到1,它可以用下方程表示。
odds= p/ (1-p) = probability of event occurrence / probability of not event occurrenceln(odds) = ln(p/(1-p))logit(p) = ln(p/(1-p)) = b0+b1X1+b2X2+b3X3....+bkXk
上述式子中,p表述具有某個(gè)特征的概率。你應(yīng)該會問這樣一個(gè)問題:“我們?yōu)槭裁匆诠街惺褂脤?shù)log呢?”。
因?yàn)樵谶@里我們使用的是的二項(xiàng)分布(因變量),我們需要選擇一個(gè)對于這個(gè)分布最佳的連結(jié)函數(shù)。它就是Logit函數(shù)。在上述方程中,通過觀測樣本的極大似然估計(jì)值來選擇參數(shù),而不是最小化平方和誤差(如在普通回歸使用的)。
要點(diǎn):
1.它廣泛的用于分類問題。 2.邏輯回歸不要求自變量和因變量是線性關(guān)系。它可以處理各種類型的關(guān)系,因?yàn)樗鼘︻A(yù)測的相對風(fēng)險(xiǎn)指數(shù)OR使用了一個(gè)非線性的log轉(zhuǎn)換。 3.為了避免過擬合和欠擬合,我們應(yīng)該包括所有重要的變量。有一個(gè)很好的方法來確保這種情況,就是使用逐步篩選方法來估計(jì)邏輯回歸。 4.它需要大的樣本量,因?yàn)樵跇颖緮?shù)量較少的情況下,極大似然估計(jì)的效果比普通的最小二乘法差。 5.自變量不應(yīng)該相互關(guān)聯(lián)的,即不具有多重共線性。然而,在分析和建模中,我們可以選擇包含分類變量相互作用的影響。 6.如果因變量的值是定序變量,則稱它為序邏輯回歸。 7.如果因變量是多類的話,則稱它為多元邏輯回歸。
3. Polynomial Regression多項(xiàng)式回歸
對于一個(gè)回歸方程,如果自變量的指數(shù)大于1,那么它就是多項(xiàng)式回歸方程。如下方程所示:y=a+b*x^2
在這種回歸技術(shù)中,最佳擬合線不是直線。而是一個(gè)用于擬合數(shù)據(jù)點(diǎn)的曲線。
重點(diǎn):
雖然會有一個(gè)誘導(dǎo)可以擬合一個(gè)高次多項(xiàng)式并得到較低的錯(cuò)誤,但這可能會導(dǎo)致過擬合。你需要經(jīng)常畫出關(guān)系圖來查看擬合情況,并且專注于保證擬合合理,既沒有過擬合又沒有欠擬合。
下面是一個(gè)圖例,可以幫助理解:
明顯地向兩端尋找曲線點(diǎn),看看這些形狀和趨勢是否有意義。更高次的多項(xiàng)式最后可能產(chǎn)生怪異的推斷結(jié)果。
4. Stepwise Regression逐步回歸
在處理多個(gè)自變量時(shí),我們可以使用這種形式的回歸。在這種技術(shù)中,自變量的選擇是在一個(gè)自動的過程中完成的,其中包括非人為操作。
這一壯舉是通過觀察統(tǒng)計(jì)的值,如R-square,t-stats和AIC指標(biāo),來識別重要的變量。逐步回歸通過同時(shí)添加/刪除基于指定標(biāo)準(zhǔn)的協(xié)變量來擬合模型。
下面列出了一些最常用的逐步回歸方法:
-
標(biāo)準(zhǔn)逐步回歸法做兩件事情。即增加和刪除每個(gè)步驟所需的預(yù)測。 -
向前選擇法從模型中最顯著的預(yù)測開始,然后為每一步添加變量。 向后剔除法與模型的所有預(yù)測同時(shí)開始,然后在每一步消除最小顯著性的變量。
這種建模技術(shù)的目的是使用最少的預(yù)測變量數(shù)來最大化預(yù)測能力。這也是處理高維數(shù)據(jù)集的方法之一。
5. Ridge Regression嶺回歸
嶺回歸分析是一種用于存在多重共線性(自變量高度相關(guān))數(shù)據(jù)的技術(shù)。在多重共線性情況下,盡管最小二乘法(OLS)對每個(gè)變量很公平,但它們的差異很大,使得觀測值偏移并遠(yuǎn)離真實(shí)值。嶺回歸通過給回歸估計(jì)上增加一個(gè)偏差度,來降低標(biāo)準(zhǔn)誤差。
上面,我們看到了線性回歸方程。還記得嗎?它可以表示為:
y=a+b*x這個(gè)方程也有一個(gè)誤差項(xiàng)。完整的方程是:
y=a+b*x+e (error term), [error term is the value needed to correct for a prediction error between the observed and predicted value]
=> y=a+y= a+ b1x1+ b2x2+....+e, for multiple independent variables.
在一個(gè)線性方程中,預(yù)測誤差可以分解為2個(gè)子分量。一個(gè)是偏差,一個(gè)是方差。預(yù)測錯(cuò)誤可能會由這兩個(gè)分量或者這兩個(gè)中的任何一個(gè)造成。在這里,我們將討論由方差所造成的有關(guān)誤差。
嶺回歸通過收縮參數(shù)λ(lambda)解決多重共線性問題。看下面的公式:
在這個(gè)公式中,有兩個(gè)組成部分。第一個(gè)是最小二乘項(xiàng),另一個(gè)是β2(β-平方)的λ倍,其中β是相關(guān)系數(shù)。為了收縮參數(shù)把它添加到最小二乘項(xiàng)中以得到一個(gè)非常低的方差。
要點(diǎn):
1.除常數(shù)項(xiàng)以外,這種回歸的假設(shè)與最小二乘回歸類似; 2.它收縮了相關(guān)系數(shù)的值,但沒有達(dá)到零,這表明它沒有特征選擇功能 3.這是一個(gè)正則化方法,并且使用的是L2正則化。
6. Lasso Regression套索回歸
它類似于嶺回歸,Lasso (Least Absolute Shrinkage and Selection Operator)也會懲罰回歸系數(shù)的絕對值大小。此外,它能夠減少變化程度并提高線性回歸模型的精度。看看下面的公式:
Lasso 回歸與Ridge回歸有一點(diǎn)不同,它使用的懲罰函數(shù)是絕對值,而不是平方。這導(dǎo)致懲罰(或等于約束估計(jì)的絕對值之和)值使一些參數(shù)估計(jì)結(jié)果等于零。使用懲罰值越大,進(jìn)一步估計(jì)會使得縮小值趨近于零。這將導(dǎo)致我們要從給定的n個(gè)變量中選擇變量。
要點(diǎn):
1.除常數(shù)項(xiàng)以外,這種回歸的假設(shè)與最小二乘回歸類似; 2.它收縮系數(shù)接近零(等于零),這確實(shí)有助于特征選擇; 3.這是一個(gè)正則化方法,使用的是L1正則化;
如果預(yù)測的一組變量是高度相關(guān)的,Lasso 會選出其中一個(gè)變量并且將其它的收縮為零。
7. ElasticNet回歸
ElasticNet是Lasso和Ridge回歸技術(shù)的混合體。它使用L1來訓(xùn)練并且L2優(yōu)先作為正則化矩陣。當(dāng)有多個(gè)相關(guān)的特征時(shí),ElasticNet是很有用的。Lasso 會隨機(jī)挑選他們其中的一個(gè),而ElasticNet則會選擇兩個(gè)。
Lasso和Ridge之間的實(shí)際的優(yōu)點(diǎn)是,它允許ElasticNet繼承循環(huán)狀態(tài)下Ridge的一些穩(wěn)定性。
要點(diǎn):
1.在高度相關(guān)變量的情況下,它會產(chǎn)生群體效應(yīng); 2.選擇變量的數(shù)目沒有限制; 3.它可以承受雙重收縮。
除了這7個(gè)最常用的回歸技術(shù),你也可以看看其他模型,如Bayesian、Ecological和Robust回歸。
如何正確選擇回歸模型?
當(dāng)你只知道一個(gè)或兩個(gè)技術(shù)時(shí),生活往往很簡單。我知道的一個(gè)培訓(xùn)機(jī)構(gòu)告訴他們的學(xué)生,如果結(jié)果是連續(xù)的,就使用線性回歸。如果是二元的,就使用邏輯回歸!然而,在我們的處理中,可選擇的越多,選擇正確的一個(gè)就越難。類似的情況下也發(fā)生在回歸模型中。
在多類回歸模型中,基于自變量和因變量的類型,數(shù)據(jù)的維數(shù)以及數(shù)據(jù)的其它基本特征的情況下,選擇最合適的技術(shù)非常重要。以下是你要選擇正確的回歸模型的關(guān)鍵因素:
1.數(shù)據(jù)探索是構(gòu)建預(yù)測模型的必然組成部分。在選擇合適的模型時(shí),比如識別變量的關(guān)系和影響時(shí),它應(yīng)該首選的一步。
2. 比較適合于不同模型的優(yōu)點(diǎn),我們可以分析不同的指標(biāo)參數(shù),如統(tǒng)計(jì)意義的參數(shù),R-square,Adjusted R-square,AIC,BIC以及誤差項(xiàng),另一個(gè)是Mallows’ Cp準(zhǔn)則。這個(gè)主要是通過將模型與所有可能的子模型進(jìn)行對比(或謹(jǐn)慎選擇他們),檢查在你的模型中可能出現(xiàn)的偏差。
3.交叉驗(yàn)證是評估預(yù)測模型最好額方法。在這里,將你的數(shù)據(jù)集分成兩份(一份做訓(xùn)練和一份做驗(yàn)證)。使用觀測值和預(yù)測值之間的一個(gè)簡單均方差來衡量你的預(yù)測精度。
4.如果你的數(shù)據(jù)集是多個(gè)混合變量,那么你就不應(yīng)該選擇自動模型選擇方法,因?yàn)槟銘?yīng)該不想在同一時(shí)間把所有變量放在同一個(gè)模型中。
5.它也將取決于你的目的。可能會出現(xiàn)這樣的情況,一個(gè)不太強(qiáng)大的模型與具有高度統(tǒng)計(jì)學(xué)意義的模型相比,更易于實(shí)現(xiàn)。
6.回歸正則化方法(Lasso,Ridge和ElasticNet)在高維和數(shù)據(jù)集變量之間多重共線性情況下運(yùn)行良好。
線性回歸的假設(shè)是什么?
-
線性:自變量(x)和因變量(y)之間應(yīng)該存在線性關(guān)系,這意味著x值的變化也應(yīng)該在相同方向上改變y值。 -
獨(dú)立性:特征應(yīng)該相互獨(dú)立,這意味著最小的多重共線性。 -
正態(tài)性:殘差應(yīng)該是正態(tài)分布的。 -
同方差性:回歸線周圍數(shù)據(jù)點(diǎn)的方差對于所有值應(yīng)該相同。
什么是殘差,它如何用于評估回歸模型?
如何區(qū)分線性回歸模型和非線性回歸模型?
-
殘差圖; -
散點(diǎn)圖; -
假設(shè)數(shù)據(jù)是線性的,訓(xùn)練一個(gè)線性模型并通過準(zhǔn)確率進(jìn)行評估。
什么是多重共線性,它如何影響模型性能?
異常值如何影響線性回歸模型的性能?
什么是 MSE 和 MAE 有什么區(qū)別?
L1 和 L2 正則化是什么,應(yīng)該在什么時(shí)候使用?
異方差是什么意思?
方差膨脹因子的作用是什么的作用是什么?
逐步回歸(stepwise regression)如何工作?
除了MSE 和 MAE 外回歸還有什么重要的指標(biāo)嗎?
指標(biāo)一:平均絕對誤差(MAE)
指標(biāo)二:均方誤差(MSE)
指標(biāo)三:均方根誤差 (RMSE)
指標(biāo)四:R2 score
-
如果 R2 得分為 0,則意味著我們的模型與平均線的結(jié)果是相同的,因此需要改進(jìn)我們的模型。 -
如果 R2 得分為 1,則等式的右側(cè)部分變?yōu)?0,這只有在我們的模型適合每個(gè)數(shù)據(jù)點(diǎn)并且沒有出現(xiàn)誤差時(shí)才會發(fā)生。 -
如果 R2 得分為負(fù),則表示等式右側(cè)大于 1,這可能發(fā)生在 SSR > SSM 時(shí)。這意味著我們的模型比平均線最差,也就是說我們的模型還不如取平均數(shù)進(jìn)行預(yù)測。
指標(biāo)五:Adjusted R2 score
下載1:OpenCV-Contrib擴(kuò)展模塊中文版教程
在「小白學(xué)視覺」公眾號后臺回復(fù):擴(kuò)展模塊中文教程,即可下載全網(wǎng)第一份OpenCV擴(kuò)展模塊教程中文版,涵蓋擴(kuò)展模塊安裝、SFM算法、立體視覺、目標(biāo)跟蹤、生物視覺、超分辨率處理等二十多章內(nèi)容。
下載2:Python視覺實(shí)戰(zhàn)項(xiàng)目52講
在「小白學(xué)視覺」公眾號后臺回復(fù):Python視覺實(shí)戰(zhàn)項(xiàng)目,即可下載包括圖像分割、口罩檢測、車道線檢測、車輛計(jì)數(shù)、添加眼線、車牌識別、字符識別、情緒檢測、文本內(nèi)容提取、面部識別等31個(gè)視覺實(shí)戰(zhàn)項(xiàng)目,助力快速學(xué)校計(jì)算機(jī)視覺。
下載3:OpenCV實(shí)戰(zhàn)項(xiàng)目20講
在「小白學(xué)視覺」公眾號后臺回復(fù):OpenCV實(shí)戰(zhàn)項(xiàng)目20講,即可下載含有20個(gè)基于OpenCV實(shí)現(xiàn)20個(gè)實(shí)戰(zhàn)項(xiàng)目,實(shí)現(xiàn)OpenCV學(xué)習(xí)進(jìn)階。
交流群
歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、三維視覺、傳感器、自動駕駛、計(jì)算攝影、檢測、分割、識別、醫(yī)學(xué)影像、GAN、算法競賽等微信群(以后會逐漸細(xì)分),請掃描下面微信號加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺SLAM“。請按照格式備注,否則不予通過。添加成功后會根據(jù)研究方向邀請進(jìn)入相關(guān)微信群。請勿在群內(nèi)發(fā)送廣告,否則會請出群,謝謝理解~
