Sunteți pe pagina 1din 15

Clasificarea masinilor in imagini de

intensitate

Algoritm de clasificare:
Perceptron

Facultatea de Automatica si
Calculatoare,sectia Calculatoare,
grupa 30241, Studenti:Vascan

Cerinta:
Detectati masinile in imagini de
intensitate folosind algoritmul
perceptron.

Facultatea de Automatica si
Calculatoare,sectia Calculatoare,
grupa 30241, Studenti:Vascan

Algoritmul perceptron
Consta in studiul unor funcii de
discriminare liniar, exemplificate de
perceptron, i vom aplica metoda
gradient descent pentru a calcula
cele mai bune reguli de clasificare
pentru dou clase.

Facultatea de Automatica si
Calculatoare,sectia Calculatoare,
grupa 30241, Studenti:Vascan

Fundamente teoretice:
Scopul clasificrii este de a grupa elemente cu trsturi similare n
clase sau grupuri. Un clasificator liniar reuete acest lucru prin
luarea deciziei n funcie de o combinaie liniar a trsturilor.
Definiia unui clasificator
Fie S o mulime de exemple {S1, S2,, Sn} ce aparin unor clase
diferite {c1, c2, , cm}. Fiecare exemplu are d trsturi associate
x = {x1, x2,, xd}. Un clasificator este o coresponden ntre
spaiul trsturilor i etichetele claselor, {c1, c2,,cm}.
Astfel un clasificator partiioneaz spaiul n m regiuni de decizie.
O dreapt sau o curb ce separ clasele se numete limit de
decizie. Dac avem mai mult de dou trsturi, aceast limit
devine o suprafa (e.g. un hiperplan).
n continuare ne vom referi la cazul cu dou categorii, n care
exemplele din S aparin de dou clase {c1, c2}.
Facultatea de Automatica si
Calculatoare,sectia Calculatoare,
grupa 30241, Studenti:Vascan

Facultatea de Automatica si
Calculatoare,sectia Calculatoare,
grupa 30241, Studenti:Vascan

2.1. Forma general a unui clasificator liniar


Un clasificator liniar este o combinaie liniar de trsturi, care sunt
componentele unui vector x. Clasificatorul poate fi scris ca: g(x) = wt x
+ wo = xiwi + w0
Unde: w este vectorul de ponderi

w0 este deplasamentul (bias), sau ponderea pragului.


Un clasificator cu liniar dou categorii (clasificator binar)
implementeaz urmtoarea regul de decizie:
daca g (x)>0 decide ca exemplul x apartine clasei c1
daca g (x)<0 decide ca exemplul x apartineclasei c2
Sau
daca wt x>-w0 decide ca exemplul x apartineclasei c1
daca wt x<w0 decide ca exemplul x apartineclasei c2
Daca g(x) = 0, x poate fi clasificat oricum.
Facultatea de Automatica si
Calculatoare,sectia Calculatoare,
grupa 30241, Studenti:Vascan

Facultatea de Automatica si
Calculatoare,sectia Calculatoare,
grupa 30241, Studenti:Vascan

nvarea perceptron
Vom considera metoda nvrii unei
probleme de clasificare binar folosind un
clasificator liniar. Presupunem c avem o
mulime de date X={x(1, x(2, , x(n}
coninnd exemple din dou clase. Fiecare
exemplu x(i din mulime este caracterizat
de un vector de trasaturi {x1, x2, , xd}.
O vedere schematic a perceptronului este
prezentat n figura urmtoare.
Facultatea de Automatica si
Calculatoare,sectia Calculatoare,
grupa 30241, Studenti:Vascan

Pentru convenien vom absorbi factorul liber w0 prin


introducerea n vectorul de trsturi x a unei dimensiuni
suplimentare.
Obiectivul nostru este de a gsi un vector a n aa fel
nct :

Facultatea de Automatica si
Calculatoare,sectia Calculatoare,
grupa 30241, Studenti:Vascan

Algorithm: Batch Perceptron


Begin
Initializare a, , criteriul , k=0
normalizare a setului de antrenare prin
nlocuirea tuturor exemplelor din c2 prin
negativul lor: 2 y [y], y c
Do o k = k+1

o a= a + y
Until y <
Return a
End
Facultatea de Automatica si
Calculatoare,sectia Calculatoare,
grupa 30241, Studenti:Vascan

1. Exemplu numeric
S se antreneze perceptronul pe urmtoarele date:
X1 = [(1,6), (7,2), (8,9), (9,9)]
X2 = [(2,1), (2,2), (2,4), (7,1)]
Algoritmul de nvare perceptron:
Considerm =0.1
Considerm a(0)=[0.1, 0.1, 0.1]
Folosim metoda de actualizare pas cu pas
Se normalizeaz setul de date
Se parcurg exemplele i se actualizeaz a(k) atunci cnd apare clasificare greit.
1. Y(1) [1 1 6]*[0.1 0.1 0.1]T>0 ok
2. Y(2) [1 7 2]*[0.1 0.1 0.1]T>0 ok
3.
4.
5. Y(5) [-1 -2 -1]*[0.1 0.1 0.1]T<0 actualizare a(1) = [0.1 0.1 0.1] + *[-1 -2 -1] = [0 -0.1 0]
6. Y(6) [-1 -2 -2]*[0 -0.1 0]T>0 ok
7.
8. Y(1) [1 1 6]*[0 -0.1 0]T<0 actualizare a(2) = [0 -0.1 0] +*[1 1
6] = [0.1 0 0.6]
9. Y(2) [1 7 2]*[0.1 0 0.6]T>0 ok
10.
Oprire cnd y <
n acest exemplu regula converge dup 175 iteraii la a=[-3.5 0.3 0.7]

Facultatea de Automatica si
Calculatoare,sectia Calculatoare,
grupa 30241, Studenti:Vascan

Facultatea de Automatica si
Calculatoare,sectia Calculatoare,
grupa 30241, Studenti:Vascan

Clasificator perceptron bazat pe


dou trsturi
n sesiunea de laborator vom crea un
clasificator perceptron care va discrimina intre
dou mulimi de puncte. Punctele din clasa 1
sunt colorate rosu, iar cele din clasa 2 in
albastru, ca in figura de mai jos.

Facultatea de Automatica si
Calculatoare,sectia Calculatoare,
grupa 30241, Studenti:Vascan

Fiecare punct este descries prin


culoare (ce indica clasa) si prin cele
doua coordinate ale lui, care sunt
trasaturile x1 si x2.
Vectorul de ponderi are forma a =
[w0, w1, w2].
Vectorul y = [ 1 x1 x2 ].
Facultatea de Automatica si
Calculatoare,sectia Calculatoare,
grupa 30241, Studenti:Vascan

Bibliografie:
http://users.utcluj.ro/~raluca/prs/lab_
09r_perceptron.pdf

Facultatea de Automatica si
Calculatoare,sectia Calculatoare,
grupa 30241, Studenti:Vascan

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