Sunteți pe pagina 1din 4

TIA – Laborator 3 (RNA)

REȚELE NEURONALE ARTIFICIALE


Antrenarea neuronului clasificator
Exemple de aplicații RNA în Energetică: diagnoză, evaluarea securității, dispecerizare
economică, analiza armonicelor, evaluarea stabilității dinamice, prognoza curbei de
sarcină etc.

Pe parcursul laboratorului se vor analiza RNA doar din perspectiva utilizării acestora în
probleme de clasificare, utilizând cea mai simplă structură: neuronul clasificator
(perceptronul). Perceptronul poate fi utilizat în clasificarea obiectelor specificate la
intrare în două clase.

Modelul formal al perceptronului cu „n” intrări

𝑥1 , ⋯ 𝑥𝑛 – intrări
𝑤1 , ⋯ 𝑤𝑛 – ponderi
T – prag de activare

Neuronii artificiali utilizează diferite funcții de activare printre care se numără funcții de
tip treaptă, rampă, sigmoid etc. Neuronii clasificatori vor avea întotdeaua funcția de
activare de tip treaptă, cu răspunsul posibil 0 sau 1, reprezentând cele două clase de
apartenență în care se urmărește clasificarea vectorului de intrare.

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

TIA/L3 - 1
TIA – Laborator 3 (RNA)

Ieșirea sumatorului este transmisă mai departe către funcția de activare care acceptă, pe
lângă intrarea net, încă o intrare de valoare constantă -1, ponderată cu pragul de
activare T.

Răspunsul perceptronului separă obiectele de la intrare în două clase în funcție de


valoarea sa (0 și 1). Separarea celor două clase se poate face complet și corect printr-o
dreaptă de decizie (în cazul bidimensional), sau hiperplan de decizie (în cazul
multidimensional).

Ponderile influențează panta dreptei de decizie, iar pragul de activare acționează


asupra punctului de aplicare. Prin urmare, perceptronul trebuie să determine valorile
ponderilor și a pragului de activare a.î. să separe corect elementele din spațiul intrărilor.

Obs! Perceptronii funcționează corect numai în cazul problemelor linear separabile,


adică pentru cazul în care domeniile lor se pot separa printr-o dreaptă sau un plan.

Procesul de căutare este un process de învățare supervizată ce constă în


prezentarea la intrarea perceptronului a unui set de exemple pentru care se cunosc
rezultatele la ieșire, acestea fiind comparate cu rezultatele obținute de către perceptron.
La fiecare epocă (iterație), ponderile și pragul de activare sunt actualizate a.î.
ieșirile perceptronului să fie mai aproape de ieșirile așteptate.

Etapele procesului de învățare:

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


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

𝑦𝑗 (𝑡) = 𝑓 (∑(𝑥𝑖 ∙ 𝑤𝑖 (𝑡)) − 𝑇(𝑡)) , 𝑖 = ̅̅̅̅̅


1, 𝑛, 𝑗 = ̅̅̅̅̅̅
1, 𝑀
𝑖=1
În cazul în care ieșirea calculată este egală cu ieșirea așteptată, se trece la
exemplul următor fără actualizarea ponderilor și a pragului de activare.
În caz contrar, ponderile și pragul de activare sunt actualizate, folosind
următoarele formule:
𝑤𝑖 (𝑡 + 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.

TIA/L3 - 2
TIA – Laborator 3 (RNA)

Aplicație
Să se antreneze un neuron clasificator cu trei intrări și funcție de activare tip
treaptă, pornind de la ponderile:
𝑤1 (0) = 0,1
𝑤2 (0) = 0,1
𝑤3 (0) = 0,1
Valoarea de prag este T = - 0,02, iar rata de învățare η = 0,7.
Să se realizeze o epocă a procesului de învățare folosind următorul set de
exemple:

M 𝒙𝟏 𝒙𝟐 𝒙𝟑 d
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

Rezolvare
Epoca 0

Exemplul 1
𝑦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 → 𝒚𝟏 (𝟎) = 𝟏 ≠ 𝒅𝟏
Așadar, trebuie să actualizăm ponderile și pragul de activare:
𝑤1 (1) = 𝑤1 (0) + 𝜂 ∙ [𝑑1 − 𝑦1 (0)] ∙ 𝑥1 = 0,1 + 0,7 ∙ (0 − 1) ∙ 0,1 = 𝟎, 𝟎𝟑
𝑤2 (1) = 𝑤2 (0) + 𝜂 ∙ [𝑑1 − 𝑦1 (0)] ∙ 𝑥2 = 0,1 + 0,7 ∙ (0 − 1) ∙ 0,1 = 𝟎, 𝟎𝟑
𝑤3 (1) = 𝑤3 (0) + 𝜂 ∙ [𝑑1 − 𝑦1 (0)] ∙ 𝑥3 = 0,1 + 0,7 ∙ (0 − 1) ∙ 0,1 = −𝟎, 𝟎𝟒
𝑇(1) = 𝑇(0) + 𝜂 ∙ [𝑑1 − 𝑦1 (0)] ∙ (−1) = −0,02 + 0,7 ∙ (0 − 1) ∙ (−1) = 𝟎, 𝟔𝟖

Exemplul 2
𝑦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ă, nu mai este necesară
actualizarea valorilor ponderilor și a pragului:
𝑤1 (2) = 𝑤1 (1) = 𝟎, 𝟎𝟑
𝑤2 (2) = 𝑤2 (1) = 𝟎, 𝟎𝟑
𝑤3 (2) = 𝑤3 (1) = −𝟎, 𝟎𝟒
𝑇(2) = 𝑇(1) = 𝟎, 𝟔𝟖

Exemplul 3
𝑦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) = 𝒇(−𝟎, 𝟔𝟔𝟖)

TIA/L3 - 3
TIA – Laborator 3 (RNA)

−0,668 < 0 → 𝑓(−0,668) = 0 → 𝒚𝟑 (𝟐) = 𝟎 ≠ 𝒅𝟑


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) = −𝟎, 𝟎𝟐

Exemplul 4
𝑦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ă, nu mai este necesară
actualizarea valorilor ponderilor și a pragului:
𝑤1 (4) = 𝑤1 (3) = 𝟎, 𝟑𝟏
𝑤2 (4) = 𝑤2 (3) = 𝟎, 𝟑𝟏
𝑤3 (4) = 𝑤3 (3) = 𝟎, 𝟏𝟕
𝑇(4) = 𝑇(3) = −𝟎, 𝟎𝟐

Exemplul 5
𝑦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ă, nu mai este necesară
actualizarea valorilor ponderilor și a pragului:
𝑤1 (5) = 𝑤1 (4) = 𝟎, 𝟑𝟏
𝑤2 (5) = 𝑤2 (4) = 𝟎, 𝟑𝟏
𝑤3 (5) = 𝑤3 (4) = 𝟎, 𝟏𝟕
𝑇(5) = 𝑇(4) = −𝟎, 𝟎𝟐

Deoarece nu toate exemplele sunt clasificate corect, se trece la epoca următoare.

TIA/L3 - 4

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