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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

贝叶斯与朴素贝叶斯入门及实战

發(fā)布時間:2024/3/13 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 贝叶斯与朴素贝叶斯入门及实战 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

      • 什么是貝葉斯
      • 樸素貝葉斯
          • 原理
          • 樸素貝葉斯優(yōu)點
          • 樸素貝葉斯缺點
      • 貝葉斯模型
          • 高斯分布樸素貝葉斯
          • 多項式分布樸素貝葉斯
          • 伯努利分布樸素貝葉斯
          • 總結(jié)
      • 貝葉斯實戰(zhàn)
      • 生成式模型和判別式模型的區(qū)別

什么是貝葉斯

  • 例如:一座別墅在過去的 20 年里一共發(fā)生過 2 次被盜,別墅的主人有一條狗,狗平均每周晚上叫 3 次,在盜賊入侵時狗叫的概率被估計為 0.9,
  • 問題是:在狗叫的時候發(fā)生入侵的概率是多少?
我們假設 A 事件為狗在晚上叫,B 為盜賊入侵, 則以天為單位統(tǒng)計,P(A) = 3/7,P(B) = 2/(20365) = 2/7300,P(A|B) = 0.9, 按照公式很容易得出結(jié)果:P(B|A) = 0.9(2/7300) / (3/7) = 0.00058
  • 另一個例子,現(xiàn)分別有 A、B 兩個容器,在容器 A 里分別有 7 個紅球和 3 個白球,在容器 B 里有 1 個紅球和 9 個白球,現(xiàn)已知從這兩個容器里任意抽出了一個球,且是紅球,問這個紅球是來自容器 A 的概率是多少?
假設已經(jīng)抽出紅球為事件 B,選中容器 A 為事件 A, 則有:P(B) = 8/20,P(A) = 1/2,P(B|A) = 7/10, 按照公式,則有:P(A|B) = (7/10)*(1/2) / (8/20) = 0.875

樸素貝葉斯

  • 樸素貝葉斯(Naive Bayesian)是經(jīng)典的機器學習算法之一,也是為數(shù)不多的基于概率論的分類算法。
  • 樸素貝葉斯原理簡單,也很容易實現(xiàn),多用于文本分類,比如垃圾郵件過濾。
  • 樸素貝葉斯可以看做是貝葉斯網(wǎng)絡的特殊情況:即該網(wǎng)絡中無邊,各個節(jié)點都是獨立的。
原理

  • 主要核心思想:
    樸素貝葉斯的思想基礎是這樣的:對于給出的待分類樣本特征x,求解在此樣本出現(xiàn)的條件下各個類別出現(xiàn)的概率,哪個最大,就認為此待分類樣本屬于哪個類別。
    樸素的概念:獨立性假設,假設各個特征之間是獨立不相關的。
樸素貝葉斯優(yōu)點

算法邏輯簡單,易于實現(xiàn)(算法思路很簡單,只要使用貝葉斯公式轉(zhuǎn)化即可!)
分類過程中時空開銷小(假設特征相互獨立,只會涉及到二維存儲)

樸素貝葉斯缺點

理論上,樸素貝葉斯模型與其他分類方法相比具有最小的誤差率。但是實際上并非總是如此,這是因為樸素貝葉斯模型假設屬性之間相互獨立,這個假設在實際應用中往往是不成立的,在屬性個數(shù)比較多或者屬性之間相關性較大時,分類效果不好。

樸素貝葉斯模型(Naive Bayesian Model)的樸素(Naive)的含義是"很簡單很天真"地假設樣本特征彼此獨立. 這個假設現(xiàn)實中基本上不存在, 但特征相關性很小的實際情況還是很多的, 所以這個模型仍然能夠工作得很好。

貝葉斯模型

高斯分布樸素貝葉斯
  • 特征值為連續(xù)型變量

  • 高斯模型假設某一特征屬于某一類別的觀測值符合高斯分布,比如身高小于160,160~170和170以上

高斯分布就是正態(tài)分布 【用途】用于一般分類問題 使用自帶的鳶尾花數(shù)據(jù)from sklearn import datasets iris = datasets.load_iris() X = iris.data y = iris.targetfrom sklearn.naive_bayes import GaussianNB gnb = GaussianNB()gnb.fit(X,y).score(X,y)
多項式分布樸素貝葉斯
  • 文本分類,特征是單詞,值是單詞的出現(xiàn)次數(shù)
多項式分布:在數(shù)學中,多項式(polynomial)是指由變量、系數(shù)以及它們之間的加、減、乘、冪運算 (非負整數(shù)次方)得到的表達式,形如a0+a1x+a2x^2+...+anx^n這種樣子,若an≠0,就是n次多項式。【用途】適用于文本數(shù)據(jù)(特征表示的是次數(shù),例如某個詞語的出現(xiàn)次數(shù) from sklearn.naive_bayes import MultinomialNBmnb = MultinomialNB() mnb.fit(X,y).score(X,y)
伯努利分布樸素貝葉斯
  • 特征值取bool類型,文本分類中表示一個值(單詞)有沒有出現(xiàn)過
伯努利分布: 【用途】適用于伯努利分布,也適用于文本數(shù)據(jù)(此時特征表示的是是否出現(xiàn),例如某個詞語的出現(xiàn)為1,不出現(xiàn)為0) 絕大多數(shù)情況下表現(xiàn)不如多項式分布,但有的時候伯努利分布表現(xiàn)得要比多項式分布要好,尤其是對于小數(shù)量級的文本數(shù)據(jù)from sklearn.naive_bayes import BernoulliNBbnb = BernoulliNB() bnb.fit(X,y).score(X,y)得分要比多項式分布樸素貝葉斯差
總結(jié)
  • 樸素貝葉斯是一類比較簡單的算法,scikit-learn中樸素貝葉斯類庫的使用也比較簡單。相對于決策樹,KNN之類的算法,樸素貝葉斯需要關注的參數(shù)是比較少的,這樣也比較容易掌握。

  • 在scikit-learn中,一共有3個樸素貝葉斯的分類算法類。分別是GaussianNB,MultinomialNB和BernoulliNB。其中GaussianNB就是先驗為高斯分布的樸素貝葉斯MultinomialNB就是先驗為多項式分布的樸素貝葉斯,而BernoulliNB就是先驗為伯努利分布的樸素貝葉斯

  • 這三個類適用的分類場景各不相同,一般來說,如果樣本特征的分布大部分是連續(xù)值,使用GaussianNB會比較好。如果如果樣本特征的分大部分是多元離散值,使用MultinomialNB比較合適。而如果樣本特征是二元離散值或者很稀疏的多元離散值,應該使用BernoulliNB。

貝葉斯實戰(zhàn)

生成式模型和判別式模型的區(qū)別

  • 判別模型(discriminative model)通過求解條件概率分布P(y|x)或者直接計算y的值來預測y。線性回歸(Linear Regression),邏輯回歸(Logistic Regression),支持向量機(SVM), 傳統(tǒng)神經(jīng)網(wǎng)絡(Traditional Neural Networks),線性判別分析(Linear Discriminative Analysis),條件隨機場(Conditional Random Field)
  • 生成模型(generative model)通過對觀測值和標注數(shù)據(jù)計算聯(lián)合概率分布P(x,y)來達到判定估算y的目的。樸素貝葉斯(Naive Bayes), 隱馬爾科夫模型(HMM),貝葉斯網(wǎng)絡(Bayesian Networks)和隱含狄利克雷分布(Latent Dirichlet Allocation)、混合高斯模型

你知道的越多,你不知道的越多。
有道無術,術尚可求,有術無道,止于術。
如有其它問題,歡迎大家留言,我們一起討論,一起學習,一起進步

總結(jié)

以上是生活随笔為你收集整理的贝叶斯与朴素贝叶斯入门及实战的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。