朴素贝叶斯算法和逻辑回归算法的区别?
樸素貝葉斯算法和邏輯回歸算法的區(qū)別?
1.兩種算法的模型不同:
Naive Bayes是一個(gè)生成模型,在計(jì)算P(y|x)之前,先要從訓(xùn)練數(shù)據(jù)中計(jì)算P(x|y)和P(y)的概率,從而利用貝葉斯公式計(jì)算P(y|x)。
? ? ? ? Logistic Regression是一個(gè)判別模型,它通過在訓(xùn)練數(shù)據(jù)集上最大化判別函數(shù)P(y|x)學(xué)習(xí)得到,不需要知道P(x|y)和P(y)。
?
2.兩種算法建立條件不同:
Naive Bayes是建立在條件獨(dú)立假設(shè)基礎(chǔ)之上的,設(shè)特征X含有n個(gè)特征屬性(X1,X2,...Xn),那么在給定Y的情況下,X1,X2,...Xn是條件獨(dú)立的。
? ? ? ? Logistic Regression的限制則要寬松很多,如果數(shù)據(jù)滿徐條件獨(dú)立假設(shè),Logistic Regression能夠取得非常好的效果;當(dāng)數(shù)據(jù)不滿度條件獨(dú)立假設(shè)時(shí),Logistic Regression仍然能夠通過調(diào)整參數(shù)讓模型最大化的符合數(shù)據(jù)的分布,從而訓(xùn)練得到在現(xiàn)有數(shù)據(jù)集下的一個(gè)最優(yōu)模型。
22
3.兩種算法時(shí)間復(fù)雜度和應(yīng)用場(chǎng)景不同:
當(dāng)數(shù)據(jù)集比較小的時(shí)候,應(yīng)該選用Naive Bayes,為了能夠取得很好的效果,數(shù)據(jù)的需求量為O(log n)
???????當(dāng)數(shù)據(jù)集比較大的時(shí)候,應(yīng)該選用Logistic Regression,為了能夠取得很好的效果,數(shù)據(jù)的需求量為O( n)
? ? ? ? Naive Bayes運(yùn)用了比較嚴(yán)格的條件獨(dú)立假設(shè),為了計(jì)算P(y|x),我們可以利用統(tǒng)計(jì)的方法統(tǒng)計(jì)數(shù)據(jù)集中P(x|y)和P(y)出現(xiàn)的次數(shù),從而求得P(x|y)和P(y)。因而其所需的數(shù)據(jù)量要小一些,為O(log n).
? ? ? ? Logistic Regression在計(jì)算時(shí),是在整個(gè)參數(shù)空間進(jìn)行線性搜索的,需要的數(shù)據(jù)集就更大,為O( n)
?
總結(jié)
以上是生活随笔為你收集整理的朴素贝叶斯算法和逻辑回归算法的区别?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分类与数值预测是预测问题的两种主要类型
- 下一篇: 算法中分类与聚类的区别?