《模式识别与机器学习作业》由会员分享,可在线阅读,更多相关《模式识别与机器学习作业(7页珍藏版)》请在金锄头文库上搜索。
1、 设以下模式类别具有正态概率密度函数 设以下模式类别具有正态概率密度函数 1 0 0 T 2 0 T 2 2 T 0 2 T 2 4 4 T 6 4 T 6 6 T 4 6 T 1 设 设 P 1 P 2 1 2 求这两类模式之间的贝叶斯判别界面的方程式 求这两类模式之间的贝叶斯判别界面的方程式 2 绘出判别界面 绘出判别界面 解 编写两类正态分布模式的贝叶斯分类程序 可选例题或上述作业题为分编写两类正态分布模式的贝叶斯分类程序 可选例题或上述作业题为分 类模式 类模式 源源程序程序如下 如下 include using namespace std void inverse matrix in
2、tT double b 5 5 double a 5 5 for int i 0 i T i for int j 0 j 2 T j if j T a i j b i j elseif j T i a i j 1 0 else a i j 0 0 for int i 0 i T i for int k 0 k T k if k i double t a k i a i i for int j 0 j 2 T j double x a i j t a k j a k j x for int i 0 i T i double t a i i for int j 0 j 2 T j a i j a
3、i j t for int i 0 i T i for int j 0 j T j b i j a i j T voidget matrix intT double result 5 5 double a 5 for int i 0 i T i for int j 0 j T j result i j a i a j voidmatrix min intT double a 5 5 int bb for int i 0 i T i for int j 0 j T j a i j a i j bb voidgetX intT double res 5 double a 5 double C 5
4、5 for int i 0 i T i double sum 0 0 for int j 0 j T w1 num w2 num for int i 0 i w1 num i for int j 0 j w1 i j m1 j w1 i j for int i 0 i w2 num i for int j 0 j w2 i j m2 j w2 i j for int i 0 i w1 num i m1 i m1 i w1 num for int i 0 i w2 num i m2 i m2 i w2 num for int i 0 i w1 num i double res 5 5 a 5 f
5、or int j 0 j T j a j w1 i j m1 j get matrix T res a for int j 0 j T j for int k 0 k T k C1 j k res j k matrix min T C1 w1 num for int i 0 i w2 num i double res 5 5 a 5 for int j 0 j T j a j w2 i j m2 j get matrix T res a for int j 0 j T j for int k 0 k T k C2 j k res j k matrix min T C2 w2 num inver
6、se matrix T C1 inverse matrix T C2 double XX 5 0 C C1 5 0 C C2 5 0 double m1 m2 5 for int i 0 i T i m1 m2 i m1 i m2 i 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 i T i resultC C C1 i C C1 i for int i 0 i T i resultC C C2 i C C2 i resultC resultC 2 cout 判别函数为 endl cout d1 x d2 x for int i 0 i T i cout XX i x 0 cout resultC endl elseif resultC 0 cout resultC endl return 0 运行结果如下