0%

Perceptron Eğitimi - Yapay Sinir Ağları

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
var w, // ağırlık
A, B, // girişler
dA,dB; // istenenler


function calculate(){
$('#console').html('');
MAXLOOP=Number($("#maxloop").val());

var data = [];
data.push(A);
data.push(B);
var beklenen = [];
beklenen.push(dA);
beklenen.push(dB);

var c=Number($("#c").val());
var k=1; // itarasyon ks
var E=1; //ERROR
var o=0; //sign(toplam)
var p=0; // adım sayısı
while (E>0 && p < MAXLOOP) {

E = 0;
p++;
if (p == MAXLOOP - 1){
alert("MAX LOOP Aşıldı");
break;
}

for (var j = 0; j < data.length; j++) {
o = sign(toplam(data[j], w));

if (o == beklenen[j]) {
//ok
} else {

for (var i = 0; i < w.length; i++) {
w[i] = w[i] + c * (beklenen[j] - o) * data[j][i] / 2;
}
}

E = E + 1 / 2 * (Math.pow(beklenen[j] - o, 2));

}
k++;

print("<br>w = "+w.toString()+"[ E= "+E+" ]");


}

alert("w = "+w.toString());

}

function toplam(x,w){
var toplam=0;
for(key in w){
toplam+=w[key]*x[key];
}
return toplam;
}

function sign(x){
return Math.sign(x);
}

function f(x){
return 2/(1+Math.exp(-1*x))-1;
}