1. 程式人生 > >樸素貝葉斯 VS 邏輯迴歸 區別

樸素貝葉斯 VS 邏輯迴歸 區別



總結起來,有以下幾點不同:

(1)     Naive Bayes是一個生成模型,在計算P(y|x)之前,先要從訓練資料中計算P(x|y)和P(y)的概率,從而利用貝葉斯公式計算P(y|x)

         Logistic Regression是一個判別模型,它通過在訓練資料集上最大化判別函式P(y|x)學習得到,不需要知道P(x|y)和P(y)。

(2)    Naive Bayes是建立在條件獨立假設基礎之上的,設特徵X含有n個特徵屬性(X1,X2,...Xn),那麼在給定Y的情況下,X1,X2,...Xn是條件獨立的。



       如果要判定X屬於哪一類,可以這樣計算:


      Logistic Regression的限制則要寬鬆很多,如果資料滿徐條件獨立假設,Logistic Regression能夠取得非常好的效果;當資料不滿度條件獨立假設時,Logistic Regression仍然能夠通過調整引數讓模型最大化的符合資料的分佈,從而訓練得到在現有資料集下的一個最優模型。

 (3)    當資料集比較小的時候,應該選用Naive Bayes,為了能夠取得很好的效果,資料的需求量為O(log n)

          當資料集比較大的時候,應該選用Logistic Regression,為了能夠取得很好的效果,資料的需求量為O( n)

    Naive Bayes運用了比較嚴格的條件獨立假設,為了計算P(y|x),我們可以利用統計的方法統計資料集中P(x|y)和P(y)出現的次數,從而求得P(x|y)和P(y)。因而其所需的資料量要小一些,為O(log n).

     Logistic Regression在計算時,是在整個引數空間進行線性搜尋的,需要的資料集就更大,為O( n)

另外解釋一下線性分類器的概念:



參考:

(1)  GENERATIVE AND DISCRIMINATIVE CLASSIFIERS:NAIVE BAYES AND LOGISTIC REGRESSION

(2)  Logistic Regression and Naive Bayes (Rob)