Universitatea babeş-bolyai cluj-napoca


Capitolul 2. Învățare supervizată



Yüklə 385,79 Kb.
səhifə4/11
tarix26.10.2017
ölçüsü385,79 Kb.
#13385
1   2   3   4   5   6   7   8   9   10   11

Capitolul 2. Învățare supervizată


În acest capitol se va prezenta tematica învățării supervizate ca o clasă de probleme de învățare automată. Se vor descrie și trei dintre cele mai cunoscute tehnici de ML folosite pentru probleme de învățare supervizată: rețele neuronale, programare genetică și mașini cu suport vectorial. Aceste trei tehnici au fost folosite și în studiul de caz care este prezentat în Capitolul 4.

2.1.Aspecte generale


Învățarea supervizată este un tip de învățare automată prin care se induce o funcție dintr-un set de date cu valori deja atribuite. Cu alte cuvinte, este formalizarea învățării din exemple. În cadrul învățării supervizate, programul are la dispoziție două seturi de date: un set de date de antrenament și unul de test. Ideea constă în faptul că programul să învețe dintr-un set de exemple cu etichete cunoscute din setul de antrenament pentru a identifica exemplele neetichetate din setul de test cu o acuratețe cât mai mare [5].

Un algoritm de învățare supervizată analizează datele de antrenament și produce o funcție, care este numită funcție de clasificare dacă datele de ieșire sunt dintr-o mulțime discretă sau funcție de regresie dacă datele de ieșire aparțin unei mulțimi continue. Funcția produsă ar trebui să prezică cât mai bine valorile de ieșire pentru orice obiect de intrare valid. Acest lucru cere de la algoritmul de învățare să generalizeze de la datele de antrenament la orice date de intrare din mulțimea indicată în problemă [6].

Astfel, pentru a rezolva o problemă de ML, trebuie întreprinși următorii pași:


  1. Precizarea tipului de exemple de antrenament.

  2. Colectarea unui set de date de antrenament.

  3. Determinarea unei reprezentări potrivite pentru datele de intrare a funcției învățate.

  4. Deciderea asupra structurii funcției învățate și a algoritmului de învățare corespunzator.

  5. Execuția algoritmului pe setul de date de antrenament ales.

  6. Evaluarea acurateții funcției învățate, folosind un set de date de test.



2.2.Rețele neuronale


O rețea neuronală artificială este un model matematic sau computațional, care este inspirat din structura și aspectele funcționale ale unei rețele neuronale biologice. O rețea neuronală constă dintr-un grup de neuroni artificiali interconectați, dispuși pe straturi. De obicei, o legătură de la un neuron la altul are asociată o pondere [3].

În cele mai multe cazuri, o rețea neuronală artificială este un sistem adaptiv care își schimbă structura în funcție de informația din interior sau exterior care este transmisă prin rețea în timpul fazei de învățare.

În implementările actuale ale rețelelor neuronale, abordarea inspirată din biologie a fost în mare parte abandonată în locul unei abordări mai practice bazată pe statistică și procesarea semnalelor [3].

Metodele bazate pe rețele neuronale oferă o abordare robustă în aproximarea funcțiilor reale, discrete și vectoriale. Pentru anumite tipuri de probleme, cum ar fi învățarea interpretării datelor reale complexe obținute de la senzori, rețelele neuronale artificiale sunt printre cele mai eficiente metode cunoscute. De exemplu, rețelele neuronale de tip feed-forward backpropagation, despre care se vor vorbi în detaliu, s-au dovedit a fi surprinzător de bune pentru probleme practice cum ar fi: conducerea autonomă a automobilului, recunoașterea scrisului de mână, controlul roboților, recunoașterea fețelor [3].

Un neuron din rețea are următoarea formă [2]:

Figura . Structura unui neuron

unde x1, x2, ... , xn sunt semnalele primite de neuron, w1, w2, ... , wn sunt costurile sau ponderile pentru fiecare semnal, , iar f(net) este o funcţie care calculează ieşirea din neuron (funcţie de activare). Dacă f(net) este mai mare decât un prag stabilit pentru reţea, atunci neuronul transmite semnalul mai departe.

Sunt numeroase abordări și algoritmi de antrenare a unei rețele. Printre acestea sunt: rețele de tip feed-forward backpropagation (semnalul se propagă înainte, iar eroarea se propagă înapoi), rețele radial-basis function, rețele recurente (graful format de neuroni și sinapse conține și cicluri), rețele de tip counterpropagation. Printre cele mai simple și mai utilizate rețele neuronale sunt acelea bazate pe algoritmul feed-forward with backpropagation, sau pe scurt backpropagation. Aceste rețele au o structură clasică cu un strat de neuroni de intrare, unul de ieșire și mai multe straturi ascunse între acestea [7].

Algoritmul backpropagation este divizat în 2 faze: prima constă în propagarea informației utile dinspre stratul de intrare spre cel de ieșire, apoi propagarea în direcție inversă a erorilor și a doua fază constă în actualizarea ponderilor.



  • În prima fază, datele de intrare se propagă înainte prin rețea pentru a se genera valorile de ieșire, iar după aceasta se calculează eroarea și se propagă înapoi spre straturile ascunse și spre cel de intrare pentru a genera diferențele (delta) dintre valorile obținute și cele reale pentru fiecare neuron în parte.

  • În a doua fază, pentru fiecare pondere, se calculează gradientul de eroare folosind valorile delta generate în prima fază, și se actualizează ponderea în direcția opusă erorii scăzănd din pondere eroarea înmulțită cu o constantă subunitară, numită coeficient de învățare.

Algoritmul pentru un singur strat ascuns arată în felul următor [8]:

Inițializează ponderile din rețea // de obicei, aleator

Execută


Pentru fiecare exemplu e din setul de antrenament

O = valoarea-de-ieșire(rețea, e) // parcurgere înainte

T = valoarea reală pentru e

Calculează eroarea (T - O) pentru neuronii de ieșire

Calculează delta_wh pentru toate ponderile de la stratul ascuns

la cel de ieșire // parcurgere înapoi

Calculează delta_wi pentru toate ponderile de la stratul de

intrare la cel ascuns // continuarea parcurgerii înapoi

Actualizează pnderile din rețea

Până când toate exemplele au fost învățate corect sau a fost

îndeplinit un criteriu de oprire,

Întoarce rețeaua



Yüklə 385,79 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9   10   11




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin