Sunteți pe pagina 1din 14

REȚELE NEURONALE ARTIFICIALE.

Antrenarea neuronului clasificator

Modelul formal al perceptronului cu „n” intrări

𝑥1 , ⋯ 𝑥𝑛 – intrările neuronului
𝑤1 , ⋯ 𝑤𝑛 – ponderile intrărilor
T – pragul de activare
REȚELE NEURONALE ARTIFICIALE. Antrenarea neuronului clasificator (Perceptronul)

y
1

0
f

Ieșirea perceptronului se definește astfel:


0, 𝑑𝑎𝑐ă 𝑛𝑒𝑡 − 𝑇 < 0
𝑦 = 𝑓 𝑛𝑒𝑡 − 𝑇 = ቊ
1, 𝑑𝑎𝑐ă 𝑛𝑒𝑡 − 𝑇 ≥ 0
𝑛
Intrarea netă a perceptronului reprezintă ieșirea sumatorului și
𝑛𝑒𝑡 = ෍ 𝑥𝑖 ∙ 𝑤𝑖
intrarea în funcția de activare
𝑖=1
REȚELE NEURONALE ARTIFICIALE. Antrenarea neuronului clasificator (Perceptronul)

x2

x1 0, 𝑑𝑎𝑐ă 𝑛𝑒𝑡 − 𝑇 < 0


𝑦 = 𝑓 𝑛𝑒𝑡 − 𝑇 = ቊ
1, 𝑑𝑎𝑐ă 𝑛𝑒𝑡 − 𝑇 ≥ 0
𝑛

𝑛𝑒𝑡 = ෍ 𝑥𝑖 ∙ 𝑤𝑖
𝑖=1
REȚELE NEURONALE ARTIFICIALE. Antrenarea neuronului clasificator (Perceptronul)

x2

x1 0, 𝑑𝑎𝑐ă 𝑛𝑒𝑡 − 𝑇 < 0


𝑦 = 𝑓 𝑛𝑒𝑡 − 𝑇 = ቊ
1, 𝑑𝑎𝑐ă 𝑛𝑒𝑡 − 𝑇 ≥ 0
𝑛

𝑛𝑒𝑡 = ෍ 𝑥𝑖 ∙ 𝑤𝑖
𝑖=1
REȚELE NEURONALE ARTIFICIALE. Antrenarea neuronului clasificator (Perceptronul)

x2

x1 0, 𝑑𝑎𝑐ă 𝑛𝑒𝑡 − 𝑇 < 0


𝑦 = 𝑓 𝑛𝑒𝑡 − 𝑇 = ቊ
1, 𝑑𝑎𝑐ă 𝑛𝑒𝑡 − 𝑇 ≥ 0
𝑛

𝑛𝑒𝑡 = ෍ 𝑥𝑖 ∙ 𝑤𝑖
𝑖=1
REȚELE NEURONALE ARTIFICIALE. Antrenarea neuronului clasificator (Perceptronul)

Procesul de învățare constă în determinarea:


• Ponderilor w1, w2,... wn
• Pragului de activare T

0, 𝑑𝑎𝑐ă 𝑛𝑒𝑡 − 𝑇 < 0


𝑦 = 𝑓 𝑛𝑒𝑡 − 𝑇 = ቊ
1, 𝑑𝑎𝑐ă 𝑛𝑒𝑡 − 𝑇 ≥ 0
𝑛

𝑛𝑒𝑡 = ෍ 𝑥𝑖 ∙ 𝑤𝑖
𝑖=1
REȚELE NEURONALE ARTIFICIALE. Antrenarea neuronului clasificator (Perceptronul)

Etapele procesului de învățare:

1. Inițializarea ponderilor (wi) și a pragului de activare (T) cu valori aleatoare mici.


2. Se prezintă perceptronului fiecare exemplu din setul inițial (M exemple), calculându-se ieșirea pentru
fiecare dintre aceste exemple, urmând a se compara cu ieșirea reală:
𝑛

𝑦𝑗 𝑡 = 𝑓 ෍ 𝑥𝑖 ∙ 𝑤𝑖 (𝑡) − 𝑇(𝑡) , 𝑖 = 1, 𝑛, 𝑗 = 1, 𝑀
𝑖=1
• Dacă ieșirea calculată este egală cu ieșirea așteptată yj = dj, se trece la exemplul următor fără
actualizarea ponderilor și a pragului de activare:
𝑤𝑖 𝑡 + 1 = 𝑤𝑖 𝑡 ; 𝑇 𝑡 + 1 = 𝑇 𝑡
• În caz contrar (yj ≠ dj), ponderile (wi) și pragul de activare (T) sunt actualizate:
𝑤𝑖 𝑡 + 1 = 𝑤𝑖 𝑡 + 𝜂 ∙ 𝑑𝑗 − 𝑦𝑗 (𝑡) ∙ 𝑥𝑖
𝑇 𝑡 + 1 = 𝑇 𝑡 + 𝜂 ∙ 𝑑𝑗 − 𝑦𝑗 𝑡 ∙ −1
η – rata de învățăre 𝑑𝑗 – ieșirea așteptată 𝑦𝑗 – ieșirea calculată
3. În cazul în care toate exemplele au fost clasificate corect, procesul de învățare se oprește.
În caz contrar, se reia pasul (etapa) 2, trecându-se la epoca următoare.
REȚELE NEURONALE ARTIFICIALE. Antrenarea neuronului clasificator (Perceptronul)

Aplicație
Să se antreneze un neuron clasificator cu trei intrări și funcție de activare tip treaptă, pornind de la
ponderile: w1(0)=0,1 , w2(0)=0,1 , w3(0)=0,1 pragul de activare T(0)= – 0,02 și rata de învățare η = 0,7.
Să se realizeze o singură epocă a procesului de învățare folosind următorul set de exemple:

j 𝐱𝟏 𝐱𝟐 𝐱𝟑 dj
1 0,1 0,1 0,2 0
2 0,1 0,1 0,1 0
3 0,4 0,4 0,3 1
4 0,3 0,3 0,4 1
5 0,5 0,4 0,5 1
𝑛
0, 𝑑𝑎𝑐ă 𝑛𝑒𝑡 − 𝑇 < 0
𝑦 = 𝑓 𝑛𝑒𝑡 − 𝑇 = ቊ 𝑛𝑒𝑡 = ෍ 𝑥𝑖 ∙ 𝑤𝑖
1, 𝑑𝑎𝑐ă 𝑛𝑒𝑡 − 𝑇 ≥ 0
Rezolvare 𝑖=1

Pas 1:Inițializare
Se inițializează epoca = 0; pasul de timp t = 0; ponderile: w1(0) = 0,1;
w2(0) = 0,1; w3(0) = 0,1 și pragul de activare T(0) = –0,02.

Pas 2: se prezintă neuronului fiecare exemplu


Exemplul 1
x1 = 0,1; x2 = 0,1; x3 = 0,2 și d1 = 0.

𝑦1 0 = 𝑓 𝑥1 ∙ 𝑤1 0 + 𝑥2 ∙ 𝑤2 0 + 𝑥3 ∙ 𝑤3 0 − 𝑇 0 =
= 𝑓 0,1 ∙ 0,1 + 0,1 ∙ 0,1 + 0,2 ∙ 0,1 − −0,02 = 𝒇(𝟎, 𝟎𝟔)
0,06 > 0 → 𝑓 0,06 = 1 → 𝒚𝟏 𝟎 = 𝟏 ≠ 𝒅𝟏
Deoarece y1 ≠ d1, trebuie să actualizăm ponderile și pragul de activare:
𝑤1 0 + 1 = 𝑤1 0 + 𝜂 ∙ 𝑑1 − 𝑦1 0 ∙ 𝑥1 = 0,1 + 0,7 ∙ 0 − 1 ∙ 0,1 = 𝟎, 𝟎𝟑
𝑤2 0 + 1 = 𝑤2 0 + 𝜂 ∙ 𝑑1 − 𝑦1 0 ∙ 𝑥2 = 0,1 + 0,7 ∙ 0 − 1 ∙ 0,1 = 𝟎, 𝟎𝟑
𝑤3 0 + 1 = 𝑤3 0 + 𝜂 ∙ 𝑑1 − 𝑦1 0 ∙ 𝑥3 = 0,1 + 0,7 ∙ 0 − 1 ∙ 0,2 = −𝟎, 𝟎𝟒
𝑇 0 + 1 = 𝑇 0 + 𝜂 ∙ 𝑑1 − 𝑦1 0 ∙ −1 = −0,02 + 0,7 ∙ 0 − 1 ∙ −1 = 𝟎, 𝟔𝟖
𝑡 =𝑡+1=0+1=1
𝑛
0, 𝑑𝑎𝑐ă 𝑛𝑒𝑡 − 𝑇 < 0
𝑦 = 𝑓 𝑛𝑒𝑡 − 𝑇 = ቊ 𝑛𝑒𝑡 = ෍ 𝑥𝑖 ∙ 𝑤𝑖
1, 𝑑𝑎𝑐ă 𝑛𝑒𝑡 − 𝑇 ≥ 0
Rezolvare 𝑖=1

w1(1) = 0,03 w2(1) = 0,03


Exemplul 2 w3(1) = − 0,04 T(1) = 0,68
x1 = 0,1; x2 = 0,1; x3 = 0,1 și d2 = 0;

𝑦2 1 = 𝑓 𝑥1 ∙ 𝑤1 1 + 𝑥2 ∙ 𝑤2 1 + 𝑥3 ∙ 𝑤3 1 − 𝑇 1 =
= 𝑓 0,1 ∙ 0,03 + 0,1 ∙ 0,03 + 0,1 ∙ (−0,04) − 0,68 = 𝒇(−𝟎, 𝟔𝟖𝟐)
−0,682 < 0 → 𝑓 −0,682 = 0 → 𝒚𝟐 𝟏 = 𝟎 = 𝒅𝟐
Deoarece ieșirea calculată este egală cu ieșirea așteptată y2 = d2, nu mai
este necesară actualizarea valorilor ponderilor și a pragului:
𝑤1 2 = 𝑤1 1 = 𝟎, 𝟎𝟑
𝑤2 2 = 𝑤2 1 = 𝟎, 𝟎𝟑
𝑤3 2 = 𝑤3 1 = −𝟎, 𝟎𝟒
𝑇 2 = 𝑇 1 = 𝟎, 𝟔𝟖
𝑡 =𝑡+1=1+1=2
𝑛
0, 𝑑𝑎𝑐ă 𝑛𝑒𝑡 − 𝑇 < 0
𝑦 = 𝑓 𝑛𝑒𝑡 − 𝑇 = ቊ 𝑛𝑒𝑡 = ෍ 𝑥𝑖 ∙ 𝑤𝑖
1, 𝑑𝑎𝑐ă 𝑛𝑒𝑡 − 𝑇 ≥ 0
Rezolvare 𝑖=1

w1(2) = 0,03 w2(2) = 0,03


Exemplul 3 w3(2) = − 0,04 T(2) = 0,68
x1 = 0,4; x2 = 0,4; x3 = 0,3 și d3 = 1;

𝑦3 2 = 𝑓 𝑥1 ∙ 𝑤1 2 + 𝑥2 ∙ 𝑤2 2 + 𝑥3 ∙ 𝑤3 2 − 𝑇 2 =
= 𝑓 0,4 ∙ 0,03 + 0,4 ∙ 0,03 + 0,3 ∙ (−0,04) − 0,68 = 𝒇(−𝟎, 𝟔𝟔𝟖)
−0,668 < 0 → 𝑓 −0,668 = 0 → 𝒚𝟑 𝟐 = 𝟎 ≠ 𝒅𝟑
Deoarece y3 ≠ d3 Este necesară actualizarea ponderilor și a pragului:
𝑤1 3 = 𝑤1 2 + 𝜂 ∙ 𝑑3 − 𝑦3 2 ∙ 𝑥1 = 0,03 + 0,7 ∙ 1 − 0 ∙ 0,4 = 𝟎, 𝟑𝟏
𝑤2 3 = 𝑤2 2 + 𝜂 ∙ 𝑑3 − 𝑦3 2 ∙ 𝑥2 = 0,03 + 0,7 ∙ 1 − 0 ∙ 0,4 = 𝟎, 𝟑𝟏
𝑤3 3 = 𝑤3 2 + 𝜂 ∙ 𝑑3 − 𝑦3 2 ∙ 𝑥3 = (−0,04) + 0,7 ∙ 1 − 0 ∙ 0,3 = 𝟎, 𝟏𝟕
𝑇 3 = 𝑇 2 + 𝜂 ∙ 𝑑3 − 𝑦3 2 ∙ −1 = 0,68 + 0,7 ∙ 1 − 0 ∙ −1 = −𝟎, 𝟎𝟐
𝑡 =𝑡+1=2+1=3
𝑛
0, 𝑑𝑎𝑐ă 𝑛𝑒𝑡 − 𝑇 < 0
𝑦 = 𝑓 𝑛𝑒𝑡 − 𝑇 = ቊ 𝑛𝑒𝑡 = ෍ 𝑥𝑖 ∙ 𝑤𝑖
1, 𝑑𝑎𝑐ă 𝑛𝑒𝑡 − 𝑇 ≥ 0
Rezolvare 𝑖=1

w1(3) = 0,31 w2(3) = 0,31


Exemplul 4
w3(3) = 0,17 T(3) = − 0,02
x1 = 0,3; x2 = 0,3; x3 = 0,4 și d4 = 1;

𝑦4 3 = 𝑓 𝑥1 ∙ 𝑤1 3 + 𝑥2 ∙ 𝑤2 3 + 𝑥3 ∙ 𝑤3 3 − 𝑇 3 =
= 𝑓 0,3 ∙ 0,31 + 0,3 ∙ 0,31 + 0,4 ∙ 0,17 − (−0,02) = 𝒇(𝟎, 𝟐𝟕𝟒)
0,274 > 0 → 𝑓 0,274 = 1 → 𝒚𝟒 𝟑 = 𝟏 = 𝒅𝟒
Deoarece ieșirea calculată este egală cu ieșirea așteptată y4 = d4, nu mai este necesară
actualizarea valorilor ponderilor și a pragului:
𝑤1 4 = 𝑤1 3 = 𝟎, 𝟑𝟏
𝑤2 4 = 𝑤2 3 = 𝟎, 𝟑𝟏
𝑤3 4 = 𝑤3 3 = 𝟎, 𝟏𝟕
𝑇 4 = 𝑇 3 = −𝟎, 𝟎𝟐
𝑡 =𝑡+1=3+1=4
𝑛
0, 𝑑𝑎𝑐ă 𝑛𝑒𝑡 − 𝑇 < 0
𝑦 = 𝑓 𝑛𝑒𝑡 − 𝑇 = ቊ 𝑛𝑒𝑡 = ෍ 𝑥𝑖 ∙ 𝑤𝑖
1, 𝑑𝑎𝑐ă 𝑛𝑒𝑡 − 𝑇 ≥ 0
Rezolvare 𝑖=1

Exemplul 5 w1(4) = 0,31 w2(4) = 0,31


x1 = 0,5; x2 = 0,4; x3 = 0,5 și d5 = 1; w3(4) = 0,17 T(4) = − 0,02

𝑦5 4 = 𝑓 𝑥1 ∙ 𝑤1 4 + 𝑥2 ∙ 𝑤2 4 + 𝑥3 ∙ 𝑤3 4 − 𝑇 4 =
= 𝑓 0,5 ∙ 0,31 + 0,4 ∙ 0,31 + 0,5 ∙ 0,17 − (−0,02) = 𝒇(𝟎, 𝟑𝟖𝟒)
0,384 > 0 → 𝑓 0,384 = 1 → 𝒚𝟓 𝟒 = 𝟏 = 𝒅𝟓
Deoarece ieșirea calculată este egală cu ieșirea așteptată y5 = d5, nu mai este
necesară actualizarea valorilor ponderilor și a pragului:
𝑤1 5 = 𝑤1 4 = 𝟎, 𝟑𝟏
𝑤2 5 = 𝑤2 4 = 𝟎, 𝟑𝟏
𝑤3 5 = 𝑤3 4 = 𝟎, 𝟏𝟕
𝑇 5 = 𝑇 4 = −𝟎, 𝟎𝟐
𝑡 =𝑡+1=4+1=5

Pas 3: testul de convergență


Deoarece y1 ≠ d1 ; y3 ≠ d3 ; se trece la epoca următoare: epoca = epoca + 1 =1 și se repetă pasul 2.
Întrebări?

S-ar putea să vă placă și