Висновки
При виконанні завдання була застосована прогресивна інформаційно-екстремальна інтелектуальна технологія проектування інтелектуальних СППР.
Результатом обчислень є класифікатори створені у вигляді роздільних гіперповерхонь для кожного з двох класів розпізнавання. Оптимізація радіусів цих гіперповерхонь дозволила забезпечити максимум відповідних критеріїв оптимізації. Нажаль побудовані класифікатори не є безпомилковими, на що вказують значення точнісних характеристик і відносно невеликі значення критерію функціональної ефективності
Список літератури
Краснопоясовський А.С. Інформаційний синтез інтелектуальних систем керування: Підхід, що ґрунтується на методі функціонально-статистичних випробувань. – Суми: Видавництво СумДу, 2004. – 261с.
Краснопоясовський А.С. Класифікаційний аналіз даних: Навчальний посібник. Суми: Видавництво СумДУ, 2002. 159 с.
Додаток (текст програми)
Основна програма:
M = 2;
S = 100;
A = zeros(S,S,M);
A(:,:,1) = imread( 'M1.bmp' );
A(:,:,2) = imread( 'M2.bmp' );
B = zeros(S,S,M);
delta = 60;
ro = 0.54;
VD = mean(A(:,:,1)) + delta;
ND = mean(A(:,:,1)) - delta;
for i = 1:S
for j = 1:S
if (A(i,j,1) >= ND(j)) & (A(i,j,1) <= VD(j)) B(i,j,1) = 1;
else B(i,j,1) = 0;
end;
if (A(i,j,2) >= ND(j)) & (A(i,j,2) <= VD(j)) B(i,j,2) = 1;
else B(i,j,2) = 0;
end;
end
end
EV(1,:)=mean(B(:,:,1))>ro;
EV(2,:)=mean(B(:,:,2))>ro;
subplot(4,3,1), subimage(A(:,:,1),[0 255]);
subplot(4,3,2), subimage(B(:,:,1));
subplot(4,3,3), subimage(imresize(EV(1,:),[20 S]));
subplot(4,3,4), subimage(A(:,:,2),[0 255]);
subplot(4,3,5), subimage(B(:,:,2));
subplot(4,3,6), subimage(imresize(EV(2,:),[20 S]));
%-------------------------------------------------------------
PAR = zeros(M,M);
for i = 1:M
for j = 1:M
if i ~= j
PAR(i,j) = sum(xor(EV(i,:),EV(j,:)));
else
PAR(i,j) = S+100;
end
end
end
PAR_MIN = min(PAR);
PARA = zeros(1,2);
for i = 1:M
for j = 1:M
if (PAR(i,j) == PAR_MIN(i))
PARA(i) = j;
end
end
end
for i=1:100
%Кількість своїх реалізацій, що потрапили в контейнер
SK1(i)=sum(B(i,:,1)~=EV(1,:));
%Кількість чужих реалізацій, що потрапили в контейнер
SK2(i)=sum(B(i,:,2)~=EV(1,:));
%Кількість чужих реалізацій, що не потрапили в контейнер
SK3(i)=sum(B(i,:,2)~=EV(2,:));
%Кількість своїх реалізацій, що не потрапили в контейнер
SK4(i)=sum(B(i,:,1)~=EV(2,:));
end;
%-------------------------------------------------------------
%Klass 1
DL1=1:size(B(:,:,1),2);
for i=1:100
K1(i)=sum(SK1<=DL1(i));
K2(i)=sum(SK2<=DL1(i));
end;
D1=K1./size(B(:,:,1),1);
beta=K2./size(B(:,:,1),1);
alfa=1-D1;
D2=1-beta;
E1=(alfa./(alfa+D2)).*log2(alfa./(alfa+D2));
E2=(D1./(D1+beta)).*log2(D1./(D1+beta));
E3=(beta./(D1+beta)).*log2(beta./(D1+beta));
E4=(D2./(D2+alfa)).*log2(D2./(D2+alfa));
E1(isnan(E1))=0;
E2(isnan(E2))=0;
E3(isnan(E3))=0;
E4(isnan(E4))=0;
E=1+0.5*(E1+E2+E3+E4);
m=find((D1>0.5)&(D2>0.5));
maxm=find(E==max(E(m)));
subplot(4,3,7); plot(DL1,E,m,E(m),'r');
%Klass 2
DL2=1:size(B(:,:,2),2);
for i=1:100
K3(i)=sum(SK3<=DL2(i));
K4(i)=sum(SK4<=DL2(i));
end;
D3=K3./size(B(:,:,2),1);
beta2=K4./size(B(:,:,2),1);
alfa2=1-D3;
D4=1-beta2;
E11=(alfa2./(alfa2+D4)).*log2(alfa2./(alfa2+D4));
E12=(D3./(D3+beta2)).*log2(D3./(D3+beta2));
E13=(beta2./(D3+beta2)).*log2(beta2./(D3+beta2));
E14=(D4./(D4+alfa2)).*log2(D4./(D4+alfa2));
E11(isnan(E11))=0;
E12(isnan(E12))=0;
E13(isnan(E13))=0;
E14(isnan(E14))=0;
EE=1+0.5*(E11+E12+E13+E14);
n=find((D3>0.5)&(D4>0.5));
maxn=find(EE==max(EE(n)));
subplot(4,3,8); plot(DL2,EE,n,EE(n),'r');
%-------------------------------------------------------------
C = zeros(100,100);
C(1:50,:) = A(1:50,:,1);
C(51:100,:) = A(51:100,:,2);
for i=1:100
C1(i,:)=(C(i,:)>ND)&(C(i,:)<VD);
end;
EVC1=mean(C1(:,:,1))>ro;
for i=1:100
Ex1(i)=sum(EV(1,:)~=C1(i,:));
Ex2(i)=sum(EV(2,:)~=C1(i,:));
end;
for i=1:100
M1(i)=1-Ex1(i)./maxm;
M2(i)=1-Ex2(i)./maxn;
end;
mean(M1);
mean(M2);
if (max(M1) > max(M2))
Rez=max(M1);
i=1;
else Rez=max(M2); i=2;
end
Class=i
Rez
subplot(4,3,10), subimage(C(:,:),[0 250]);
subplot(4,3,11), subimage(C1(:,:));
subplot(4,3,12), subimage(imresize(EVC1(:,:),[20 S]));
