模式识别与机器学习

上传人:桔**** 文档编号:489856427 上传时间:2023-07-20 格式:DOCX 页数:13 大小:40.33KB
返回 下载 相关 举报
模式识别与机器学习_第1页
第1页 / 共13页
模式识别与机器学习_第2页
第2页 / 共13页
模式识别与机器学习_第3页
第3页 / 共13页
模式识别与机器学习_第4页
第4页 / 共13页
模式识别与机器学习_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《模式识别与机器学习》由会员分享,可在线阅读,更多相关《模式识别与机器学习(13页珍藏版)》请在金锄头文库上搜索。

1、第三次作业一:设以下模式类别具有正态概率密度函数:3 1: (0 0)T, (2 0)T, (2 2)T, (0 2)T3 2: (4 4)T, (6 4)T, (6 6)T, (4 6)T(1) 设P(3 1)= P(3 2)=1/2,求这两类模式之间的贝叶斯判别界面的方程 式。(2) 绘出判别界面。答案:(1)模式的均值向量mi和协方差矩阵Ci可用下式估计:其中N其中Ni为类别3i中模式的数目,乂中模式的数目,xij代表在第i 个类别中的第j个模式。由上式可求出:町二1纯二(5I。u设因P(3 1)=P(3 2)=1/2,因C1=C2,则判别界面为:m 3 -如a)一(奶一 *登。垃一?神

2、。叫十:矶,以,=4-4,. + N4 = 0(2)作业二:编写两类正态分布模式的贝叶斯分类程序。程序代码:#includeusingnamespacestd;voidinverse_matrix(intT,double b55)for(int i=0;iT;i+)for(int j=0;j(2*T);j+)( if (jT)aij=bij;elseif (j=T+i)aij = 1.0;elseaij=0.0;for(int i=0;iT;i+)(for(int k=0;kT;k+)(if(k!=i)for (int j=0;j(2*T);j+)double x=aij*t;ak j=ak

3、j-x;for (int i=0:iT:i+)double t=aii:for (int j=0;j (2*T);j+)ai j=ai j/t;for (int i=0:iT:i+)voidget_matrix(intT,double result55,double a5)(for(int i=0;iT;i+)(for(int j=0;jT;j+)(resultij=ai*aj;voidmatrix_min(intT,double a55,int bb)(for(int i=0;iT;i+)(voidgetX(intT,double res5,double a5,double C55)(for

4、(int i=0;iT;i+)(double sum=0.0;for(int j=0;jTw1_numw2_num;for(int i=0;iw1_num;i+)(for(int j=0;jw1ij;m1j+=w1ij;for(int i=0;iw2_num;i+)(for(int j=0;jw2ij;m2j+=w2ij;for(int i=0;iw1_num;i+)m1i=m1i/w1_num;for(int i=0;iw2_num;i+)m2i=m2i/w2_num;for(int i=0;iw1_num;i+)(double res55,a5;for(int j=0;jT;j+)aj=w

5、1ij-m1j;get_matrix(T,res,a);for(int j=0;jT;j+)(for(int k=0;kT;k+)C1jk+=resjk;matrix_min(T,C1,w1_num);for(int i=0;iw2_num;i+)(double res55,a5;for(int j=0;jT;j+)aj=w2ij-m2j;get_matrix(T,res,a);for(int j=0;jT;j+)(for(int k=0;kT;k+)C2jk+=resjk;matrix_min(T,C2,w2_num);inverse_matrix(T,C1);inverse_matrix(

6、T,C2);double XX5 = 0,C_C15 = 0,C_C25 = 0;double m1_m25;for(int i=0;iT;i+)(m1_m2i=m1i-m2i;getX(T,XX,m1_m2,C1);getX(T,C_C1,m1,C1);getX(T,C_C2,m2,C1);doubleresultC=0.0;for(int i=0;iT;i+)resultC-=C_C1i*C_C1i;for(int i=0;iT;i+)resultC+=C_C2i*C_C2i;resultC二resultC/2;cout判别函数为:endl;coutd1(x)-d2(x)=;for(int i=0;iT;i+)coutXXix0)cout+resultCendl;elseif(resultC0)coutresultCendl;return 0;运行截图:其中N

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号