樸素貝葉斯常見面試題
1、 樸素貝葉斯與lr的區別?
樸素貝葉斯是生成模型,根據已有樣本進行貝葉斯估計學習出先驗概率p(y)和條件概率p(x|y),進而求出聯合分布概率p(xy),最後利用貝葉斯定理求解p(y|x),
而lr是判別模型,根據極大化對數似然函式直接求出條件概率p(y|x);
樸素貝葉斯是基於很強的條件獨立假設(在已知分類y的條件下,各個特徵變數取值是相互獨立的),而lr則對此沒有要求;
樸素貝葉斯適用於資料集少的情景,而lr適用於大規模資料集。
2、樸素貝葉斯「樸素」在**?
簡單來說:利用貝葉斯定理求解聯合概率p(xy)時,需要計算條件概率p(x|y)。在計算p(x|y)時,樸素貝葉斯做了乙個很強的條件獨立假設(當y確定時,x的各個分量取值之間相互獨立),即p(x1=x1,x2=x2,…xj=xj|y=yk) = p(x1=x1|y=yk)p(x2=x2|y=yk)…*p(xj=xj|y=yk)。
3、 在估計條件概率p(x|y)時出現概率為0的情況怎麼辦?
簡單來說:引入λ,當λ=1時稱為拉普拉斯平滑。
4、 樸素貝葉斯的優缺點
優點:對小規模的資料表現很好,適合多分類任務,適合增量式訓練。
缺點:對輸入資料的表達形式很敏感(離散、連續,值極大極小之類的)。
重點:面試的時候怎麼回答樸素貝葉斯呢?
首先樸素貝斯是乙個生成模型(很重要),其次它通過學習已知樣本,計算出聯合概率,再求條件概率。
生成模式和判別模式的區別:
生成模式:由資料學得聯合概率分布,求出條件概率分布p(y|x)的**模型;
常見的生成模型有:樸素貝葉斯、隱馬爾可夫模型、高斯混合模型、文件主題生成模型(lda)、限制玻爾茲曼機
判別模式:由資料學得決策函式或條件概率分布作為**模型
常見的判別模型有:k近鄰、svm、決策樹、感知機、線性判別分析(lda)、線性回歸、傳統的神經網路、邏輯斯蒂回歸、boosting、條件隨機場
樸素貝葉斯
樸素貝葉斯演算法是一種基於概率統計的分類方法,它主要利用貝葉斯公式對樣本事件求概率,通過概率進行分類。以下先對貝葉斯公式做個了解。對於事件a b,若p b 0,則事件a在事件b發生的條件下發生的概率為 p a b p a b p b 將條件概率稍作轉化即可得到貝葉斯公式如下 p a b p b a ...
樸素貝葉斯
1.準備資料 從文字中構建詞向量 2.訓練演算法 從詞向量計算概率 3.測試演算法 儲存為 bayes.py 檔案 參考 coding utf 8 from numpy import 文字轉化為詞向量 def loaddataset postinglist my dog has flea probl...
樸素貝葉斯
機器學習是將資料轉化為決策面的過程 scikit learn縮寫為sklearn 訓練乙個分類器,學習之後 其處理的準確性 def nbaccuracy features train,labels train,features test,labels test from sklearn.bayes ...