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

МТ-402 24.02.21

МТ-402 24.02.21

yazan Артем Маковецкий -
Yanıt sayısı: 0


p1 = [0,0];
p2 = [-1,-2];
p3 = [3,3];
p4 = [5,4];

p_test = [1, 1];

y1=0;
y2=0;
y3=1;
y4=1;

function s = scal_prod(a,b)
result = 0;
for i=1:length(a)
result += a(i)*b(i);
endfor
s=result;
endfunction

function s = sigma(x)
s = (1/(1+exp(-x)));
endfunction

N=4;

delta = [];
for j=1:N
arg = scal_prod(w,h1(:,j))-y(j);
delta(j) = sigma(arg)*sigma(arg)*(1-sigma(arg));
endfor

y = [y1,y2,y3,y4];

disp(y');

w11 = 1;
w12 = 1;
w13 = 1;

w = [w11, w12, w13];
h11 = [p1(1),p1(2),1];
h12 = [p2(1),p2(2),1];
h13 = [p3(1),p3(2),1];
h14 = [p4(1),p4(2),1];
h1_test = [p_test(1), p_test(2), 1]';

h1 = [h11',h12',h13',h14']

s = sigma(-5);

z21 = (w*h1)';
disp(z21);

z21_test = (w*h1_test)';

h21 = [sigma(z21(1)), sigma(z21(2)), sigma(z21(3)), sigma(z21(4))]';
disp(h21);

h21_test = [sigma(z21_test)];
if h21_test <= 0.5
output = -1;
else
output = 1;
endif
disp(output);

gradient = [];
for i=1:3
gradient(i) = scal_prod(delta, h1(i,:));
endfor
disp(gradient);