模式識別作業5

clear;clc;
A = [0 2 2 0;0 0 2 2]; % 第一類模式
B = [4 6 6 4;4 4 6 6]; % 第二類模式
m1 = 1/size(A,2)*sum(A,2); % 均值矢量
m2 = 1/size(B,2)*sum(B,2);
C1 = 0;C2 = 0;
for i = 1:size(A,2)
    C1 = C1 + A(:,i)*A(:,i)';
    C2 = C2 + B(:,i)*B(:,i)';
end
C1 = 1/size(A,2)*C1-m1*m1'; % 協方差矩陣
C2 = 1/size(B,2)*C2-m2*m2';
p = 1/2; % 先驗概率
syms x1 x2 real;
x = [x1;x2];
d1 = x'*inv(C1)*m1-1/2*m1'*inv(C1)*m1;
d2 = x'*inv(C2)*m2-1/2*m2'*inv(C2)*m2;
d = d1 - d2; % 判決界面
fprintf('兩類模式之間的Bayes判別界面的方程爲:%s=0\n',d);

結果:
在這裏插入圖片描述

clear;clc;
imshow('1.bmp'); % 公式推導
syms x1 x2 real;
x = [x1;x2];
u1 = [-1;0]; % 均值矢量
u2 = [1;0];
I = [1 0;0 1]; 
X1 = I;X2 = I; % 協方差矩陣
l = 1/2*(log(det(X1))-log(det(X2))+(x-u1)'*inv(X1)*(x-u1)-(x-u2)'*inv(X2)*(x-u2)); 
% 負對數似然比
l = simplify(l);
fprintf('1.如果%s<0,則判x∈w1,否則判x∈w2\n',l);
fprintf('即:如果x1<0,則判x∈w1,否則判x∈w2\n');
X1 = [1 1/2;1/2 1];
X2 = [1 -1/2;-1/2 1];
l = 1/2*(log(det(X1))-log(det(X2))+(x-u1)'*inv(X1)*(x-u1)-(x-u2)'*inv(X2)*(x-u2));
l = simplify(l);
fprintf('\n2.如果%s<0,則判x∈w1,否則判x∈w2\n',l);
fprintf('即:如果x1<0且x2<2,或x1>0且x2>2,則判x∈w1,否則判x∈w2\n');

結果:
在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章