




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于MATLAB的BNT工具箱的使用與實例工具箱的安裝下載FullBNT.zip文件。解壓文件。編輯"FullBNT/BNT/add_BNT_to_path.m"讓它包含正確的工作路徑。BNT_HOME='FullBNT的工作路徑';打開Matlab。運行BNT需要Matlab版本在V5.2以上。鍵入"add_BNT_to_path",執(zhí)行這個命令。添加路徑。添加所有的文件夾在Matlab的路徑下。鍵入"test_BNT",看看運行是否正常,這時可能產(chǎn)生一些數(shù)字和一些警告信息。(你可以忽視它)但是沒有錯誤信息?;贛ATLAB的BNT工具箱的使用與實例
CreatingyourfirstBayesnet
創(chuàng)建你的第一個貝葉斯網(wǎng)絡網(wǎng)絡結(jié)構(gòu)(structure)節(jié)點數(shù)量節(jié)點間關(guān)系節(jié)點大小與類型建立貝葉斯網(wǎng)絡參數(shù)(parameters)條件概率分布CPD最簡單的是CPT:條件概率表圖形可視化繪制有向圖推理聯(lián)合樹引擎(junctiontreeengine)精確推斷的根本計算邊緣分布計算聯(lián)合分布網(wǎng)絡結(jié)構(gòu)(structure)節(jié)點數(shù)量節(jié)點間關(guān)系節(jié)點大小與類型建立貝葉斯網(wǎng)絡N=4;%節(jié)點為4父節(jié)點子節(jié)點1→2,32→43→4Dag=zeros(N,N);dag(1,[23])=1;dag(2,4)=1;dag(3,4)=1;節(jié)點類型:discrete_nodes=1:4;節(jié)點大?。簄ode_sizes=[2,2,2,2];節(jié)點均有兩個取值:F&Tbnet=mk_bnet(dag,node_sizes,‘names’,{‘C’,‘S’,‘R’,‘W’},‘discrete’,discrete_nodes,)當然,也可以進行簡寫,將節(jié)點大小和類型與貝葉斯網(wǎng)的建立整合:bnet=mk_bnet(dag,[2,2,2,2],‘names’,{‘C’,‘S’,‘R’,‘W’},‘discrete’,1:4)參數(shù)(parameters)條件概率分布CPD最簡單的是CPT:條件概率表Tabularnodes列表節(jié)點Noisy-ornodes布爾型神經(jīng)網(wǎng)絡節(jié)點根節(jié)點高斯節(jié)點(連續(xù)分布)廣義線性模型節(jié)點確定型多層次離散型等CPT,conditionalprobabilitytables,是作為多為數(shù)組存儲的。注意:子節(jié)點,通常是最后一維;
在MATLAB中,數(shù)組索引從1開始,按照慣例false(假)==1,true(真)==2例如:節(jié)點w最后一維創(chuàng)建條件概率表CPT=zeros(2,2,2);CPT(1,1,1)=1.0;CPT(2,1,1)=0.1;……CPT(2,2,2)=0.99;
CPT=reshape([1,0.1,0.1···0.99],[2,2,2]);利用tabular_CPDbnet.CPD{C}=tabular_CPD(bnet,C,[0.50.5]);
bnet.CPD{R}=tabular_CPD(bnet,R,[0.80.20.20.8]);
bnet.CPD{S}=tabular_CPD(bnet,S,[0.50.90.50.1]);
bnet.CPD{W}=tabular_CPD(bnet,W,[10.10.10.0100.90.90.99]);Draw_graph(dag)繪制圖形推理(Inference)
貝葉斯網(wǎng)絡中有許多不同的算法來作為推斷的的工具,在速度、復雜性、普遍性和精確性上有不同的表現(xiàn)。BNT因此提供了多種多樣的不同的推斷引擎。聯(lián)合樹引擎-所有精確推斷引擎的根本jtree_inf_engine調(diào)用方法:engine=jtree_inf_engine(bnet);推理計算:回到上面,我們已經(jīng)建立了一個關(guān)于草地濕潤的例子。灑水器和下雨均可能打濕草坪,現(xiàn)在計算灑水器導致草地濕潤的概率。題目中,證據(jù)為草地濕潤即,W=2。后面楊海濱同學會做詳細介紹。evidence=cell(1,N);evidence{W}=2;%證據(jù)為W=2[engine,loglik]=enter_evidence(engine,evidence);%把證據(jù)添加進引擎marg=marginal_nodes(engine,S);%指定計算S的概率分布marg.T;%計算P(S=1|W=2)與P(S=2|W=2)marg.T(2);%計算P(S=2|W=2)的邊緣概率當然,證據(jù)也可以是多維數(shù)組。marg=marginal_nodes(engine,[SRW]);%指定計算SRW的聯(lián)合概率分布,也就是P(S,R,W)。無證據(jù)情況下結(jié)果為:ans(:,:,1)=0.29000.04100.02100.0009ans(:,:,2)=00.36900.18900.0891Evidence(R)=2;marg.T;有證據(jù)情況下結(jié)果為:ans(:,:,1)=0.08200.0018ans(:,:,2)=0.73800.1782dag=zeros(4,4);dag(1,[23])=1;dag(2,4)=1;dag(3,4)=1;draw_graph(dag);bnet=mk_bnet(dag,[2,2,2,2],'names',{'C',’S',’R',’W'},'discrete',1:4);bnet.CPD{C}=tabular_CPD(bnet,C,[0.50.5]);bnet.CPD{R}=tabular_CPD(bnet,R,[0.80.20.20.8]);bnet.CPD{S}=tabular_CPD(bnet,S,[0.50.90.50.1]);bnet.CPD{W}=tabular_CPD(bnet,W,[10.10.10.0100.90.90.99]);engine=jtree_inf_engine(bnet);evidence=cell(1,4);[engine,loglik]=enter_evidence(engine,evidence);marg=marginal_nodes(engine,[RSW]);marg.T;網(wǎng)絡結(jié)構(gòu)參數(shù)推理參數(shù)學習從完整的數(shù)據(jù)中進行最大似然參數(shù)估計:還是以濕草坪為例:首先,我們用正向采樣創(chuàng)建一些訓練數(shù)據(jù)。samples=cell(N,nsamples);fori=1:nsamplessamples(:,i)=sample_bnet(bnet);Enddata=cell2num(samples);然后,Makeatabularasabnet2=mk_bnet(dag,node_sizes);seed=0;rand('state',seed);bnet2.CPD{C}=tabular_CPD(bnet2,C);bnet2.CPD{R}=tabular_CPD(bnet2,R);bnet2.CPD{S}=tabular_CPD(bnet2,S);bnet2.CPD{W}=tabular_CPD(bnet2,W);接著,查找最大似然估計的參數(shù)bnet3=learn_params(bnet2,samples);最后,為了查看學習后的參數(shù),我們可以用下面的方法:CPT3=cell(1,N);fori=1:Ns=struct(bnet3.CPD{i});%violateobjectprivacyuhuiCPT3{i}=s.CPT;學習了節(jié)點4的參數(shù):dispcpt(CPT3{4})Samples=20,50,100時,節(jié)點4的參數(shù)越來越接近真實值原概率表參數(shù)學習
如果有數(shù)據(jù),就不需要手動獲取樣本,只需要將數(shù)據(jù)加載即可。加載數(shù)據(jù)進行參數(shù)學習:先將剛剛得到的樣本保存為datatest.txt參數(shù)學習data=load('datatest.txt');samples=data';bnet2=……dispcpt(EM–數(shù)據(jù)缺失情況學習結(jié)果:CPT4{1}=
0.46700.5330
CPT4{2}=
0.46160.53840.94950.0505CPT4{3}=0.89580.10420.19370.8063CPT4{4}=(:,:,1)=1.00000.10370.09150.0010(:,:,2)=00.89630.90850.9990手動建立簡單的貝葉斯網(wǎng)絡---調(diào)用的函數(shù)有:mk_bnettabular_CPDjtree_inf_engine參數(shù)學習---完整數(shù)據(jù)下的最大似然估計、數(shù)據(jù)缺失下EM算法
簡單的樣本訓練、數(shù)據(jù)加載及學習
1、MATLAB學習:下載了MATLAB教程課件,邊敲代碼邊記筆記,更加細致地學習了變量及數(shù)組相關(guān)內(nèi)容2、本周已初步掌握貝葉斯工具箱的使用:能夠?qū)﹄x散型數(shù)據(jù)進行參數(shù)學習與推理。3、銀行個人客戶數(shù)據(jù)的測試工作遇到問題:客戶數(shù)據(jù)中有連續(xù)型、離散型兩種,目前未能對連續(xù)型數(shù)據(jù)進行處理。此外離散型數(shù)據(jù)中有,如日期(1-30號)、月份(1-12號),年齡(最小18,最大87),通話時長(最短4s,最長3500s)等,如此數(shù)據(jù)應不能直接用MATLAB測試,就算可以直接測試,效果肯定也不理想,需要進行數(shù)據(jù)預處理?;仡櫷评恚↖nference)BNT提供了多種多樣的不同的推斷引擎。聯(lián)合樹算法:jtree_inf_engine變量消元算法:var_elim_inf_engine全局推理算法:
enumerative_inf_engine,gaussian_inf_engine,andcond_gauss_inf_engine快速打分算法:quickscore_inf_engine采樣算法:likelihood_weighting_inf_engine、gibbs_sampling_inf_engine調(diào)用方法:所有推理算法的調(diào)用都相同:engine=jtree_inf_engine(bnet);%指定引擎[engine,loglik]=enter_evidence(engine,evidence);%添加證據(jù)marg=marginal_nodes(engine,S);%指定需要計算的節(jié)點marg.T;顯示結(jié)果推理舉例貝葉斯網(wǎng)絡精確推理:計算P(S=2|W=2)的概率var_eli
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 斧鑿混凝土外墻施工方案
- 臺山屋頂清洗施工方案
- 水庫高溫施工方案
- 危險性專項施工方案
- 漯河管井降水施工方案
- TSHJMRH 0063-2024 在用潤滑油顆粒污染度的測定 光阻法
- 家長會安全發(fā)言稿
- 2025年度股份轉(zhuǎn)讓過程中稅務籌劃及優(yōu)惠政策合同
- 二零二五年度關(guān)于協(xié)議作廢糾紛的調(diào)解與賠償協(xié)議
- 二零二五年度夫妻共同維護家庭和諧與子女幸福感協(xié)議書
- 氧氣、二氧化碳、氬氣安全周知卡
- 第9章 循環(huán)系統(tǒng)疾病患兒的護理
- 基層醫(yī)療衛(wèi)生機構(gòu)崗位設(shè)置指導意見
- micro830和micro850可編程控制器手冊
- FSC-COC培訓學習
- 焊接線能量的計算公式
- 醫(yī)用氧儲罐檢查記錄表
- 植物的營養(yǎng)器官:根、莖、葉匯總
- 第三套廣播體操《七彩陽光》分解動作講解(共4頁)
- 歷屆全國初中數(shù)學聯(lián)賽真題及答案
- 頸椎病ppt課件
評論
0/150
提交評論