Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ODZ_polovynka.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
2 Мб
Скачать
☆

Висновки

При виконанні завдання була застосована прогресивна інформаційно-екстремальна інтелектуальна технологія проектування інтелектуальних СППР.

Результатом обчислень є класифікатори створені у вигляді роздільних гіперповерхонь для кожного з двох класів розпізнавання. Оптимізація радіусів цих гіперповерхонь дозволила забезпечити максимум відповідних критеріїв оптимізації. Нажаль побудовані класифікатори не є безпомилковими, на що вказують значення точнісних характеристик і відносно невеликі значення критерію функціональної ефективності

Список літератури

  1. Краснопоясовський А.С. Інформаційний синтез інтелектуальних систем керування: Підхід, що ґрунтується на методі функціонально-статистичних випробувань. – Суми: Видавництво СумДу, 2004. – 261с.

  2. Краснопоясовський А.С. Класифікаційний аналіз даних: Навчальний посібник. Суми: Видавництво СумДУ, 2002. 159 с.

Додаток (текст програми)

Основна програма:

  1. M = 2;

  2. S = 100;

  3. A = zeros(S,S,M);

  4. A(:,:,1) = imread( 'M1.bmp' );

  5. A(:,:,2) = imread( 'M2.bmp' );

  6. B = zeros(S,S,M);

  7.  

  8. delta = 60;

  9. ro = 0.54;

  10. VD = mean(A(:,:,1)) + delta;

  11. ND = mean(A(:,:,1)) - delta;

  12.  

  13. for i = 1:S

  14. for j = 1:S

  15. if (A(i,j,1) >= ND(j)) & (A(i,j,1) <= VD(j)) B(i,j,1) = 1;

  16. else B(i,j,1) = 0;

  17. end;

  18. if (A(i,j,2) >= ND(j)) & (A(i,j,2) <= VD(j)) B(i,j,2) = 1;

  19. else B(i,j,2) = 0;

  20. end;

  21. end

  22. end

  23.  

  24. EV(1,:)=mean(B(:,:,1))>ro;

  25. EV(2,:)=mean(B(:,:,2))>ro;

  26.  

  27. subplot(4,3,1), subimage(A(:,:,1),[0 255]);

  28. subplot(4,3,2), subimage(B(:,:,1));

  29. subplot(4,3,3), subimage(imresize(EV(1,:),[20 S]));

  30.  

  31. subplot(4,3,4), subimage(A(:,:,2),[0 255]);

  32. subplot(4,3,5), subimage(B(:,:,2));

  33. subplot(4,3,6), subimage(imresize(EV(2,:),[20 S]));

  34.  

  35. %-------------------------------------------------------------

  36.  

  37. PAR = zeros(M,M);

  38.  

  39. for i = 1:M

  40. for j = 1:M

  41. if i ~= j

  42. PAR(i,j) = sum(xor(EV(i,:),EV(j,:)));

  43. else

  44. PAR(i,j) = S+100;

  45. end

  46. end

  47. end

  48. PAR_MIN = min(PAR);

  49.  

  50. PARA = zeros(1,2);

  51. for i = 1:M

  52. for j = 1:M

  53. if (PAR(i,j) == PAR_MIN(i))

  54. PARA(i) = j;

  55. end

  56. end

  57. end

  58.  

  59. for i=1:100

  60. %Кількість своїх реалізацій, що потрапили в контейнер

  61. SK1(i)=sum(B(i,:,1)~=EV(1,:));

  62. %Кількість чужих реалізацій, що потрапили в контейнер

  63. SK2(i)=sum(B(i,:,2)~=EV(1,:));

  64. %Кількість чужих реалізацій, що не потрапили в контейнер

  65. SK3(i)=sum(B(i,:,2)~=EV(2,:));

  66. %Кількість своїх реалізацій, що не потрапили в контейнер

  67. SK4(i)=sum(B(i,:,1)~=EV(2,:));

  68. end;

  69.  

  70. %-------------------------------------------------------------

  71.  

  72. %Klass 1

  73. DL1=1:size(B(:,:,1),2);

  74. for i=1:100

  75. K1(i)=sum(SK1<=DL1(i));

  76. K2(i)=sum(SK2<=DL1(i));

  77. end;

  78.  

  79. D1=K1./size(B(:,:,1),1);

  80. beta=K2./size(B(:,:,1),1);

  81. alfa=1-D1;

  82. D2=1-beta;

  83.  

  84. E1=(alfa./(alfa+D2)).*log2(alfa./(alfa+D2));

  85. E2=(D1./(D1+beta)).*log2(D1./(D1+beta));

  86. E3=(beta./(D1+beta)).*log2(beta./(D1+beta));

  87. E4=(D2./(D2+alfa)).*log2(D2./(D2+alfa));

  88. E1(isnan(E1))=0;

  89. E2(isnan(E2))=0;

  90. E3(isnan(E3))=0;

  91. E4(isnan(E4))=0;

  92. E=1+0.5*(E1+E2+E3+E4);

  93.  

  94. m=find((D1>0.5)&(D2>0.5));

  95. maxm=find(E==max(E(m)));

  96. subplot(4,3,7); plot(DL1,E,m,E(m),'r');

  97. %Klass 2

  98. DL2=1:size(B(:,:,2),2);

  99. for i=1:100

  100. K3(i)=sum(SK3<=DL2(i));

  101. K4(i)=sum(SK4<=DL2(i));

  102. end;

  103.  

  104. D3=K3./size(B(:,:,2),1);

  105. beta2=K4./size(B(:,:,2),1);

  106. alfa2=1-D3;

  107. D4=1-beta2;

  108.  

  109. E11=(alfa2./(alfa2+D4)).*log2(alfa2./(alfa2+D4));

  110. E12=(D3./(D3+beta2)).*log2(D3./(D3+beta2));

  111. E13=(beta2./(D3+beta2)).*log2(beta2./(D3+beta2));

  112. E14=(D4./(D4+alfa2)).*log2(D4./(D4+alfa2));

  113. E11(isnan(E11))=0;

  114. E12(isnan(E12))=0;

  115. E13(isnan(E13))=0;

  116. E14(isnan(E14))=0;

  117. EE=1+0.5*(E11+E12+E13+E14);

  118.  

  119. n=find((D3>0.5)&(D4>0.5));

  120. maxn=find(EE==max(EE(n)));

  121.  

  122. subplot(4,3,8); plot(DL2,EE,n,EE(n),'r');

  123.  

  124. %-------------------------------------------------------------

  125.  

  126. C = zeros(100,100);

  127. C(1:50,:) = A(1:50,:,1);

  128. C(51:100,:) = A(51:100,:,2);

  129.  

  130. for i=1:100

  131. C1(i,:)=(C(i,:)>ND)&(C(i,:)<VD);

  132. end;

  133.  

  134. EVC1=mean(C1(:,:,1))>ro;

  135.  

  136. for i=1:100

  137. Ex1(i)=sum(EV(1,:)~=C1(i,:));

  138. Ex2(i)=sum(EV(2,:)~=C1(i,:));

  139. end;

  140. for i=1:100

  141. M1(i)=1-Ex1(i)./maxm;

  142. M2(i)=1-Ex2(i)./maxn;

  143. end;

  144. mean(M1);

  145.  

  146. mean(M2);

  147. if (max(M1) > max(M2))

  148. Rez=max(M1);

  149. i=1;

  150. else Rez=max(M2); i=2;

  151. end

  152. Class=i

  153. Rez

  154. subplot(4,3,10), subimage(C(:,:),[0 250]);

  155. subplot(4,3,11), subimage(C1(:,:));

  156. subplot(4,3,12), subimage(imresize(EVC1(:,:),[20 S]));

24

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]