日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【机器学习】贝叶斯整理

發布時間:2023/12/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【机器学习】贝叶斯整理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡述樸素貝葉斯算法原理和工作流程

事件A和B同時發生的概率為在A發生的情況下發生B或者在B發生的情況下發生A。

所以有:

對于給出的待分類項,求解在此項出現的條件下各個目標類別出現的概率,哪個最大,就認為此待分類項屬于哪個類別。

工作原理

  • 假設現在有樣本這個待分類項(并認為x中的特征獨立)。
  • 再假設現在有分類目標
  • 那么就是最終的分類類別。
  • 因為x對于每個分類目標來說都一樣,所以就是求(插一句,也就是在,這也是生成模型和判別模型的主要區別。)
  • 而具體的和都是能從訓練樣本中統計出來。表示該類別下該特征出現的概率,表示全部類別中這個類別出現的概率。
  • 這樣就能找到應該屬于的類別了。
  • 工作流程

  • 準備階段。確定特征屬性,并對每個特征屬性進行適當劃分,然后由人工對一部分待分類項進行分類,形成訓練樣本。
  • 訓練階段。計算每個類別在訓練樣本中的出現頻率及每個特征屬性劃分對每個類別的條件概率估計。
  • 應用階段。使用分類器進行分類,輸入是分類器和待分類樣本,輸出是樣本屬于的分類類別。
  • 什么是先驗概率和后驗概率

    先驗概率是根據以往經驗和分析得到的概率,如全概率公式,它往往作為“由因求果”問題中的“因”出現。后驗概率是指在得到“結果”的信息后重新修正的概率,是“執果尋因”問題中的“因”。后驗概率是基于新的信息,修正原來的先驗概率后所獲得的更接近實際情況的概率估計。先驗概率和后驗概率是相對的。如果以后還有新的信息引入,更新了現在所謂的后驗概率,得到了新的概率值,那么這個新的概率值被成為后驗概率。

    為什么樸素貝葉斯如此“樸素”

    因為它假定所有的特征在數據集中的作用是同樣重要和獨立的。正如我們所知,這個假設在現實世界中是很不真實的,因此,說樸素貝葉斯真的很“樸素”。

    樸素貝葉斯模型(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回顧

    邏輯斯特回歸實際上是用線性回歸模型的預測結果去逼近后驗概率的邏輯發生比,直接寫出來就是:

    此處??為特征權重和,?為特征值,可以是連續變量,也可以是離散變量。

    聯系

    我們看到樸素貝葉斯里有求和項,邏輯回歸中也有求和項。我們如果采用二元離散特征??帶入到邏輯回歸中:

    邏輯回歸和樸素貝葉斯的表達式驚人地相似!??與??對應,??與??對應。

    但二者還是有區別的,用兩種方法求出來的權重是不一樣。產生差別的原因在于樸素貝葉斯方法的條件獨立假設。因為條件獨立假設,樸素貝葉斯可以不使用梯度下降,而直接通過統計每個特征的邏輯發生比來當做權重。

    而邏輯回歸,條件獨立假設并不成立,通過梯度下降法,可以得到特征之間的耦合信息,從而得到相應的權重。

  • Logistic regression和Naive bayes都是對特征的線性表達。不過并不是所有的樸素貝葉斯分類器都是線性分類器,只有某些具有特定屬性的樸素貝葉斯分類器才是線性分類器,如連續特征的樸素貝葉斯分類器中方差不相同。
  • Logistic regression和Naive bayes建模的都是條件概率??,對所最終求得的不同類的結果有很好的解釋性。而不像SVM,神經網絡這樣解釋性不高。
  • 區別

  • Naive Bayes是一個生成模型,在計算P(y|x)之前,先要從訓練數據中計算P(x|y)和P(y)的概率,從而利用貝葉斯公式計算P(y|x),實際上優化的是聯合likelihood?。Logistic Regression是一個判別模型,它通過在訓練數據集上最大化判別函數P(y|x)學習得到,不需要知道P(x|y)和P(y),優化的后驗likelihood?。
  • Naive Bayes是建立在條件獨立假設基礎之上的,設特征X含有n個特征屬性,那么在給定Y的情況下,是條件獨立的。Logistic Regression的限制則要寬松很多,如果數據滿足條件獨立假設,Logistic Regression能夠取得非常好的效果;當數據不滿足條件獨立假設時,Logistic Regression仍然能夠通過調整參數讓模型最大化的符合數據的分布,從而訓練得到在現有數據集下的一個最優模型。
  • 當數據集比較小的時候,應該選用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)。數據量小的時候使用LR無法得到充足的訓練因而效果不如樸素貝葉斯,當數據量大的時候LR可以得到充分的訓練因而會比相對更為簡單的NB性能更優。這也是因為Naive bayes是生成模型,在有prior的情況下模型能夠把數據fit的更好,而Logistic regression屬于判別模型,目標驅動化,不去建模聯合概率,通過訓練數據直接預測輸出,因此在數據足夠多的情況下能夠得到更好一些的效果。
  • Logistic regression在有相關性feature上面學習得到的模型在測試數據的performance更好。也就是說,logistic regression在訓練時,不管特征之間有沒有相關性,它都能找到最優的參數。而在Naive bayes中,由于我們給定特征直接相互獨立的嚴格設定,在有相關性的feature上面學習到的權重同時變大或變小,它們之間的權重不會相互影響。從這方面來說,如果能夠在對參數較好地控制,在損失項方面處理的很好的話,Logistic regression相對Naive bayes在應用時更不會限制在特征工程(feature engineering)上面。Naive bayes的好處是我沒有優化參數這一步,通過訓練數據我直接得到一個counting table,這些有助于并行化。不過現在LR也已經發展出了較多的并行化技術。
  • ?

    總結

    以上是生活随笔為你收集整理的【机器学习】贝叶斯整理的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。