《人工智能主观贝叶斯分析实验》由会员分享,可在线阅读,更多相关《人工智能主观贝叶斯分析实验(8页珍藏版)》请在金锄头文库上搜索。
1、人工智能实验报告西安交大一、实验目的(1)学习了解java编程语言,掌握基本的算法实现;(2)深入理解贝叶斯理论和不确定性推理理论;(3)学习运用主观贝叶斯公式进行不确定推理的原理和过程二、实验题目用java语言实现运用主观贝叶斯公式进行不确定性推理的过程:根据初始证据E的概率P(E)及LS、LN的值,把H的先验概率P(H)更新为后验概率P(H/E)或者P(H/E)。要求如下:(1)充分考虑各种证据情况:证据肯定存在、证据肯定不存在、观察与证据无关、其他情况;(2)考虑EH公式和CP公式两种计算后验概率的方法;(3)给出EH公式的分段线性插值图;三、实验原理1、知识的不确定性在主观贝叶斯方法中
2、,只是是如下形式的产生式规则表示:IFETHEN(LS,LN)H(P(H)LS是充分性度量。其定义为:LS=P(E|H)/P(E|?H)。LN是必要性度量,其定义为:LN=P(?E|H)/P(?E|?H)=(1-P(E|H)/(1-P(E|?H)。2、证据不确定时的计算公式P(H/S)P(H/P(H)E)P(H)P(H/E)*P(E)P(H/E)P(H)1P(E)P(E/S)当0P(E/S)P(E)*(P(E/S)P(E)当P(E)P(E/S)1四、实验代码importimportpublicclassbayesextendsJFrameimplementsActionListenerJPan
3、elpanel=newJPanel();JLabelph=newJLabel(P(H);JTextFieldPH=newJTextField(,3);JLabelpe=newJLabel(P(E);JTextFieldPE=newJTextField(,3);JLabells=newJLabel(LS);JTextFieldLS=newJTextField(,3);JLabelln=newJLabel(LN);JTextFieldLN=newJTextField(,3);Buttoncompute=newButton(COMPUTE);staticdoublet_ph;staticdouble
4、t_pe;staticdoublet_ln;staticdoublet_ls;staticdoubleph_e;/P(E/S)=0时PHSstaticdoublephe;/P(E/S)=1时PHSpublicbayes()setLayout(newBorderLayout();(newFlowLayout();(ph);(PH);(pe);(PE);(ln);(LN);(ls);(LS);(panel);(this);(compute,;publicstaticvoidmain(String口args)bayesa=newbayes();(400,250);(true);(EXIT_ON_CL
5、OSE);OverridepublicvoidactionPerformed(ActionEventarg0)/TODOAuto-generatedmethodstubt_ph=newDouble();t_pe=newDouble();t_ls=newDouble();t_ln=newDouble();ph_e=t_ln*t_ph/(t_ln-1)*t_ph+1);phe=t_ls*t_ph/(t_ls-1)*t_ph+1);displayc=newdisplay();classdrawextendsJPanelpublicvoidpaint(Graphicsg)(g);(50,350,350
6、,350);(50,50,50,350);(50,350-(int)*300),50+(int)*300),350-(int)*300);(50+(int)*300),350-(int)*300),350,350-(int)*300);classdisplayextendsJFramepublicdisplay()drawb=newdraw();(b);(true);(400,400);五、实验结果输入初始值:图像结果显示:六、实验总结由于本次实验是第一次使用java语言进行编程,在领略到java语言的方便与强大功能的同时,也有有很多不尽如人意的地方。编写程序时遇到种种困难,对于java编程的不适应,最终经过努力还是完成了实验。收获很大。