【机器学习】贝叶斯整理
簡述樸素貝葉斯算法原理和工作流程
事件A和B同時發生的概率為在A發生的情況下發生B或者在B發生的情況下發生A。
所以有:
對于給出的待分類項,求解在此項出現的條件下各個目標類別出現的概率,哪個最大,就認為此待分類項屬于哪個類別。
工作原理:
工作流程:
什么是先驗概率和后驗概率
先驗概率是根據以往經驗和分析得到的概率,如全概率公式,它往往作為“由因求果”問題中的“因”出現。后驗概率是指在得到“結果”的信息后重新修正的概率,是“執果尋因”問題中的“因”。后驗概率是基于新的信息,修正原來的先驗概率后所獲得的更接近實際情況的概率估計。先驗概率和后驗概率是相對的。如果以后還有新的信息引入,更新了現在所謂的后驗概率,得到了新的概率值,那么這個新的概率值被成為后驗概率。
為什么樸素貝葉斯如此“樸素”
因為它假定所有的特征在數據集中的作用是同樣重要和獨立的。正如我們所知,這個假設在現實世界中是很不真實的,因此,說樸素貝葉斯真的很“樸素”。
樸素貝葉斯模型(Naive Bayesian Model)的樸素(Naive)的含義是“很簡單很天真”地假設樣本特征彼此獨立,這個假設現實中基本不存在,但特征相關性很小的實際情況還是很多的,所以這個模型仍能夠工作得很好。
什么是貝葉斯決策理論
貝葉斯決策理論是主觀貝葉斯派歸納理論的重要組成部分。貝葉斯決策就是在不完全情報下,對部分未知的狀態用主觀概率估計,然后用貝葉斯公式對發生概率進行修正,最后再利用期望值和修正概率作出最優決策(選擇概率最大的類別)。
貝葉斯決策理論方法是統計模型決策中的一個基本方法,其基本思想是:
樸素貝葉斯算法的前提假設
- 特征之間相互獨立
- 每個特征同等重要
為什么屬性獨立性假設在實際情況中很難成立,但樸素貝葉斯仍能取得較好的效果
樸素貝葉斯可以做多分類嗎
可以。樸素貝葉斯是選出各個分類類別后驗概率最大的作為最終的分類。
和二分類相比,多分類只是類別個數變成了N,其他過程是一樣的。在分類的時候,計算每一個后驗概率,選取最大的概率對應的類別作為分類的結果。
什么是樸素貝葉斯中的零概率問題?如何解決?(拉普拉斯平滑)
零概率問題,就是在計算實例的概率時,如果某個量x,在觀察樣本庫(訓練集)中沒有出現過,會導致整個實例的概率結果是0.
假設現在有樣本這個待分類項(并認為x中的特征獨立),再假設現在有分類目標,那么就是最終的分類類別。
,若為零則無法計算。為了解決零概率的問題,法國數學家拉普拉斯最早提出用加1的方法估計沒有出現過的現象的概率,所以加法平滑也叫做拉普拉斯平滑。
假定訓練樣本很大時,每個分量x的計數加1造成的估計概率變化可以忽略不計,但可以方便有效的避免零概率問題。
假設在文本分類中,有3個類,C1、C2、C3,在指定的訓練樣本中,某個詞語K1,在各個類中觀測計數分別為0、990、10,K1的概率為0、0.99、0.01,對這三個量使用拉普拉斯平滑的計算方法如下:
將樸素貝葉斯中的所有概率計算應用拉普拉斯平滑即可以解決零概率問題。
樸素貝葉斯中概率計算的下溢問題如何解決
在樸素貝葉斯的計算過程中,需要對特定分類中各個特征出現的概率進行連乘,小數相乘,越乘越小,這樣就造成了下溢出。在程序中,在相應小數位置進行四舍五入,計算結果可能就變成0了。
為了解決這個問題,對乘積結果取自然對數。通過求對數可以避免下溢出或者浮點數舍入導致的錯誤。
取對數,
可以發現取對數之后并不影響其變化趨勢。將小數的乘法操作轉化為取對數后的加法操作,規避了變為零的風險同時并不影響分類結果。
樸素貝葉斯分類器對異常值敏感嗎?
樸素貝葉斯是一種對異常值不敏感的分類器,保留數據中的異常值,常常可以保持貝葉斯算法的整體精度,如果對原始數據進行降噪訓練,分類器可能會因為失去部分異常值的信息而導致泛化能力下降。
為什么對異常值不敏感呢,個人理解是因為樸素貝葉斯分類器是一個概率模型,如果輸入是一個正常的樣本,則異常值并不會影響到正常樣本的后驗概率,因為對于正常樣本而言,其都是正常的,并會使用到異常的。如果是一個異常的樣本,反而已有的異常值可以幫助到該異常樣本更好的分類。
對于類別變量根據頻率去估計時就如上所述——異常值的存在反而會提高分類器的泛化能力。但如果是對于連續型屬性的異常值則會產生對分類器產生一定的影響,因貝葉斯對連續值的處理往往是通過估計其概率分布的參數,若有異常值存在則其概率分布將會產生偏移。若是分類變量則之間統計出現次數是不會產生偏移的。
當數據的屬性是連續型變量時,樸素貝葉斯算法如何處理
當樸素貝葉斯算法數據的屬性為連續型變量時,有兩種方法可以計算屬性的類條件概率。
樸素貝葉斯算法對缺失值敏感嗎
不敏感,樸素貝葉斯算法能夠處理缺失的數據,在算法的建模時和預測時數據的屬性都是單獨處理的。因此如果一個數據實例缺失了一個屬性的數值,在建模時將被忽略,不影響類條件概率的計算,在預測時,計算數據實例是否屬于某類的概率時也將忽略缺失屬性,不影響最終結果。
樸素貝葉斯有哪幾種常用的分類模型
樸素貝葉斯的三個常用模型:高斯、多項式、伯努利。
高斯模型主要處理包含連續型變量的數據,使用高斯分布概率密度來計算類的條件概率密度。
多項式模型:,其中項為拉普拉斯平滑,加和的是屬性出現的總次數,比如文本分類問題里面,不光看詞語是否在文本中出現,也得看出現的次數,如果總詞數為n,出現詞數為m的話,說起來有點像擲骰子n次出現m次這個詞的場景。
伯努利模型:伯努利模型特征的取值為布爾型,即出現為true沒有出現為false,在文本分類中,就是一個單詞有沒有在一個文檔中出現。
樸素貝葉斯算法中使用拉普拉斯平滑,拉普拉斯因子的大小如何確定?
樸素貝葉斯中的拉普拉斯因子無法通過公式求出最優大小,需要根據程序員的經驗去設置,使用交叉驗證的方式求取最優大小。
為什么說樸素貝葉斯是高偏差低方差
在統計學習框架下,大家刻畫模型復雜度的時候,有這么個觀點,認為Error =?Bias + Variance。
Error反映的是整個模型的準確度,Bias反映的是模型在樣本上的輸出與真實值之間的誤差,即模型本身的精準度,Variance反映的是模型每一次輸出結果與模型輸出期望(平均值)之間的誤差,即模型的穩定性,數據是否集中。
對于樸素貝葉斯,它簡單的假設了各個數據之間是無關的,是一個被嚴重簡化了的模型,對于復雜模型,充分擬合了部分數據,使得它們的偏差較小,而由于對部分數據的過度擬合,對于部分數據預測效果不好,整體來看可能使得方差較大,簡單模型與之相反,大部分場合偏差部分大于方差部分,也就是說的高偏差而低偏差。
樸素貝葉斯增量計算
因為樸素貝葉斯在訓練過程中實際只需要計算出各個類別的概率(先驗)和各個特征的類條件概率,這些概率值可以快速的根據增量數據進行更新,無需重新全量訓練,所以其十分適合增量計算,該特性可以使用在超出內存的大量數據計算和隨時間等(流數據)獲取數據的計算中。
高度相關的特征對樸素貝葉斯有什么影響
假設有兩個特征高度相關,相當于該特征在模型中發揮了兩次作用(計算兩次條件概率),使得樸素貝葉斯獲得的結果向該特征所希望的方向進行了偏移,影響了最終結果的準確性,所以樸素貝葉斯算法應先處理特征,把相關特征去掉。
樸素貝葉斯的應用場景有哪些
樸素貝葉斯的優缺點
優點:
缺點:
樸素貝葉斯算法http://www.cnblogs.com/pinard/p/6069267.html
樸素貝葉斯與LR的聯系與區別
以下部分轉自知乎:https://www.zhihu.com/question/265995680霍華德
樸素貝葉斯回顧:
在二分類問題的最終目的就是要判斷??就夠了,便可以說明"是好瓜"的概率比"不是好瓜"的概率大。所以我們將兩個概率相除,得到:但是實際上除法并不好,容易產生過小的數值,發生underflow(下溢出),所以我們兩邊同時取對數log函數,得到:
公式左邊是西瓜“是好瓜”的邏輯發生比,又稱作logit,邏輯發生比大于0就說明是好瓜的概率較大。而這個邏輯發生比也是邏輯回歸里的線性回歸目標,我們后面會講到~此處按住不表。
接下來,在樸素貝葉斯里有一個很強的假設,就是條件獨立假設。條件獨立假設特征之間都是相互獨立的,沒有耦合的,互不干擾的。挑西瓜的例子里,“青綠色”,“根蒂堅挺”和“敲擊聲清脆”幾個特征好像的確是獨立的,不相互影響,貌似沒什么問題。于是有:
此時,我們輸入特征,計算概率,根據?是否大于0則來判斷是否是好瓜,這就完成完成了分類任務。這就是樸素貝葉斯分類,簡而言之:
貝葉斯公式 + 條件獨立假設 = 樸素貝葉斯方法LR回顧:
邏輯斯特回歸實際上是用線性回歸模型的預測結果去逼近后驗概率的邏輯發生比,直接寫出來就是:
此處??為特征權重和,?為特征值,可以是連續變量,也可以是離散變量。
聯系:
我們看到樸素貝葉斯里有求和項,邏輯回歸中也有求和項。我們如果采用二元離散特征??帶入到邏輯回歸中:
邏輯回歸和樸素貝葉斯的表達式驚人地相似!??與??對應,??與??對應。
但二者還是有區別的,用兩種方法求出來的權重是不一樣。產生差別的原因在于樸素貝葉斯方法的條件獨立假設。因為條件獨立假設,樸素貝葉斯可以不使用梯度下降,而直接通過統計每個特征的邏輯發生比來當做權重。
而邏輯回歸,條件獨立假設并不成立,通過梯度下降法,可以得到特征之間的耦合信息,從而得到相應的權重。
區別:
?
總結
以上是生活随笔為你收集整理的【机器学习】贝叶斯整理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【机器学习】集成学习知识点总结二
- 下一篇: 【机器学习】朴素贝叶斯(Naive Ba