怎么通俗易懂地解釋貝葉斯網絡和它的應用?

作者:小杰
鏈接:https://www.zhihu.com/question/28006799/answer/38996563
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

英語原文:norsys.com/tutorials/ne

以下內容摘錄自www.norsys.com,根據實例內容意譯譯文。

貝葉斯網絡應用實例一:胸部疾病診所(Chest Clinic)

假想你是Los Angeles一名新畢業的醫生,專攻肺部疾病。你決定建立一個胸部疾病診所,主治肺病及相關疾病。大學課本已經中告訴你了肺癌、肺結核和支氣管炎的發生比率以及這些疾病典型的臨床癥狀、病因等,于是你就可以根據課本里的理論知識建立自己的Bayes網。如根據如下數據信息:

  • 美國有30%的人吸煙.
  • 每10萬人中就就有70人患有肺癌.
  • 每10萬人中就就有10人患有肺結核.
  • 每10萬人中就就有800人患有支氣管炎.
  • 10%人存在呼吸困難癥狀, 大部分人是哮喘、支氣管炎和其他非肺結核、非肺癌性疾病引起.

根據上面的數據可以建立如下BN模型:

<img src="https://pic2.zhimg.com/50/21a569894683edbbcfcf39b0ecb46e99_hd.jpg" data-rawwidth="500" data-rawheight="297" class="origin_image zh-lightbox-thumb" width="500" data-original="https://pic2.zhimg.com/21a569894683edbbcfcf39b0ecb46e99_r.jpg">

這樣的一個BN模型對你意義不大,因為它沒有用到來你診所病人的案例數據,不能反映真實病人的情況。當診所診治了數千病人后,會發現課本中所描述的北美的情況與實際診所數據顯示的情況是完全不同的,實際診所數據顯示:

  • 50%的病人吸煙.
  • 1%患有肺結核.
  • 5.5% 得了肺癌.
  • 45% 患有不同程度支氣管炎.
    將這些新數據輸入到BN模型中,才真正的獲得了對你有意義的實用BN模型:
    <img src="https://pic2.zhimg.com/50/0ef323c753f7a2a8b3f37a2134ab2319_hd.jpg" data-rawwidth="500" data-rawheight="295" class="origin_image zh-lightbox-thumb" width="500" data-original="https://pic2.zhimg.com/0ef323c753f7a2a8b3f37a2134ab2319_r.jpg">
    現在,看看如何在日常診斷中用該BN模型。
  • 首先,應該注意到,上述模型反映了一個來診所求醫的新患者,為診斷之前我們沒有這個患者的任何信息。而當我們向患者咨詢信息時,BN網中的概率就會自動調整,這就是貝葉斯推理最完美、強大之處。貝葉斯網絡最強大之處在于從每個階段結果所獲得的概率都是數學與科學的反映,換句話說,假設我們了解了患者的足夠信息,根據這些信息獲得統計知識,網絡就會告訴我們合理的推斷。

    現在看看如何增加個別病人信息調節概率。一個女病人進入診所,我們開始和她談論。她告訴我們她呼吸困難。我們將這個信息輸入到網絡。我們相信病人的信息,認為其存在100%呼吸困難。
    <img src="https://pic1.zhimg.com/50/cbb64ffb6b65e847a420260f4ea93604_hd.jpg" data-rawwidth="500" data-rawheight="295" class="origin_image zh-lightbox-thumb" width="500" data-original="https://pic1.zhimg.com/cbb64ffb6b65e847a420260f4ea93604_r.jpg">可以觀察到,一旦病人有呼吸困難癥狀,三種疾病的概率都增大了,因為這些疾病都有呼吸困難的癥狀。我們的病人存在這樣的癥狀,某種程度上我們會推斷這三種疾病可能性比較大,也增加了我們患者有嚴重疾病認識的信念。
  • 仔細看看推斷的過程:

    1. 明顯增大的是支氣管炎,從 45% 到 83.4%. 為什么會有如此大的增長呢?因為支氣管炎病比癌癥和肺結核更常見. 只要我們相信患者有嚴重的肺部疾病,那最支氣管炎的可能性會更大些。
    2. 病人是抽煙者的幾率也會隨之增大,從50% 到63.4%.
    3. 近期訪問過亞洲的幾率也會增大: 從1% 到1.03%, 顯然是不重要的.
    4. X光照片不正常的幾率也會上漲,從11% 到16%.

    知道現在我們還無法確認什么疾病困擾著我們的這個女患者,我們目前比較相信她患有支氣管炎的可能性很大,但是,我們應該獲得更多信息來確定我們的判斷,如果我們現在就主觀定了病癥,她可能得的是癌癥,那我們就是一個爛醫生。這就需要更多信息來做最后的決定。

    因此,我們按照流程依此問她一些問題,如她最近是不是去過亞洲國家,吃驚的是她回答了“是”。現在獲得的信息就影響了BN模型。

    <img src="https://pic2.zhimg.com/50/d57be3a397a169b15e420da0f47a6729_hd.jpg" data-rawwidth="500" data-rawheight="295" class="origin_image zh-lightbox-thumb" width="500" data-original="https://pic2.zhimg.com/d57be3a397a169b15e420da0f47a6729_r.jpg">
  • 患肺結核的幾率顯然增大,從 2%到 9%. 而患有癌癥、支氣管炎以及該患者是吸煙患者的幾率都有所減少。為什么呢?因為此時呼吸困難的原因相對更傾向于肺結核。

    繼續問患者一些問題,假設患者是個吸煙者,則網絡變為
    <img src="https://pic2.zhimg.com/50/a729b982b5dede08862a9101928dc5d5_hd.jpg" data-rawwidth="500" data-rawheight="295" class="origin_image zh-lightbox-thumb" width="500" data-original="https://pic2.zhimg.com/a729b982b5dede08862a9101928dc5d5_r.jpg">
    此時注意到最好的假設仍然是認為患者患有支氣管炎。為了確認我們要求她做一個X光透視,結果顯示其正常。結果如下:
    <img src="https://pic2.zhimg.com/50/eb1c17e85f7f4d4f1ac3d811ef1a9501_hd.jpg" data-rawwidth="500" data-rawheight="296" class="origin_image zh-lightbox-thumb" width="500" data-original="https://pic2.zhimg.com/eb1c17e85f7f4d4f1ac3d811ef1a9501_r.jpg">
  • 這就更加肯定我們的推斷她患有支氣管炎。

  • 如果X光顯示不正常的話,則結果將有很大不同:

    <img src="https://pic1.zhimg.com/50/4f79a2b89c9113dfbc3331862639c17c_hd.jpg" data-rawwidth="500" data-rawheight="296" class="origin_image zh-lightbox-thumb" width="500" data-original="https://pic1.zhimg.com/4f79a2b89c9113dfbc3331862639c17c_r.jpg">

    Note the big difference. TB or Lung Cancer has shot up enormously in probability. Bronchitis is still the most probable of the three separate illnesses, but it is less than the combination hypothesis of TB or Lung Cancer. So, we would then decide to perform further tests, order blood tests, lung tissue biopsies, and so forth. Our current Bayes net does not cover those tests, but it would be easy to extend it by simply adding extra nodes as we acquire new statistics for those diagnostic procedures. And we do not need to throw away any part of the previous net. This is another powerful feature of Bayes nets. They are easily extended (or reduced, simplified) to suit your changing needs and your changing knowledge.


    Summary


    In this section we learned that a Bayesian network is a mathematically rigorous way to model a world, one which is flexible and adaptable to whatever degree of knowledge you have, and one which is computationally efficient.

    注意最大的區別。結核病或肺癌增加的概率極大。支氣管炎仍然是三個獨立的疾病中最可能的一個,但它小于"結核或肺癌"這一組合的假設。所以,我們將決定進行進一步測試,血液測試,肺組織活檢,等等。我們當前的貝葉斯網不包括這些測試,但它很容易擴展,只需添加額外的節點作為我們獲得新的統計數據的診斷程序。我們不需要扔掉以前的任何部分。這是貝葉斯網的另一個強大的功能。他們很容易擴展(或減少,簡化),以適應不斷變化的需求和變化的知識。


    總結


    在本節中,我們了解到,貝葉斯網絡是一個用嚴格的數學方法來模擬一個世界的方法,是靈活的,適應于任何你擁有的知識程度的方法,同時也是計算效率的方法。

    本文引用地址:http://blog.sciencenet.cn/blog-82650-255141.html 此文來自科學網邱士利博客


    最后說下,這篇文章用到了一個叫做netica的軟件,我無聊將它破解掉了,去除了一些限制,各位有需要的可以在這里下載

    鏈接: 百度云 請輸入提取密碼 密碼: 1qav

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

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

相關文章

3.4 等比數列

已知q與n&#xff0c;求等比數列之和&#xff1a;1 q q^2 ... q^n 輸入樣例&#xff1a; 6 0.3 5 1.3 輸出樣例&#xff1a; 1.428 12.756 #include<iostream> #include<fstream> #include<cmath> using namespace std;int main() {ifstream cin(…

SVM分類算法的基本理論問題

1.引言   隨著網絡技術的飛速發展和普及&#xff0c;進入了信息大爆炸的時代。信息無處不在&#xff0c;給我們的學習生活帶來了諸多便捷&#xff0c;由于堪稱海量的信息量&#xff0c;我們從中獲取有用的信息變得困難&#xff0c;解決這一難題就是要對這些大量的信息進行分…

3.5 斐波那契數

求第n項的斐波那契數。 1 1 2 3 5 8 ... 輸入樣例&#xff1a; 6 10 輸出樣例&#xff1a; 8 55 #include<iostream> #include<fstream> #include<cmath> using namespace std;int main() {ifstream cin("test.txt");//向OJ提交時&#xff…

決策樹案例理解

小王是一家著名高爾夫俱樂部的經理。但是他被雇員數量問題搞得心情十分不好。某些天好像所有人都來玩高爾夫&#xff0c;以至于所有員工都忙的團團轉還是應付不過來&#xff0c;而有些天不知道什么原因卻一個人也不來&#xff0c;俱樂部為雇員數量浪費了不少資金。 小王的目的是…

3.6 最大公約數

輸入樣例&#xff1a; 6 5 18 22 輸出樣例&#xff1a; 1 6 #include<iostream> #include<fstream> #include<cmath> using namespace std;int main() {ifstream cin("test.txt");//向OJ提交時&#xff0c;注釋此句int m, n;while (cin >&…

劍指offer-反轉鏈表

反轉鏈表 一、題目描述 輸入一個鏈表&#xff0c;反轉鏈表后&#xff0c;輸出新鏈表的表頭。 &#xff08;看過答案和測試之后&#xff0c;題目隱藏條件是要求鏈表是不帶頭結點的&#xff09; 二、題目思路 就是用三個指針&#xff0c;head、pre、next&#xff0c;head之前都是…

3.7 最小公倍數

先各自除以最大公約數&#xff0c;然后將兩個結果和最大公約數相乘&#xff0c;即為最小公倍數。 輸入樣例&#xff1a; 6 5 18 12 輸出樣例&#xff1a; 30 36 #include<iostream> #include<fstream> using namespace std;int gcd(int, int);int main() {ifs…

聚類、K-Means、例子、細節

聚類#####今天說聚類&#xff0c;但是必須要先理解聚類和分類的區別&#xff0c;很多業務人員在日常分析時候不是很嚴謹&#xff0c;混為一談&#xff0c;其實二者有本質的區別。分類其實是從特定的數據中挖掘模式&#xff0c;作出判斷的過程。比如Gmail郵箱里有垃圾郵件分類器…

圖的廣度優先遍歷

#include <iostream> #include <vector> #include <queue> using namespace std;const int MAXV 1000; const int INF 1000000000; //下標代表點,數組元素代表連接的點 //圖的鄰接表 vector<int> Adj[MAXV]; //頂點數 int n;//DFS 如果頂點i已經被…

3.8 平均數

求若干整數的平均數&#xff0c;結果保留三位小數。 輸入樣例&#xff1a;第一個數字代表數據個數 3 6 5 18 4 1 2 3 4 輸出樣例&#xff1a; 9.667 2.500 #include<iostream> #include<fstream> using namespace std;int main() {ifstream cin("test.t…

從決策樹學習談到貝葉斯分類算法、EM、HMM

引言 最近在面試中(點擊查看&#xff1a;我的個人簡歷&#xff0c;求職意向&#xff0c;擇司標準)&#xff0c;除了基礎 & 算法 & 項目之外&#xff0c;經常被問到或被要求介紹和描述下自己所知道的幾種分類或聚類算法(當然&#xff0c;這完全不代表你將來的面試中會遇…

gdb調試的基本使用

GDB調試 啟動程序準備調試 GDB yourpram 或者 先輸入GDB 然后輸入 file yourpram然后使用run或者r命令開始程序的執行,也可以使用 run parameter將參數傳遞給該程序參數列表  命令 命令縮寫 命令說明 list l 顯示多行源代碼 break b 設置斷點,程序運行到斷點的位置會停…

3.9 對稱三位素數

素數&#xff1a;只能被1和自身整除 判斷一個數是否是素數&#xff1a;判斷從2到sqrt(n)的整數中是否有其約數 判斷一個數是否是三位素數。 輸入樣例&#xff1a; 11 101 272 輸出樣例&#xff1a; No Yes No #include<iostream> #include<fstream> #incl…

決策樹的過擬合問題

決策樹的過擬合問題決策樹是一種分類器&#xff0c;通過ID3&#xff0c;C4.5和CART等算法可以通過訓練數據構建一個決策樹。但是&#xff0c;算法生成的決策樹非常詳細并且龐大&#xff0c;每個屬性都被詳細地加以考慮&#xff0c;決策樹的樹葉節點所覆蓋的訓練樣本都是“純”的…

計算機網絡與協議

計算機網絡&#xff1a; TCP/IP中只要是能夠設定IP地址的計算機就成為主機 網絡按其規模可分為&#xff1a; WAN&#xff08;廣域網&#xff09;&#xff1a;覆蓋多個遠距離區域的遠程網絡 MAN&#xff08;城域網&#xff09;&#xff1a;比廣域網小一級&#xff0c;連接整個城…

3.10 十進制轉換為二進制

將十進制整數轉換成二進制數 對于每個n&#xff0c;以11位的寬度右對齊輸出n值&#xff0c;然后輸出"-->"&#xff0c;然后輸出二進制數。 輸入樣例&#xff1a; 2 0 -12 1 輸出樣例&#xff1a; 2-->10 0-->0 -12-->-1100 1-->1 #include<…

對線性回歸、邏輯回歸、各種回歸的概念學習

回歸問題的條件/前提&#xff1a; 1&#xff09; 收集的數據 2&#xff09; 假設的模型&#xff0c;即一個函數&#xff0c;這個函數里含有未知的參數&#xff0c;通過學習&#xff0c;可以估計出參數。然后利用這個模型去預測/分類新的數據。 1. 線性回歸 假設 特征 和 結果 都…

redis的源碼編譯安裝+發布訂閱+RDB持久化

redis的源碼編譯安裝發布訂閱RDB持久化轉載于:https://www.cnblogs.com/zwq-/p/10420455.html

Shell基礎1

0 Shell基礎 0.1 Shell是什么 0.1.1 Shell是什么 Shell是一個命令行解釋器&#xff0c;它為用戶提供了一個向Linux內核發送請求以便運行程序的界面系統級程序&#xff0c;用戶可以用Shell來啟動、掛起、停止甚至編寫一些程序。 硬件 <-內核 <- Shell命令解釋器<-外層應…

centos7自帶數據庫MariaDB重啟和修改密碼

1&#xff1a;MariaDB和mysql差不多是mysql的一個分支&#xff0c;完全兼容mysql的命令。 2&#xff1a;centos 7 中自帶MariaDB&#xff0c; 需要在centos中安裝mysql的時候就需要多注意了。 3&#xff1a;啟動 停止 重啟 MariaDB systemctl start mariadb.service #啟動Maria…