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

02.03.2024 МТ-402

02.03.2024 МТ-402

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

points = [
#1
1 1;
1 4;
8 5;
10 2;
#2
-1 1;
-2 5;
-3 2;
-8 4;
#3
-2 -1;
-5 -2;
-1 -4;
-4 -6;
#4
1 -2;
12 -2;
11 -5;
2 -7];

ht = size(points)(1);
wd = size(points)(2);

H1 = ones(wd+1, ht);

for i = 1:wd
for j = 1:ht
H1(i, j) = points(j, i);
endfor
endfor

s1 = 3;
s2 = 4;
N = ht;

W = rand(s2,s1);

Z2 = W*H1;

function retMatrix = softmax(M)
for j = 1:size(M)(2)
sum(j) = 0;
for i = 1:size(M)(1)
sum(j) += exp(M(i,j));
endfor
endfor
for i = 1:size(M)(1)
for j = 1:size(M)(2)
retMatrix(i,j) = exp(M(i,j))/sum(j);
endfor
endfor
endfunction

H2 = softmax(Z2);

function retVal = lossFunction(X, Y)
retVal = 0;
for i = 1:size(X)(1)
for j = 1:size(X)(2)
retVal += (X(i,j) - Y(i,j)) * (X(i,j) - Y(i,j));
endfor
endfor
endfunction

Y = [
1 0 0 0;
1 0 0 0;
1 0 0 0;
1 0 0 0;
0 1 0 0;
0 1 0 0;
0 1 0 0;
0 1 0 0;
0 0 1 0;
0 0 1 0;
0 0 1 0;
0 0 1 0;
0 0 0 1;
0 0 0 1;
0 0 0 1;
0 0 0 1;
];
Y = Y';

loss = lossFunction(H2, Y);