機器學習之 樸素貝葉斯、貝葉斯網絡

目錄

貝葉斯定理

樸素貝葉斯算法

高斯樸素貝葉斯

伯努利樸素貝葉斯

多項式樸素貝葉斯

貝葉斯網絡

最簡單的貝葉斯網絡

全連接貝葉斯網絡

一般化的貝葉斯網絡


引子

參賽者會看見三扇關閉了的門,其中一扇的后面有一輛汽車,選中后面有車的那扇門可贏得該汽車,另外兩扇門后面則各藏有一只山羊。當參賽者選定了一扇門,但未去開啟它的時候,節目主持人開啟剩下兩扇門的其中一扇,露出其中一只山羊。主持人其后會問參賽者要不要換另一扇仍然關上的門。問題是:換另一扇門會否增加參賽者贏得汽車的機率?

貝葉斯定理

先驗概率P(A):在不考慮其他的情況下,A事件發生的概率。

條件概率P(B|A):A事件發生的情況下,B事件發生的概率。

后驗概率P(A|B):在B事件發生之后,對A事件發生的概率的重新評估。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??P(A|B)=\frac{P(AB)}{P(B)}

全概率:如果A和A’ 構成樣本空間的一個劃分,那么事件B的概率為A和A’ 的概率分別乘以B對這兩個事件的概率之和。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??\begin{aligned}P(B)&=P(A)\times P(B|A)+P(A')\times P(B|A') \\P(B)&=\sum_{i=1}^nP(A_i)\times P(B|A_i)\end{aligned}

基于條件概率的貝葉斯定律數學公式:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??\begin{aligned}P(A|B)&=\frac{P(A)\times P(B|A)}{P(B)} \\&\frac{P(A)\times P(B|A)}{\sum_{i=1}^nP(B|A_i)\times P(A_i)}\end{aligned}

樸素貝葉斯算法

樸素貝葉斯(Naive Bayes, NB)是基于“特征之間是獨立的”這一樸素假設,應用貝葉斯定理的監督學習算法。對應給定的樣本X的特征向量x_1, x_2,\dots, x_m,該樣本X的類別y的概率可以由貝葉斯公式得到:

? ? ? ? ? ? ? ? ? ? ? ? ??P(y|x_1, x_2, \dots, x_m)=\frac{P(y)P(x_1, x_2, \dots, x_m|y)}{P(x_1, x_2, \dots, x_m)}
算法推導

特征屬性之間是獨立的,所以

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? P(x_i|y,x_1, x_2, ..., x_{i-1},...,x_{i+1},x_m)=p(x_i|y)

公式優化得到:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??P(y|x_1, x_2, \dots, x_m)=\frac{P(y)P(x_1, x_2, \dots, x_m|y)}{P(x_1, x_2, \dots, x_m)}=\frac{p(y)\prod_{i=1}^{m} p(x_i|y)}{P(x_1, x_2, \dots, x_m)}

在給定樣本的條件下,P(x_1, x_2, \dots, x_m)是常數,可以省略,得到:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??P(y|x_1, x_2, \dots, x_m)\propto p(y)\prod_{i=1}^{m} p(x_i|y)

從而得到

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??\hat{y}= \arg \max (p(y)\prod_{i=1}^{m} p(x_i|y))

樸素貝葉斯算法流程:

  • 設?x=\{a_1, a_2, \dots, a_m\}?為待分類項,其中a為x的一個特征屬性
  • 類別集合為C=\{y_1, y_2, \dots, y_n\}
  • 分別用貝葉斯公式計算P(y_1|x), P(y_2|x), \dots, P(y_n|x)的值,、
  • 如果P(y_k|x)=\max\{P(y_1|x), P(y_2|x), \dots, P(y_n|x)\},那么認為x為?y_k?類型

高斯樸素貝葉斯

Gaussian Naive Bayes是指當特征屬性為連續值時,而且分布服從高斯分布,那么在計算P(x|y)的時候可以直接使用高斯分布的概率公式:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?\begin{aligned}g(x, \eta, \sigma)&=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x-\eta)^2}{2\sigma^2}} \\P(x_k|y_k)&=g(x_k, \eta_{y_k}, \sigma_{y_k})\end{aligned}

因此只需要計算出各個類別中此特征項劃分的各個均值和標準差。

伯努利樸素貝葉斯

Bernoulli Naive Bayes是指當特征屬性為連續值時,而且分布服從伯努利分布,那么在計算P(x|y)的時候可以直接使用伯努利分布的概率公式:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??P(x_k|y)=P(1|y)x_k+(1-P(1|y))(1-x_k)

伯努利分布是一種離散分布,只有兩種可能的結果。1表示成功,出現的概率為p。0表示失敗,出現的概率為q=1-p。其中均值為E(x)=p,方差為Var(X)=p(1-p)。

多項式樸素貝葉斯

Multinomial Naive Bayes是指當特征屬性服從多項分布,從而,對于每個類別y,參數為??\theta _y=(\theta_{y_1}, \theta_{y_2}, \dots, \theta_{y_n})?其中n為特征屬性數目,那么?P(x_i|y)?的概率為?\theta _{y_i}?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??\begin{aligned}\theta _{y_i}&=\frac {N_{y_i}+\alpha}{N_y+\alpha\times n} \\N_{y_i}&=\sum_{x\in T}x_i \\N_y&=\sum_{i=1}^{|T|}N_{y_i}\end{aligned}

貝葉斯網絡

把某個研究系統中涉及到的隨機變量,根據是否條件獨立繪制在一個有向圖中,就形成了貝葉斯網絡。

貝葉斯網絡(Bayesian Network),又稱有向無環圖模型(directed acyclic graphical model,DAG),是一種概率圖模型,根據概率圖的拓撲結構,考察一組隨機變量?\{X_1, X_2, \dots, X_n\}?及其N組條件概率分布(Conditional Probabililty Distributions,CPD)的性質。

當多個特征屬性之間存在著某種相關關系的時候,使用樸素貝葉斯算法就沒法解決這類問題,那么貝葉斯網絡就是解決這類應用場景的一個非常好的算法。

一般而言,貝葉斯網絡的有向無環圖中的節點表示隨機變量,可以是可觀察到的變量,或隱變量、未知參數等等。連接兩個節點之間的箭頭代表兩個隨機變量之間的因果關系(也就是這兩個隨機變量之間非條件獨立),如果兩個節點間以一個單箭頭連接在一起,表示其中一個節點是“因”,另外一個是“果”,從而兩節點之間就會產生一個條件概率值。每個節點在給定其直接前驅的時候,條件獨立于其后繼。
貝葉斯網絡的關鍵方法是圖模型,構建一個圖模型我們需要把具有因果聯系的各個變量用箭頭連在一起。貝葉斯網絡的有向無環圖中的節點表示隨機變量。連接兩個節點的箭頭代表此兩個隨機變量是具有因果關系的。貝葉斯網絡是模擬人的認知思維推理模式的,用一組條件概率以及有向無環圖對不確定性因果推理關系建模。

最簡單的貝葉斯網絡

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?P(a, b, c)=P(c|a, b)P(b|a)P(a)

全連接貝葉斯網絡

每一對節點之間都有邊連接

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??\begin{aligned}P(x_1, x_2, \dots, x_n)&=P(x_n|x_1, x_2, \dots, x_{n-1})\dots P(x_2|x_1)P(x_1) \\P(x_1, x_2, \dots, x_n)&=\prod_{i=2}^nP(x_i|x_1, x_2, \dots, x_{i-1})\times P(x_1)\end{aligned}

一般化的貝葉斯網絡

x_1, x_2, x_3獨立?x_6??和?x_7在給定條件下獨立?x_1, x_2, x_3\dots x_7?的聯合分布為:

? ? ? ? ? ? ? ? ? ? ? ? ? ? ??p(x_1, x_2, x_3, x_4, x_5, x_6, x_7)=p(x_1)p(x_2)p(x_3)p(x_4|x_1, x_2, x_3)p(x_5|x_1, x_3)p(x_6|x_4)p(x_7|x_4, x_5)

?案例

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/454316.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/454316.shtml
英文地址,請注明出處:http://en.pswp.cn/news/454316.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

liunx -bash:ls:command not found,執行命令總是報找不到

解決辦法: 使用絕對命令vi打開profile /bin/vi /etc/profile 添加: export PATH/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin 簡便方法: 直接執行 export PATH/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin export PA…

Nginx的Web管理界面收集

Nginx實在是太強大了!灰度發布、金絲雀發布、負載均衡就只需要簡單的幾行配置就可以實現,這些特性嗾使微軟無法比擬的。 原來Nginx除了使用ngx_http_stub_status_module模塊(http://127.0.0.1/ngx_status)實現Web頁面上的監控外&a…

attention機制_簡析Attention機制—優缺點,實現,應用

什么是Attention機制?Attention機制的本質來自于人類視覺注意力機制。人們在看東西的時候一般不會從到頭看到尾全部都看,往往只會根據需求觀察注意特定的一部分。簡單來說,就是一種權重參數的分配機制,目標是協助模型捕捉重要信息…

高級程序員如何面對職場壓力?(2)--受傷的總是我

版權聲明:原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章原始出版、作者信息和本聲明。否則將追究法律責任。本文地址:http://tech.it168.com/a2008/0911/204/000000204752.shtml 課程上線消息:Leo講的《初入公司…

pycharm Debug問題

pycharm Debug問題 參考鏈接:https://blog.csdn.net/weixin_43472408/article/details/85072640 Debug的調試方式如下所示: 1.show execution point (F10) 顯示當前所有斷點 2.step over(F8) 單步調試。 若函數A內存在子函數a時,不會進入子函數a內執…

vue表單的用法

你可以用 v-model 指令在表單控件元素上創建雙向數據綁定。它會根據控件類型自動選取正確的方法來更新元素。盡管有些神奇,但 v-model 本質上不過是語法糖,它負責監聽用戶的輸入事件以更新數據,并特別處理一些極端的例子。 v-model 會忽略所有…

php執行npm命令_npm系列之命令執行

當我想使用vue的腳手架來創建一個項目的時候,我應該怎么做?執行命令 npm install -g vue/cli 全局安裝,之后就可以在控制臺中使用vue create programName 來創建一個項目。為什么可以直接使用vue命令?這類支持命令的依賴會在項目中…

模擬產品展示 Flash無法展示的追蹤過程

鼠標滑過小圖時,左側前四張大圖可以,但是最后那張大圖無法展示: falsh產品展示需要通過參數傳遞,把關聯產品id的圖片get出來,如: http://192.168.8.166:90/category/prod_img.aspx?prodid101 結果&#xf…

git提交 本地分支和遠程分支斷開連接

1級標題 當 git push origin branch_name時遇到報錯如下: fatal:‘origin’ does not appear to be a git repository fatal:Could not read from remote repository 原因: 本地分支和遠程分支斷開連接 解決方法: cd 本地分支里 1、git…

編程高手箴言

本書是作者十余年編程生涯中的技術和經驗的總結。內容涵蓋了從認識CPU、Windows運行機理、 編程語言的運行機理,到代碼的規范和風格、分析方法、調試方法和內核優化,內有作者對許多問題 的認知過程和透徹的分析,以及優秀和精彩的編程經驗。…

nodejs里的module.exports和exports

引 在node.js中我們可以使用module.exports和exports導出模塊,設置導出函數、數組、變量等等 為什么可以用這兩個模塊? 或者直接問,node.js的模塊功能是怎么實現的。 這樣得益于javascript是函數性的語言,并支持閉包。 js的閉包 直…

c語言貪吃蛇最簡單代碼_C語言指針,這可能是史上最干最全的講解啦(附代碼)!!!...

點擊上方“大魚機器人”,選擇“置頂/星標公眾號”福利干貨,第一時間送達!指針對于C來說太重要。然而,想要全面理解指針,除了要對C語言有熟練的掌握外,還要有計算機硬件以及操作系統等方方面面的基本知識。所…

SpringSecurity深度解析與實踐(3)

這里寫自定義目錄標題 引言SpringSecurity之授權授權介紹java權限集成 登錄失敗三次用戶上鎖 引言 SpringSecurity深度解析與實踐(2)的網址 SpringSecurity之授權 授權介紹 Spring Security 中的授權分為兩種類型: 基于角色的授權&#…

簡單解釋什么是 依賴注入 和 控制反轉

簡單解釋什么是 依賴注入 和 控制反轉2017-07-09 關于 依賴注入 與 控制反轉 的概念有些人覺得很難理解,最近在給別人講這個概念的時候梳理了一個比較好理解的解釋,而且我認為非技術人員也應該能聽的懂,因此分享給大家,希望下次你…

python pip install指定國內源鏡像

有時候安裝一些依賴包,網不好,直接超時,或者這個包就是死都下不下來的時候,可以指定國內源鏡像。 pip install -i 國內鏡像地址 包名 清華:https://pypi.tuna.tsinghua.edu.cn/simple 阿里云:http://mirr…

機器學習之單標簽多分類及多標簽多分類

單標簽二分類算法 Logistic算法 單標簽多分類算法 Softmax算法 One-Versus-One(ovo):一對一 One-Versus-All / One-Versus-the-Rest(ova/ovr): 一對多 ovo和ovr的區別 Error Correcting Output code…

ionic3 隱藏子頁面tabs

看了幾天ionic3 問題還挺多的,今天想把所有子頁面tabs 給去掉,整了半天,發現app.Module 是可以配置的 修改 IonicModule.forRoot(MyApp) imports: [BrowserModule,// IonicModule.forRoot(MyApp),HttpModule,IonicModule.forRoot(…

cas單點登錄-jdbc認證(三)

前言 本節的內容為JDBC認證,查找數據庫進行驗證,其中包括: 密碼加密策略(無密碼,簡單加密,加鹽處理)認證策略(jdbc)一、業務需求 不同的公司,需求業務需求或者…

get clone 出現 fatal: the remote end hung up unexpectedly5 MiB | 892.00 KiB/s 報錯信息

fatal: the remote end hung up unexpectedly5 MiB | 892.00 KiB/s 解決方案 (親測有效) 解決方案如下: git clone時加上 --depth1,比如: git clone https://gitee.com/songyitian/tctm.git --depth 1depth用于指定…

mybatis foreach map_重學Mybatis(六)-------輸入映射(含面試題)

博主將會針對Java面試題寫一組文章,包括J2ee,SQL,主流Web框架,中間件等面試過程中面試官經常問的問題,歡迎大家關注。一起學習,一起成長,文章底部有面試題。入參映射關鍵字說明圖中paramenterTy…