當前位置:
首頁 > 新聞 > 入門|從原理到應用:簡述Logistic回歸演算法

入門|從原理到應用:簡述Logistic回歸演算法

Logistic 回歸是二分類任務中最常用的機器學習演算法之一。它的設計思路簡單,易於實現,可以用作性能基準,且在很多任務中都表現很好。

因此,每個接觸機器學習的人都應該熟悉其原理。Logistic 回歸的基礎原理在神經網路中也可以用到。在這篇文章中,你將明白什麼是 Logistic 回歸、它是如何工作的、有哪些優缺點等等。

入門|從原理到應用:簡述Logistic回歸演算法

目錄:

  • 什麼是 Logistic 回歸?

  • 它是如何工作的?

  • Logistic 回歸 vs 線性回歸

  • 優缺點

  • 何時適用

  • 多分類任務 (OvA, OvO)

  • 其它分類演算法

  • 總結

什麼是 Logistic 回歸?

和很多其他機器學習演算法一樣,邏輯回歸也是從統計學中借鑒來的,儘管名字里有回歸倆字兒,但它不是一個需要預測連續結果的回歸演算法。

與之相反,Logistic 回歸是二分類任務的首選方法。它輸出一個 0 到 1 之間的離散二值結果。簡單來說,它的結果不是 1 就是 0。

癌症檢測演算法可看做是 Logistic 回歸問題的一個簡單例子,這種演算法輸入病理圖片並且應該辨別患者是患有癌症(1)或沒有癌症(0)。

它是如何工作的?

Logistic 回歸通過使用其固有的 logistic 函數估計概率,來衡量因變數(我們想要預測的標籤)與一個或多個自變數(特徵)之間的關係。

然後這些概率必須二值化才能真地進行預測。這就是 logistic 函數的任務,也稱為 sigmoid 函數。Sigmoid 函數是一個 S 形曲線,它可以將任意實數值映射到介於 0 和 1 之間的值,但並不會取到 0/1。然後使用閾值分類器將 0 和 1 之間的值轉換為 0 或 1。

下面的圖片說明了 logistic 回歸得出預測所需的所有步驟。

入門|從原理到應用:簡述Logistic回歸演算法

下面是 logistic 函數(sigmoid 函數)的圖形表示:

入門|從原理到應用:簡述Logistic回歸演算法

我們希望隨機數據點被正確分類的概率最大化,這就是最大似然估計。最大似然估計是統計模型中估計參數的通用方法。

你可以使用不同的方法(如優化演算法)來最大化概率。牛頓法也是其中一種,可用於查找許多不同函數的最大值(或最小值),包括似然函數。也可以用梯度下降法代替牛頓法。

Logistic 回歸 vs 線性回歸

你可能會好奇:logistic 回歸和線性回歸之間的區別是什麼。邏輯回歸得到一個離散的結果,但線性回歸得到一個連續的結果。預測房價的模型算是返回連續結果的一個好例子。該值根據房子大小或位置等參數的變化而變化。離散的結果總是一件事(你有癌症)或另一個(你沒有癌症)。

優缺點

Logistic 回歸是一種被人們廣泛使用的演算法,因為它非常高效,不需要太大的計算量,又通俗易懂,不需要縮放輸入特徵,不需要任何調整,且很容易調整,並且輸出校準好的預測概率。

與線性回歸一樣,當你去掉與輸出變數無關的屬性以及相似度高的屬性時,logistic 回歸效果確實會更好。因此特徵處理在 Logistic 和線性回歸的性能方面起著重要的作用。

Logistic 回歸的另一個優點是它非常容易實現,且訓練起來很高效。在研究中,我通常以 Logistic 回歸模型作為基準,再嘗試使用更複雜的演算法。

由於其簡單且可快速實現的原因,Logistic 回歸也是一個很好的基準,你可以用它來衡量其他更複雜的演算法的性能。

它的一個缺點就是我們不能用 logistic 回歸來解決非線性問題,因為它的決策面是線性的。我們來看看下面的例子,兩個類各有倆實例。

入門|從原理到應用:簡述Logistic回歸演算法

顯然,我們不可能在不出錯的情況下划出一條直線來區分這兩個類。使用簡單的決策樹是個更好的選擇。

入門|從原理到應用:簡述Logistic回歸演算法

Logistic 回歸併非最強大的演算法之一,它可以很容易地被更為複雜的演算法所超越。另一個缺點是它高度依賴正確的數據表示。

這意味著邏輯回歸在你已經確定了所有重要的自變數之前還不會成為一個有用的工具。由於其結果是離散的,Logistic 回歸只能預測分類結果。它同時也以其容易過擬合而聞名。

何時適用

就像我已經提到的那樣,Logistic 回歸通過線性邊界將你的輸入分成兩個「區域」,每個類別劃分一個區域。因此,你的數據應當是線性可分的,如下圖所示的數據點:

入門|從原理到應用:簡述Logistic回歸演算法

換句話說:當 Y 變數只有兩個值時(例如,當你面臨分類問題時),您應該考慮使用邏輯回歸。注意,你也可以將 Logistic 回歸用於多類別分類,下一節中將會討論。

多分類任務

現在有很多多分類演算法,如隨機森林分類器或樸素貝葉斯分類器。有些演算法雖然看起來不能用於多分類,如 Logistic 回歸,但通過一些技巧,也可以用於多分類任務。

我們從包含手寫體 0 到 9 的數字圖像的 MNIST 數據集入手,討論這些最常見的「技巧」。這是一個多分類任務,我們的演算法應該告訴我們圖像對應哪個數字。

1)一對多(OVA)

按照這個策略,你可以訓練 10 個二分類器,每個數字一個。這意味著訓練一個分類器來檢測 0,一個檢測 1,一個檢測 2,以此類推。當你想要對圖像進行分類時,只需看看哪個分類器的預測分數最高

2)一對一(OVO)

按照這個策略,要為每一對數字訓練一個二分類器。這意味著要訓練一個可以區分 0s 和 1s 的分類器,一個可以區分 0s 和 2s 的分類器,一個可以區分 1s 和 2s 的分類器,等等。如果有 N 個類別,則需要訓練 N×N(N-1)/ 2 個分類器,對於 MNIST 數據集,需要 45 個分類器。

當你要分類圖像時,就分別運行這 45 個分類器,並選擇性能最好的分類器。這個策略與其他策略相比有一個很大的優勢,就是你只需要在它要分類的兩個類別的訓練集上進行訓練。

像支持向量機分類器這樣的演算法在大型數據集上擴展性不好,所以在這種情況下使用 Logistic 回歸這樣的二分類演算法的 OvO 策略會更好,因為在小數據集上訓練大量分類器比在大數據集上訓練一個分類器要快。

在大多數演算法中,sklearn 可以識別何時使用二分類器進行多分類任務,並自動使用 OvA 策略。特殊情況:當你嘗試使用支持向量機分類器時,它會自動運行 OvO 策略。

其它分類演算法

其他常見的分類演算法有樸素貝葉斯、決策樹、隨機森林、支持向量機、k-近鄰等等。我們將在其他文章中討論它們,但別被這些機器學習演算法的數量嚇到。請注意,最好能夠真正了解 4 或 5 種演算法,並將精力集中在特徵處理上,這也是未來工作的主題。

總結

在這篇文章中,你已了解什麼是 Logistic 回歸,以及它是如何工作的。你現在對其優缺點也了有深刻的了解,並且知道何時用它。

此外,你還探索了使用 Logistic 回歸與 sklearn 進行多分類的方法,以及為什麼前者是比其他機器學習演算法更好的基準演算法。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

從圖像處理到語音識別,25款數據科學家必知的深度學習開放數據集
基於注意力機制,機器之心帶你理解與訓練神經機器翻譯系統

TAG:機器之心 |