機(jī)器學(xué)習(xí)算法之一:Logistic 回歸算法的優(yōu)缺點(diǎn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
LogisTIc 回歸是二分類(lèi)任務(wù)中最常用的機(jī)器學(xué)習(xí)算法之一。它的設(shè)計(jì)思路簡(jiǎn)單,易于實(shí)現(xiàn),可以用作性能基準(zhǔn),且在很多任務(wù)中都表現(xiàn)很好。
因此,每個(gè)接觸機(jī)器學(xué)習(xí)的人都應(yīng)該熟悉其原理。LogisTIc 回歸的基礎(chǔ)原理在神經(jīng)網(wǎng)絡(luò)中也可以用到。在這篇文章中,你將明白什么是 LogisTIc 回歸、它是如何工作的、有哪些優(yōu)缺點(diǎn)等等。
什么是 LogisTIc 回歸?
和很多其他機(jī)器學(xué)習(xí)算法一樣,邏輯回歸也是從統(tǒng)計(jì)學(xué)中借鑒來(lái)的,盡管名字里有回歸倆字兒,但它不是一個(gè)需要預(yù)測(cè)連續(xù)結(jié)果的回歸算法。
與之相反,Logistic 回歸是二分類(lèi)任務(wù)的首選方法。它輸出一個(gè) 0 到 1 之間的離散二值結(jié)果。簡(jiǎn)單來(lái)說(shuō),它的結(jié)果不是 1 就是 0。
癌癥檢測(cè)算法可看做是 Logistic 回歸問(wèn)題的一個(gè)簡(jiǎn)單例子,這種算法輸入病理圖片并且應(yīng)該辨別患者是患有癌癥(1)或沒(méi)有癌癥(0)。
它是如何工作的?Logistic 回歸通過(guò)使用其固有的 logistic 函數(shù)估計(jì)概率,來(lái)衡量因變量(我們想要預(yù)測(cè)的標(biāo)簽)與一個(gè)或多個(gè)自變量(特征)之間的關(guān)系。
然后這些概率必須二值化才能真地進(jìn)行預(yù)測(cè)。這就是 logistic 函數(shù)的任務(wù),也稱(chēng)為 sigmoid 函數(shù)。Sigmoid 函數(shù)是一個(gè) S 形曲線,它可以將任意實(shí)數(shù)值映射到介于 0 和 1 之間的值,但并不會(huì)取到 0/1。然后使用閾值分類(lèi)器將 0 和 1 之間的值轉(zhuǎn)換為 0 或 1。
下面的圖片說(shuō)明了 logistic 回歸得出預(yù)測(cè)所需的所有步驟。
下面是 logistic 函數(shù)(sigmoid 函數(shù))的圖形表示:
我們希望隨機(jī)數(shù)據(jù)點(diǎn)被正確分類(lèi)的概率最大化,這就是最大似然估計(jì)。最大似然估計(jì)是統(tǒng)計(jì)模型中估計(jì)參數(shù)的通用方法。
你可以使用不同的方法(如優(yōu)化算法)來(lái)最大化概率。牛頓法也是其中一種,可用于查找許多不同函數(shù)的最大值(或最小值),包括似然函數(shù)。也可以用梯度下降法代替牛頓法。
Logistic 回歸 vs 線性回歸你可能會(huì)好奇:logistic 回歸和線性回歸之間的區(qū)別是什么。邏輯回歸得到一個(gè)離散的結(jié)果,但線性回歸得到一個(gè)連續(xù)的結(jié)果。預(yù)測(cè)房?jī)r(jià)的模型算是返回連續(xù)結(jié)果的一個(gè)好例子。該值根據(jù)房子大小或位置等參數(shù)的變化而變化。離散的結(jié)果總是一件事(你有癌癥)或另一個(gè)(你沒(méi)有癌癥)。
優(yōu)缺點(diǎn)Logistic 回歸是一種被人們廣泛使用的算法,因?yàn)樗浅8咝В恍枰蟮挠?jì)算量,又通俗易懂,不需要縮放輸入特征,不需要任何調(diào)整,且很容易調(diào)整,并且輸出校準(zhǔn)好的預(yù)測(cè)概率。
與線性回歸一樣,當(dāng)你去掉與輸出變量無(wú)關(guān)的屬性以及相似度高的屬性時(shí),logistic 回歸效果確實(shí)會(huì)更好。因此特征處理在 Logistic 和線性回歸的性能方面起著重要的作用。
Logistic 回歸的另一個(gè)優(yōu)點(diǎn)是它非常容易實(shí)現(xiàn),且訓(xùn)練起來(lái)很高效。在研究中,我通常以 Logistic 回歸模型作為基準(zhǔn),再嘗試使用更復(fù)雜的算法。
由于其簡(jiǎn)單且可快速實(shí)現(xiàn)的原因,Logistic 回歸也是一個(gè)很好的基準(zhǔn),你可以用它來(lái)衡量其他更復(fù)雜的算法的性能。
它的一個(gè)缺點(diǎn)就是我們不能用 logistic 回歸來(lái)解決非線性問(wèn)題,因?yàn)樗臎Q策面是線性的。我們來(lái)看看下面的例子,兩個(gè)類(lèi)各有倆實(shí)例。
顯然,我們不可能在不出錯(cuò)的情況下劃出一條直線來(lái)區(qū)分這兩個(gè)類(lèi)。使用簡(jiǎn)單的決策樹(shù)是個(gè)更好的選擇。
Logistic 回歸并非最強(qiáng)大的算法之一,它可以很容易地被更為復(fù)雜的算法所超越。另一個(gè)缺點(diǎn)是它高度依賴正確的數(shù)據(jù)表示。
這意味著邏輯回歸在你已經(jīng)確定了所有重要的自變量之前還不會(huì)成為一個(gè)有用的工具。由于其結(jié)果是離散的,Logistic 回歸只能預(yù)測(cè)分類(lèi)結(jié)果。它同時(shí)也以其容易過(guò)擬合而聞名。
何時(shí)適用就像我已經(jīng)提到的那樣,Logistic 回歸通過(guò)線性邊界將你的輸入分成兩個(gè)「區(qū)域」,每個(gè)類(lèi)別劃分一個(gè)區(qū)域。因此,你的數(shù)據(jù)應(yīng)當(dāng)是線性可分的,如下圖所示的數(shù)據(jù)點(diǎn):
換句話說(shuō):當(dāng) Y 變量只有兩個(gè)值時(shí)(例如,當(dāng)你面臨分類(lèi)問(wèn)題時(shí)),您應(yīng)該考慮使用邏輯回歸。注意,你也可以將 Logistic 回歸用于多類(lèi)別分類(lèi),下一節(jié)中將會(huì)討論。
多分類(lèi)任務(wù)現(xiàn)在有很多多分類(lèi)算法,如隨機(jī)森林分類(lèi)器或樸素貝葉斯分類(lèi)器。有些算法雖然看起來(lái)不能用于多分類(lèi),如 Logistic 回歸,但通過(guò)一些技巧,也可以用于多分類(lèi)任務(wù)。
我們從包含手寫(xiě)體 0 到 9 的數(shù)字圖像的 MNIST 數(shù)據(jù)集入手,討論這些最常見(jiàn)的「技巧」。這是一個(gè)多分類(lèi)任務(wù),我們的算法應(yīng)該告訴我們圖像對(duì)應(yīng)哪個(gè)數(shù)字。
1. 一對(duì)多(OVA)按照這個(gè)策略,你可以訓(xùn)練 10 個(gè)二分類(lèi)器,每個(gè)數(shù)字一個(gè)。這意味著訓(xùn)練一個(gè)分類(lèi)器來(lái)檢測(cè) 0,一個(gè)檢測(cè) 1,一個(gè)檢測(cè) 2,以此類(lèi)推。當(dāng)你想要對(duì)圖像進(jìn)行分類(lèi)時(shí),只需看看哪個(gè)分類(lèi)器的預(yù)測(cè)分?jǐn)?shù)最高
2. 一對(duì)一(OVO)按照這個(gè)策略,要為每一對(duì)數(shù)字訓(xùn)練一個(gè)二分類(lèi)器。這意味著要訓(xùn)練一個(gè)可以區(qū)分 0s 和 1s 的分類(lèi)器,一個(gè)可以區(qū)分 0s 和 2s 的分類(lèi)器,一個(gè)可以區(qū)分 1s 和 2s 的分類(lèi)器,等等。如果有 N 個(gè)類(lèi)別,則需要訓(xùn)練 N×N(N-1)/ 2 個(gè)分類(lèi)器,對(duì)于 MNIST 數(shù)據(jù)集,需要 45 個(gè)分類(lèi)器。
當(dāng)你要分類(lèi)圖像時(shí),就分別運(yùn)行這 45 個(gè)分類(lèi)器,并選擇性能最好的分類(lèi)器。這個(gè)策略與其他策略相比有一個(gè)很大的優(yōu)勢(shì),就是你只需要在它要分類(lèi)的兩個(gè)類(lèi)別的訓(xùn)練集上進(jìn)行訓(xùn)練。
像支持向量機(jī)分類(lèi)器這樣的算法在大型數(shù)據(jù)集上擴(kuò)展性不好,所以在這種情況下使用 Logistic 回歸這樣的二分類(lèi)算法的 OvO 策略會(huì)更好,因?yàn)樵谛?shù)據(jù)集上訓(xùn)練大量分類(lèi)器比在大數(shù)據(jù)集上訓(xùn)練一個(gè)分類(lèi)器要快。
在大多數(shù)算法中,sklearn 可以識(shí)別何時(shí)使用二分類(lèi)器進(jìn)行多分類(lèi)任務(wù),并自動(dòng)使用 OvA 策略。特殊情況:當(dāng)你嘗試使用支持向量機(jī)分類(lèi)器時(shí),它會(huì)自動(dòng)運(yùn)行 OvO 策略。
其它分類(lèi)算法其他常見(jiàn)的分類(lèi)算法有樸素貝葉斯、決策樹(shù)、隨機(jī)森林、支持向量機(jī)、k-近鄰等等。我們將在其他文章中討論它們,但別被這些機(jī)器學(xué)習(xí)算法的數(shù)量嚇到。請(qǐng)注意,最好能夠真正了解 4 或 5 種算法,并將精力集中在特征處理上,這也是未來(lái)工作的主題。
總結(jié)在這篇文章中,你已了解什么是 Logistic 回歸,以及它是如何工作的。你現(xiàn)在對(duì)其優(yōu)缺點(diǎn)也了有深刻的了解,并且知道何時(shí)用它。