Форум для обсуждения курса

10 03 2022 МТ402

10 03 2022 МТ402

de Евгений Вильгаук -
Número de respuestas: 0
  1. # 1 класс: (1,1),(2,4),(7,18),(12,15)
  2. # 2 класс: (-3,5),(-4,9),(-5,12),(-15,2)
  3. # 3 класс: (7,-3),(14,-18),(3,-22),(7,-13)
  4. # 4 класс: (-1,-1),(-4,-9),(-3,-22),(-12,-15)
  5. points = [1,2,7,12, -3,-4,-5,-15, 7,14,3,7, -1,-4,-3,-12;
  6. 1,4,18,15, 5,9,12,2, -3,-18,-22,-13, -1,-9,-22,-15];
  7.  
  8. for i = 1:3
  9. for j = 1:16
  10. if(i == 3)
  11. H1(i,j) = 1;
  12. else
  13. H1(i,j) = points(i,j);
  14. endif
  15. endfor
  16. endfor
  17.  
  18. # вынести в функцию
  19. for i = 1:16
  20. if(H1(1,i) >= 0 && H1(2,i) >= 0)
  21. Y(1,i) = 0;
  22. Y(2,i) = 0;
  23. elseif(H1(1,i) < 0 && H1(2,i) >= 0)
  24. Y(1,i) = 0;
  25. Y(2,i) = 1;
  26. elseif(H1(1,i) >= 0 && H1(2,i) < 0)
  27. Y(1,i) = 0;
  28. Y(2,i) = 0;
  29. elseif(H1(1,i) < 0 && H1(2,i) < 0)
  30. Y(1,i) = 1;
  31. Y(2,i) = 0;
  32. endif
  33. endfor
  34.  
  35. for i = 1:2
  36. for j = 1:3
  37. W(i,j) = 1;
  38. endfor
  39. endfor
  40.  
  41. Z2 = W * H1;
  42.  
  43.  
  44. #вынести в softmax
  45. sum = zeros(1,16);
  46. for i = 1:16
  47. sum(1,i) = exp(Z2(1,i)) + exp(Z2(2,i));
  48. endfor
  49.  
  50. for i = 1:2
  51. for j = 1:16
  52. H2(i,j) = exp(Z2(i,j)) / sum(1,j);
  53. endfor
  54. endfor
  55.  
  56.  
  57. #
  58. J = norm(H2 - Y)^2;
  59. delta = 2*(H2 - Y) .* (H2 .* (1 - H2));
  60.  
  61. qradient_J = delta * H1';
  62.  
  63. lambda = 0.1;
  64.  
  65. W1 = W - lambda * gradient_J;