資料分析與機器學習學習筆記 貝葉斯演算法

2021-08-21 05:26:32 字數 932 閱讀 7286

貝葉斯演算法源自於概率論中的貝葉斯公式,首先我們了解一下貝葉斯公式的作用,概率論中分為正向概率與逆向概率

對於上面正向概率我們顯然會發現其摸出黑球的概率為m / (m + n),而對於逆向概率我們第一眼看上去並沒有什麼好的方法,此時就要輪到本篇介紹的貝葉斯公式出場了,貝葉斯公式主要就是解決逆向概率而產生的。

首先我們介紹一下幾個基本的公式

第乙個公式是最為基本的概率公式,在貝葉斯公式中我們稱之為先驗概率;第二個就是貝葉斯中非常重要的條件概率,此公式的含義為在b發生的條件下a發生的概率,同時在貝葉斯中我們稱之為a的後驗概率;第三個為全概率公式也就是所有概率的和;最後乙個為我們的貝葉斯公式,由於在一些條件下我們想要求b發生的條件下a發生的概率不太容易,我們將其轉變為a的先驗概率乘上b的後驗概率在除以b的概率。

對於貝葉斯演算法我們通過乙個拼寫檢測例子實現進行解釋,當我們從鍵盤輸入乙個錯誤單詞,我們想要知道這個單詞正確的情況下是什麼,該演算法的實現公式如下

我們將輸入的單詞用字母d來表示,h1表示**的可能輸入單詞1,h2為**的單詞2..........依此類推,由此該公式簡化為p(h1 | d)、p(h2 | d)..........現在我們的目標有了,但是發現乙個問題該公式不好求解,此時運用貝葉斯將公式變形p(h1 | d) = p(h1)p(d | h1)/p(d)、p(h2 | d) = p(h2)p(d | h2)/p(d),到了這一步你依舊會疑惑這個公式看起來依舊沒有辦法求解,接下來我們進一步化簡,我們發現對每乙個條件概率,我們最後都會除以乙個相同的p(d),由於我們最終比較的是各條件概率的值並選取最大值並輸出對應的單詞,由此我們想到可以將p(d)約掉,所以我們得到

機器學習 貝葉斯

bayes.py包含了所有函式的實現,需要做的是,明白各個函式的功能作用及輸入輸出,在指令碼中完成函式的呼叫,給出要求的格式的結果。from numpy import import csv import random random.seed 21860251 def loaddataset post...

機器學習 樸素貝葉斯

樸素貝葉斯原理 1.貝葉斯公式 2.樸素貝葉斯的模型 3.後驗概率最大化的含義 4.樸素貝葉斯的引數估計 4.1.特徵是離散值 假設符合多項式分布 4.2.特徵是稀疏的離散值 假設符合伯努利分布 4.3.特徵是連續值 假設符合正態分佈 5.樸素貝葉斯演算法過程 6.樸素貝葉斯演算法小結 scikit...

機器學習之貝葉斯

scikit learn 樸素貝葉斯類庫使用小結 demo 貝葉斯定理是18世紀英國數學家托馬斯 貝葉斯 thomas bayes 提出得重要概率論理論。以下摘一段 wikipedia 上的簡介 所謂的貝葉斯定理源於他生前為解決乙個 逆概 問題寫的一篇文章,而這篇文章是在他死後才由他的一位朋友發表出...