機器學習筆記——邏輯回歸(對數幾率回歸)和朴素貝葉斯分類器的對比


一 綜述

  由於邏輯回歸和朴素貝葉斯分類器都采用了極大似然法進行參數估計,所以它們會被經常用來對比。(另一對經常做對比的是邏輯回歸和SVM,因為它們都是通過建立一個超平面來實現分類的)本文主要介紹這兩種分類器的相同點和不同點。

二.兩者的不同點

1.兩者比較明顯的不同之處在於,邏輯回歸屬於判別式模型,而朴素貝葉斯屬於生成式模型。具體來說,兩者的目標雖然都是最大化后驗概率,但是邏輯回歸是直接對后驗概率P(Y|X)進行建模,而朴素貝葉斯是對聯合概率P(X,Y)進行建模,所以說兩者的出發點是不同的。

(西瓜書上關於貝葉斯分類器的那章有比較詳細的解釋)

2.朴素貝葉斯分類器要求“屬性條件獨立假設”即,對於已知類別的樣本x,假設x的所有屬性是相互獨立的。這就導致了兩點與邏輯回歸的不同之處:

(1)朴素貝葉斯的限制條件比邏輯回歸更加嚴格,意味着邏輯回歸的應用范圍更廣。

(2)朴素貝葉斯可以不通過(而不是不能梯度下降等優化方法進行參數優化,事實上,在利用極大似然法的進行參數估計的時候,由於其嚴格的條件限制,朴素貝葉斯分類器的相關參數就已經很明確了,或者說是有固定的形式了(此處可以參考:https://www.cnblogs.com/wangkundentisy/p/9127399.html),它可以直接通過統計每個特征的邏輯發生比來當做權重。;而邏輯回歸求得的參數並沒有明確的形式(因為他沒有朴素貝葉斯那么嚴格的限制條件),可以通過梯度下降法等優化方法,得到特征之間的耦合信息,從而得到相應的權重(參數)。

3.更直觀的來看,邏輯回歸是通過學習超平面來實現分類,而朴素貝葉斯通過考慮特征的概率來實現分類。

4.邏輯回歸在有相關性feature上面學習得到的模型在測試數據的performance更好。也就是說,邏輯回歸在訓練時,不管特征之間有沒有相關性,它都能找到最優的參數。而在朴素貝葉斯中,由於我們給定特征直接相互獨立的嚴格設定,在有相關性的feature上面學習到的權重同時變大或變小,它們之間的權重不會相互影響。從這方面來說,如果能夠在對參數較好地控制,在損失項方面處理的很好的話,邏輯回歸相對朴素貝葉斯在應用時更不會限制在特征工程(feature engineering)上面。(簡言之,邏輯回歸對特征工程的要求相對朴素貝葉斯更低)

5.朴素貝葉斯的好處是沒有優化參數這一步(由2可知),通過訓練數據可以直接得到一個counting table,這些有助於並行化。

6.Andrew Ng和Michael Jordan在2001年發了一篇NIPS短文《 On Discriminative vs. Generative classifiers: A comparison of logistic regression and naive Bayes 》,他們把這兩個模型用在各種數據集上面進行測試,最后得到在小數據上面朴素貝葉斯分類器可以取得更好的效果,隨着數據的增多、特征維度的增大,邏輯回歸的效果更好。這也是因為朴素貝葉斯是生成模型,在有prior的情況下模型能夠把數據fit的更好,而邏輯回歸屬於判別模型,目標驅動化,不去建模聯合概率,通過訓練數據直接預測輸出,因此在數據足夠多的情況下能夠得到更好一些的效果。

三.兩者的相同點

1.兩者都利用了極大似然法進行參數估計。雖然似然函數的目標不同。

2.邏輯回歸和朴素貝葉斯分類器都是對特征的線性表達,雖然兩者擬合的參數不同,前者是W和b后者是先驗概率和似然(參考:https://www.cnblogs.com/wangkundentisy/p/9127399.html)。

3.邏輯回歸和朴素貝葉斯建模的都是條件概率(后者通過貝葉斯公式得到) ,對所最終求得的不同類的結果有很好的解釋性。而不像SVM,神經網絡這樣解釋性不高。

 

參考:http://sunshiningjiang.github.io/2015/05/08/Comparision-between-Logistic-Regression-and-Naive-Bayes/

   https://www.zhihu.com/question/265995680


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM