機器學習算法之樸素貝葉斯

2021-01-11 羽佳數院

一、貝葉斯定理

貝葉斯定理由英國數學家貝葉斯(Thomas Bayes 1702-1761)發展

用來描述兩個條件概率之間的關係

在B條件下A發生的概率: P(A∣B)=P(AB)/P(B)

在A條件下B發生的概率: P(B∣A)=P(AB)/P(A)

則:P(A∣B)P(B) = P(B∣A)P(A)

可導出:P(A∣B)=P(B∣A)P(A)/P(B) 或 P(A∣B) P(B) = P(B∣A)P(A)

二、貝葉斯定理舉例

現在有 A、B 兩個容器

容器 A 裡有 7 個紅球和 3 個黑球

容器 B 裡有 1 個紅球和 9 個黑球

從這兩個容器裡任意抽出了一個球,結果是紅球,問這個球來自容器 A 的概率是多少?

假設

抽出紅球的概率為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

故得出結論:這個球來自容器A的概率是0.875

三、樸素貝葉斯

貝葉斯公式: P(Y|X)=P(X|Y)P(Y) / P(X)

在機器學習中:

X:代表特徵向量 Y:代表類別

P(X):先驗概率,是指根據以往經驗和分析得到的概率。

P(Y|X):後驗概率,事情已經發生,這件事情發生的原因是由某個因素引起的可能性的大小

P(X|Y):條件概率,在已知某類別的特徵空間中,出現特徵值X的概率

樸素貝葉斯算法是假設各個特徵之間相互獨立,這就是「樸素」這詞的意思

那麼貝葉斯公式中P(X|Y)可寫成 : P(X|Y)=P(x1|Y)P(x2|Y)P(xn|Y)

由此得出,樸素貝葉斯公式:

P(Y|X)= P(x1|Y)P(x2|Y)P(xn|Y)P(Y) / P(X)

四、樸素貝葉斯的應用

樸素貝葉斯算法通常用來分類

根據研究對象的某些特徵,來推斷出該研究對象屬於哪個類別

如:

我們在大街上看到一個人,猜測他屬於哪個職業。這就是一種分類。

根據什麼來判斷?可能是根據這個人的穿著打扮,言行舉止。

穿著打扮:鬍子拉碴、頭髮亂七八糟,背著大的電腦包

言行舉止:雙眼無神(估計在想哪個bug的解決辦法),黑眼圈重,頭髮沒洗。

所以,我們大概能猜出這個人職業是程式設計師

其穿著打扮、言行舉止就是人的特徵屬性

五、樸素貝葉斯的實際場景

新聞的分類

如上圖中紅色框部分,樸素貝葉斯算法根據一篇新聞的內容,給新聞分到固定的類別

相關焦點

  • 基於貝葉斯定理的算法——樸素貝葉斯分類
    不過今天我們介紹的樸素貝葉斯分類器通過獨立假設簡化了概率的計算,節省了內存,可以很好地用於數據量大的情況。下面我們首先來了解這一算法的數理背景——貝葉斯定理。這一算法是由我們在概率論中學到的貝葉斯定理延伸出來的。我們知道貝葉斯公式為:其中,
  • 聚類算法簡析(一):樸素貝葉斯算法的場景案例
    本文作者通過一些場景案例,帶領大家了解一下樸素貝葉斯算法作為聚類算法中的一員,如何來區分各類數組。通過一組參數模型來區分互斥群組中的個體十分常見,我們可以使用樸素貝葉斯分析來應用於這種場景,取決於模型的相似矩陣算法常常運用在估算決策論框架的矩陣中。
  • 樸素貝葉斯算法及其應用
    在這篇文章中,我們將嘗試以簡單的方式理解什麼是樸素貝葉斯,它是如何工作的以及我們如何應用樸素貝葉斯分類器將文本或評論分類為「肯定」或「否定」,我們將通過電影評論案例進行研究。什麼是樸素貝葉斯?貝葉斯定理是由Reverend Bayes開發的最早的概率推理算法之一(他過去常常嘗試推斷上帝的存在)並且對於某些用例仍然表現得非常好。
  • python實現高斯樸素貝葉斯分類器
    python實現高斯樸素貝葉斯分類器    在這篇文章中,我們將使用我最喜歡的機器學習庫scikit-learn在Python中實現樸素貝葉斯分類器。接下來,我們將使用經過訓練的樸素貝葉斯(監督分類法)模型來預測人口收入。
  • 樸素貝葉斯實戰篇之新浪新聞分類
    這樣,我們的樸素貝葉斯分類器就改進完畢了。三、樸素貝葉斯之過濾垃圾郵件在上篇文章那個簡單的例子中,我們引入了字符串列表。使用樸素貝葉斯解決一些現實生活中的問題時,需要先從文本內容得到字符串列表,然後生成詞向量。下面這個例子中,我們將了解樸素貝葉斯的一個最著名的應用:電子郵件垃圾過濾。
  • 機器學習算法集錦:從貝葉斯到深度學習及各自優缺點
    選自static.coggle.it機器之心編譯在我們日常生活中所用到的推薦系統、智能圖片美化應用和聊天機器人等應用中,各種各樣的機器學習和數據處理算法正盡職盡責地發揮著自己的功效。本文篩選並簡單介紹了一些最常見算法類別,還為每一個類別列出了一些實際的算法並簡單介紹了它們的優缺點。
  • 樸素貝葉斯(Naive Bayes)和校正曲線(Calibration Curve)
    算法回顧圖片來源:medium.com貝葉斯分類算法屬於有監督機器學習(Supervised Learning)。貝葉斯分類器是一類分類算法的總稱,這類算法均以貝葉斯定理為基礎,故統稱為貝葉斯分類。其中樸素貝葉斯分分類是貝葉斯分類中最簡單的,也是最常見的一種分類方法。樸素貝葉斯分類算法的核心如下公式:P(A):它是先驗(Prior Probability),是A發生的概率。P(B): 是邊際可能性(Marginal Likelihood):是B發生的概率。
  • 【華泰金工林曉明團隊】金工:人工智慧選股之樸素貝葉斯模型
    本報告對樸素貝葉斯模型及線性判別分析、二次判別分析進行系統測試  「生成模型」是機器學習中監督學習方法的一類。本文中,我們從樸素貝葉斯算法入手,分析比較了幾種常見的生成模型(包括線性判別分析和二次判別分析)應用於多因子選股的異同,希望對本領域的投資者產生有實用意義的參考價值。  樸素貝葉斯模型構建細節:月頻滾動訓練,結合基於時間序列的交叉驗證  樸素貝葉斯模型的構建包括特徵和標籤提取、特徵預處理、訓練集合成和滾動訓練等步驟。
  • 數據科學家應該知道的頂級機器學習算法
    按學習風格分組的機器學習算法算法可以用多種方式對問題進行建模,因為它涉及與體驗的交互。但是,無論我們要如何調用輸入數據都沒有關係。而且,算法在機器學習和人工智慧中很流行教科書。也就是說,首先要考慮一種算法可以適應的學習方式。通常,機器學習算法只能具有幾種主要的學習方式。而且,我們還將通過它們。另外,我們很少有適合他們的算法和問題類型的例子。
  • 流行的機器學習算法總結,幫助你開啟機器學習算法學習之旅
    AI的ML領域是為實現非常精確的目標而創建的,它引入了多種算法,從而可以更順暢地進行數據處理和決策。什麼是機器學習算法?機器學習算法是任何模型背後的大腦,可讓機器學習並使其更智能。這些算法的工作方式是,為它們提供第一批數據,並且隨著時間的流逝和算法的準確性的提高,額外的數據也被引入到算法中。
  • 樸素貝葉斯與文本分類
    樸素貝葉斯 (Naive Bayesian algorithm) 是一種基於概率統計的分類方法,主要用到了貝葉斯定理和特徵條件獨立性假設。樸素貝葉斯具有悠久的歷史,其算法邏輯比較簡單,有健壯的性能,通常可以用於文本分類、信用評估等方面。
  • 樸素貝葉斯算法及應用案例
    作者:陳千鶴 來源:人工智慧學習圈本篇主要介紹樸素貝葉斯算法及應用案例。以Tatinic數據集為例進行應用,同時介紹數據處理,數據集的劃分,算法效果評估等內容。一、簡介樸素貝葉斯法是基於貝葉斯定理與特徵條件獨立假設的分類方法 。
  • 樸素貝葉斯詳解及中文輿情分析(附代碼實踐)
    樸素貝葉斯數學原理知識該基礎知識部分引用文章"機器學習之樸素貝葉斯(NB)分類算法與Python實現"(https://blog.csdn.net/moxigandashu/article/details/71480251),也強烈推薦大家閱讀博主moxigandashu的文章,寫得很好。同時作者也結合概率論講解,提升下自己較差的數學。
  • 盤點:十大機器學習算法及其應用
    毫無疑問,過去兩年中,機器學習和人工智慧的普及度得到了大幅提升。如果你想學習機器算法,要從何下手呢?以我為例,我是在哥本哈根留學期間,學習AI課程入門的。我們用的教科書是一本AI經典:《Peter Norvig’s Artificial Intelligence?—?A Modern Approach》。
  • 為什麼樸素貝葉斯定理會被叫做樸素的?
    樸素貝葉斯算法是一種基於著名貝葉斯定理的分類算法。那麼讓我們先了解一下Bayes定理是怎麼說的,並為樸素貝葉斯算法定理建立自己的理解,它是如何工作的,它為什麼被稱作樸素的?貝葉斯定理在深入研究貝葉斯定理之前,我們需要了解一些術語-獨立事件和從屬事件邊際概率聯合概率條件概率獨立事件和從屬事件考慮兩個事件A和B。
  • 五分鐘了解機器學習十大算法
    本文為有志於成為數據科學家或對此感興趣的讀者們介紹最流行的機器學習算法。機器學習是該行業的一個創新且重要的領域。我們為機器學習程序選擇的算法類型,取決於我們想要實現的目標。現在,機器學習有很多算法。因此,如此多的算法,可能對於初學者來說,是相當不堪重負的。
  • 入門| 機器學習新手必看10大算法
    參與:程耀彤、路雪 本文介紹了機器學習新手需要了解的 10 大算法,包括線性回歸、Logistic 回歸、樸素貝葉斯、K 近鄰算法等。如果我們知道的話,我們將會直接使用它,不需要用機器學習算法從數據中學習。 最常見的機器學習算法是學習映射 Y = f(X) 來預測新 X 的 Y。這叫做預測建模或預測分析,我們的目標是儘可能作出最準確的預測。 對於想了解機器學習基礎知識的新手,本文將概述數據科學家使用的 top 10 機器學習算法。
  • 科普丨樸素貝葉斯了解一下
    樸素貝葉斯用貝葉斯定理來預測結果值,該值同時依賴於多個要素,因此必須遵循上述假設。這就是為什麼它被稱為樸素!01樸素貝葉斯的實際應用在幾乎所有的現實世界中,大多數特徵都是相互依賴的。這將使樸素貝葉斯在現實生活中幾乎不可能實現。那麼它在哪裡使用呢?
  • 三張圖讀懂機器學習:基本概念、五大流派與九種常見算法
    編者按:本文由機器之心編譯自PwC,作者:Alan Morrison、Anand Rao,參與:吳攀、晏奇;36氪經授權發布。 機器學習正在進步,我們似乎正在不斷接近我們心中的人工智慧目標。語音識別、圖像檢測、機器翻譯、風格遷移等技術已經在我們的實際生活中開始得到了應用,但機器學習的發展仍還在繼續,甚至被認為有可能徹底改變人類文明的發展方向乃至人類自身。
  • 新手必看的十種機器學習算法
    然而,在眾多的機器學習算法中,哪些是又上手快捷又功能強大、適合新手學習的呢?Towards Data Science 上一篇文章就介紹了十種新手必看的機器學習算法,雷鋒網 AI 科技評論全文編譯如下。如果早就知道,我們就可以直接使用它,而不需要再通過機器學習算法從數據中進行學習了。最常見的機器學習就是學習 Y=f(X) 的映射,針對新的 X 預測 Y。這叫做預測建模或預測分析。我們的目標就是讓預測更加精確。針對希望對機器學習有個基本了解的新人來說,下面將介紹數據科學家們最常使用的 10 種機器學習算法。1.