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