Data Mining - curs 10 1 Curs 10: Modele de regresie neliniară
Data Mining - curs 10 1
Curs 10:
Modele de regresie neliniară
Data Mining - curs 10 2
Structura
2
▪ Motivaţie
▪ Corelaţii, coeficient de corelaţie
▪ Regresie liniară
▪ Modele neliniare
▪ Arbori de regresie
▪ Reţele RBF
Data Mining - curs 10 3
Motivaţie
3
Problema: Pornind de la caracteristici cunoscute ale unei maşini (e.g. Nr cilindri, cai putere, greutate, model etc) se doreşte estimarea consumului de combustibil(e.g. exprimat prin “miles per gallon”)
Exemplu [autoMpg.arff de la http://archive.ics.uci.edu/ml/datasets.html]
@relation autoMpg
@attribute cylinders { 8, 4, 6, 3, 5} @attribute displacement real
@attribute horsepower real @attribute weight real @attribute acceleration real
@attribute model { 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82}
@attribute origin { 1, 3, 2}
@attribute class real
@data
8,307,130,3504,12,70,1,18
8,350,165,3693,11.5,70,1,15
4,113,95,2372,15,70,3,24
6,198,95,2833,15.5,70,1,22
6,199,97,2774,15.5,70,1,18
Data Mining - curs 10 4
Motivație
4
Problema: Pornind de la caracteristici cunoscute ale unei maşini (e.g. Nr cilindri, cai putere, greutate, model etc) se doreşte estimarea consumului de combustibil(e.g. exprimat prin “miles per gallon”)
Exemplu [autoMpg.arff de la http://archive.ics.uci.edu/ml/datasets.html]
@relation autoMpg
@attribute cylinders { 8, 4, 6, 3, 5} @attribute displacement real
@attribute horsepower real @attribute weight real @attribute acceleration real
@attribute model { 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82}
@attribute origin { 1, 3, 2}
@attribute class real
@data
8,307,130,3504,12,70,1,18
8,350,165,3693,11.5,70,1,15
4,113,95,2372,15,70,3,24
6,198,95,2833,15.5,70,1,22
6,199,97,2774,15.5,70,1,18
Se caută o relaţie care să descrie dependenţa
dintre consumul de combustibil (atributul class în
setul de date) şi caracteristicile maşinii (primele
7 atribute din setul de date)
Data Mining - curs 10 5
Un exemplu mai simplu
5
Câteva seturi de date generate artificial
x
y
x
y
Set 1
Set 2
x
y Set 3
Ce se poate spune despre datele din fiecare set?
Data Mining - curs 10 6
Un exemplu mai simplu
6
Câteva seturi de date generate artificial
x
y
x
y
Set 1
Set 2
x
y Set 3
Set 1: datele par să fie corelate pozitiv = dacă x creşte atunci şi y creşte
Data Mining - curs 10 7
Un exemplu mai simplu
7
Câteva seturi de date generate artificial
x
y
x
y
Set 1
Set 2
x
y Set 3
Set 2: datele par să fie corelate negaitiv = dacă x creşte atunci y scade
Data Mining - curs 10 8
Un exemplu mai simplu
8
Câteva seturi de date generate artificial
x
y
x
y
Set 1
Set 2
x
y Set 3
Set 3: datele par să nu fie corelate (e doar un nor de puncte)
Intrebări:
▪ Cum poate fi măsurat gradul de corelaţie?
▪ Ce tip de corelaţie există?
Data Mining - curs 10 9
Coeficient de corelaţie
9
Cum poate fi măsurat gradul de corelaţie?
[reminder – Probabilităţi şi Statistică]
▪ De exemplu folosind coeficientul de correlation Pearson – exprimă gradul de corelaţie liniară dintre cele două variabile (numerice)
==
=
=
=
==
−=
−=
−−
=
n
i
i
n
i
i
n
i
i
n
i
i
n
i
ii
yn
Yavgxn
Xavg
Yavgyn
Ystdev
Xavgxn
Xstdev
YstdevXstdev
YavgyXavgxn
YXR
11
1
2
1
2
1
1)( ,
1)(
))((1
)(
))((1
)(
)()(
))())(((1
),(Obs: -1<=R(X,Y)<=1
▪ R(X,Y) apropiat 1: corelaţie liniară pozitivă
▪ R(X,Y) apropiat to -1: corelaţie liniară negativă
▪ R(X,Y) apropiat to 0: nu sunt corelate liniar (poate exista corelaţie neliniară între X şi Z)
Data Mining - curs 10 10
Regresie liniară
10
Ce tip de corelaţie ? [reminder – Statistică]
Cazul cel mai simplu: Dependenţa liniară dintre două variabile: Y=w1X+w0
▪ X= variabila predictor (independentă, intrare, explicativă)
▪ Y= variabila prezisă (dependentă, răspuns, explicată)
Scopul regresiei liniare: estimarea parametrilor w1 şi w0 a.î. valorile asociate variabilelor X (i.e. x1,x2,…, xn) şi Y (i.e. y1,y2,…, yn) sunt bine explicate de către funcţia liniară, i.e. suma pătratelor erorilor este minimizată
x
y Set 1
))1,( ),,((
)(
))((),(
01
2
1
2
1
0101
T
ii
n
i
ii
n
i
ii
xxwww
xwy
wxwywwSSE
==
−=
+−=
=
=
Vector linie Vector coloană
Data Mining - curs 10 11
Regresie liniară simplă
11
Reminder: algebra liniară
TTTT
TTTT
T
n
T
n
DwwDywDyy
DwyDwyDwywSSE
yyyyxxx
Dwww
+−=
−−=−=
=
==
2
)()()(
),...,,(,1...11
... ),,(
2
21
21
01
Determinarea vectorului w care minimizează SSE(w) este echivalentă cu determinarea punctului critic al lui SSE, adică rezolvarea următoarelor ecuaţii în raport cu w:
DDDDD
yDyDDDwyDDwD
TT
TTTTTT
lui rsapseudoinve este )(
)(
1
1
−+
+−
=
===
Data Mining - curs 10 12
Regresie liniară multiplă
12
Obs: abordarea poate fi extinsă în cazul mai multor variabile predictor (e.g. Setul autoMPG)
TTTT
TTTT
T
n
T
dndd
n
n
d
DwwDywDyy
DwyDwyDwywSSE
yyyy
xxx
xxx
xxx
Dwwwww
+−=
−−=−=
=
==
2
)()()(
),...,,(,
1...11
...
............
...
...
),,,...,,(
2
21
21
22221
11211
021
yDDDwyDDwD TTTTTT 1)( −==
Data Mining - curs 10 13
Regresie liniară - regularizare
13
Obs: dacă matricea DTD este singulară (inversa nu poate fi calculată) atunci
funcţia obiectiv (SSE) este modificată prin adăugarea unui termen de
regularizare care va modifica matricea în aşa fel încât să se obţină o matrice
inversabilă).
Exemple:
▪Regularizare Tikhonov (ridge regression)
identitate matrice )1()1(
)(
)()('
1
2
++=
+=
+=
−
ddI
yDIDDw
wwSSEwSSE
TT
Obs:
▪ Termenul de penalizare “descurajează” valorile mari ale parametrilor
▪ Parametrul termenului de regularizare (lambda) poate fi ales în manieră
adaptivă folosind validare încrucişată
Data Mining - curs 10 14
Regresie liniară - regularizare
14
Obs: dacă matricea DTD este singulară (inversa nu poate fi calculată) atunci
funcţia obiectiv (SSE) este modificată prin adăugarea unui termen de
regularizare care va modifica matricea în aşa fel încât să se obţină o matrice
inversabilă.
Exemple:
▪ Regularizare Lasso
=
+=d
i
iwwSSEwSSE1
||)()('
Obs:
▪ In acest caz problema de optimizare se rezolvă folosind metode numerice
▪ Este utilă în cazul problemelor cu multe variabile dintre care o mare parte
sunt irelevante (specific pt “sparse models”)
Data Mining - curs 10 15
Modele liniare generalizate
15
Idee: în loc de yi=w1xi+w0 ieşirea (yi) este modelată printr-o variabilă aleatoare
care are media f(w1xi+w0)
Principalele elemente ale unui model GLM (generalized linear model):
▪ Funcţia de medie (mean function): f
▪ Funcţia de legătură (link function): f-1
▪ Distribuţia de probabilitate (probability distribution)
Mean function Link function Distribution
f(u)=u identity normal
f(u)=-1/u inverse exponential, gamma
f(u)=exp(u) Log Poisson
f(u)=1/(1+exp(-u)) Logit Bernoulli
Data Mining - curs 10 16
Modele liniare generalizate
16
Idee: în loc de yi=w1xi+w0 ieşirea (yi) este modelată printr-o variabilă aleatoare
care are media f(w1xi+w0)
Principalele elemente ale unui model GLM (generalized linear model):
▪Funcţia de medie (mean function): f
▪Funcţia de legătură (link function): f-1
▪Distribuţia de probabilitate (probability distribution)
Mean function Link function Distribution
f(u)=u identity normal
f(u)=-1/u inverse exponential, gamma
f(u)=exp(u) Log Poisson
f(u)=1/(1+exp(-u)) Logit Bernoulli
Regresie
clasică
(metoda celor
mai mici
pătrate)
Data Mining - curs 10 17
Modele liniare generalizate
17
Idee: în loc de yi=w1xi+w0 ieşirea (yi) este modelată printr-o variabilă aleatoare
care are media f(w1xi+w0)
Principalele elemente ale unui model GLM (generalized linear model):
▪Funcţia de medie (mean function): f
▪Funcţia de legătură (link function): f-1
▪Distribuţia de probabilitate (probability distribution)
Mean function Link function Distribution
f(u)=u identity normal
f(u)=-1/u inverse exponential, gamma
f(u)=exp(u) Log Poisson
f(u)=1/(1+exp(-u)) Logit Bernoulli
Regresie Logistică
(utilizată pentru probleme
de clasificare)
Data Mining - curs 10 18
Regresie neliniară
18
Cum se abordează cazul în care dependenţa dintre variabila prezisă şi cele
predictor nu este liniară?
Sunt necesare alte modele
x
y Set 4
Exemple:
▪ Arbori de regresie
▪ Reţele neuronale
Data Mining - curs 10 19
Regresie neliniară
19
Ideea principală:
▪ O dependenţă neliniară poate fi modelată prin mai multe funcţii liniare (câte
una pentru fiecare regiune)
▪ Procesul de regresie constă din două etape:
▪ Identificarea regiunilor prin partiţionarea spaţiului variabilelor
predictor
▪ Identificarea modelului de regresie (liniar) pt fiecare dintre regiuni
x
y
a b
Data Mining - curs 10 20
Arbori de regresie
20
Reminder:
Arbori de decizie= arbore în care nodurile interne conţine condiţii referitoare la
variabilele predictor iar cele frunză sunt informaţii privind variabila predictor (în
cazul arborilor de clasificare variabila prezisă este discretă şi nodurile frunză
conţin indicatori de clasă)
Data Mining - curs 10 21
Arbori de regresie
21
Reminder:
Arbori de decizie= arbore în care nodurile interne conţine condiţii referitoare la
variabilele predictor iar cele frunză sunt informaţii privind variabila predictor (în
cazul arborilor de clasificare variabila prezisă este discretă şi nodurile frunză
conţin indicatori de clasă)
Intrebare:
▪ Dar dacă variabila prezisă este
continuă? (ex: în locul unui răspuns
de tipul da/nu în cazul problemei
“weather-play” ar fi o valoare [0,1]
care ar exprima un nivel de decizie
între 0 (nu) şi 1 (da)
Data Mining - curs 10 22
Arbori de regresie
22
Ideea principală:
▪ Se utilizează un proces similar de partiţionare a spaţiului de decizie ca şi în
cazul arborilor de clasificare
▪ Pt variabile predictor continue condiţia de ramificare este: variabila < valoare
sau variabila > valoare sau variabila in [min,max]
▪ Se deduce un model de regresie (de exemplu liniar) pt fiecare dintre
regiunile identificate prin procedura de ramificare
x
y
Exemplu foarte simplu -> model
liniar pe porţiuni
a b
x<a
y=x+1
x<b
y=a+1 y=a+b+1-x
Data Mining - curs 10 23
Regresie neliniară
23
Dincolo de modelele de regresie liniară pe porţiuni:
▪ Se extinde modelul clasic de regresie liniară considerând atribute
transformate prin intermediul unor funcţii
y=w0+w1h1(x)+w2h2(x)+…+wmhm(x)
(x e un vector hi e o funcţie ce asociază un scalar sau un vector argumentului
său)
Caz particular 1. Modele polinomiale: y= w0+w1x+w2x2+…+wmxm
(x este un scalar)
x
y
Caz particular 2.
Modele bazate pe funcţii nucleu (kernel
functions): hi sunt funcţii care iau valori
semnificative doar pt regiuni limitate din
spaţiul variabilelor predictor
▪ Dacă aceste funcţii au simetrie radială
(de exemplu funcţii gaussiene) se ajunge
la reţelele de tip RBF (un caz particular de
reţele neuronale)
Data Mining - curs 10 24
Rețele cu funcții radiale
• RBF - “Radial Basis Function”:
• Arhitectura:
– Două nivele de unități
funcționale
– Funcții de agregare:
• Unități ascunse: distanța dintre
vectorul de intrare și cel al
ponderilor corespunzătoare
unității ascunse
• Unități de ieșire: suma
ponderată
N K M
C W
centri ponderi
=
−=−=N
i
k
ii
kk cxCXCXG1
2)(),(
Funcții de transfer (activare):
- nivelul ascuns: funcții cu simetrie
radială
- nivelul de ieșire: funcții liniare
Data Mining - curs 10 25
Rețele cu funcții radiale
Diferența față de rețelele
feedforward clasice:
Funcții de transfer:
FF: funcții sigmoidale
RBF: funcții cu simetrie radială
Funcții cu simetrie radială
Funcție sigmoidală
-3 -2 -1 1 2 3
0.2
0.4
0.6
0.8
1
Data Mining - curs 10 26
Rețele cu funcții radialeFuncționare:
)( ,
,1 ,)(
0
1
0
1
k
ki
K
k
kiki
i
K
k
k
iki
CXgzwzwy
MiwCXgwy
−=−=
=−−=
=
= N K M
C W
Matrice centri Matrice ponderi
Parametrii Ck pot fi interpretați ca prototipuri (centri) asociați unităților
ascunse: vectorii de intrare X apropiați lui Ck vor conduce la o
valoarea de ieșire semnificativă pe când cei îndepărtați vor
conduce la o valoare de ieșire nesemnificativă; la construirea
răspunsului rețelei vor contribui doar unitățile a căror centri sunt
suficient de similari cu data de intrare
Data Mining - curs 10 27
Rețele cu funcții radiale
Exemple de funcții radiale:
-3 -2 -1 1 2 3
0.2
0.4
0.6
0.8
1
223
222
221
/1)(
)/(1)(
))2/(exp()(
+=
+=
−=
uug
uug
uug
g1 (σ=1)
g2 (σ=1)
g3 (σ=1)
Data Mining - curs 10 28
Rețele cu funcții radiale• Fiecare unitate ascunsă este
“sensibilă” la semnalele de intrare
provenite dintr-o regiune a spațiului de
intrare aflată în vecinatatea centrului.
Aceasta regiune este denumită câmp
receptiv
• Dimensiunea câmpului receptiv
depinde de σ
−=
2
2
2exp)(
uug
2σ
-3 -2 -1 1 2 3
0.2
0.4
0.6
0.8
1
σ =1.5
σ =0.5
σ =1
Data Mining - curs 10 29
Rețele cu funcții radiale
Influența lui σ:
−=
2
2
2exp)(
uug
2σ-10 -7.5 -5 -2.5 2.5 5 7.5 10
0.2
0.4
0.6
0.8
1
subacoperire supraacoperire
Data Mining - curs 10 30
Rețele cu funcții radiale• O bună acoperire a domeniului datelor
de intrare de către câmpurile receptive
ale funcțiilor radiale de transfer este
esențială pentru calitatea aproximării
• Valori prea mici conduc la incapacitatea
de a produce rezultate pentru întreg
domeniul datelor
• Valori prea mari nu surprind
variabilitatea datelor
SubacoperireSupraacoperire
Acoperire adecvată
σ=1
σ=100
σ=0.01
Data Mining - curs 10 31
Rețele cu funcții radiale
Exemplu (caz particular) : rețea RBF pentru reprezentarea lui XOR
• 2 unități de intrare
• 4 unități ascunse
• 1 unitate de ieșire
0
1
1
0
Centrii:
u.a. 1: (0,0)
u.a. 2: (1,0)
u.a. 3: (0,1)
u.a. 4: (1,1)
Ponderi:
w1: 0
w2: 1
w3: 1
w4: 0
Funcție de activare:
g(u)=1 if u=0
g(u)=0 if u<>0
Aceasta abordare nu poate fi aplicată pentru probleme generale de
aproximare
Data Mining - curs 10 32
Rețele cu funcții radiale
Invățare:
Set de antrenare: {(x1,d1), …, (xL,dL)}
Etape:
(a) Stabilirea parametrilor corespunzatori nivelului ascuns: centrii
C și parametrii σ
(b) Determinarea parametrilor W (problemă de optimizare liniară)
Obs: Invățarea de tip RBF elimină o parte dintre dezavantajele
algoritmului BP: convergența lentă, blocarea în minime locale
(întrucât se ajunge la rezolvarea unei probleme mai simple de
optimizare) etc.
Data Mining - curs 10 33
Rețele cu funcții radiale
Invățare:
Set de antrenare: {(x1,d1), …, (xL,dL)}
(a) Stabilirea parametrilor corespunzători nivelului ascuns: centrii
C și parametrii σ
(a)K=L (nr centri = nr exemple), Ck=xk
(b)K<L : centrii se stabilesc
(a) prin selecție aleatoare dintre exemplele din setul de antrenare
(b) prin selecție sistematică dintre exemplele din setul de
antrenare (Orthogonal Least Squares)
(c) prin utilizarea unui algoritm de grupare (poate permite și
estimarea numărului de centri) – in acest caz centrii nu vor
face neapărat parte din setul de antrenare
Data Mining - curs 10 34
Rețele cu funcții radiale
Orthogonal Least Squares:
• Selecție incrementală a centrilor astfel încât eroarea să fie
micșorată cât mai mult
• Noul centru este ales astfel încât să fie ortogonal pe spațiul
generat de către centrii deja selectați (procesul este bazat pe
metoda de ortogonalizare Gram-Schmidt)
• Abordarea este corelată cu regresia de tip “ridge”
Data Mining - curs 10 35
Rețele cu funcții radiale
Grupare (clustering):
•Se urmărește identificarea a K clase în setul de date de antrenare
{X1,…,XL} astfel încât datele din fiecare clasă să fie suficient de
similare pe când datele din clase diferite să fie suficient de diferite
•Fiecare clasă va avea un reprezentant (e.g. media datelor din
clasă) care va fi considerat centrul clasei
•Algoritmii pentru determinarea reprezentanților clasei sunt
cunoscuți sub numele de algoritmi partiționali (realizează o
partiționare a spațiului de intrare)
Algoritm clasic: K-means
Data Mining - curs 10 36
Rețele cu funcții radiale
Varianta incrementală:
• Se pornește cu un număr mic de centri inițializați aleator
• Se parcurge setul de antrenare:
– Dacă există un centru suficient de similar cu data de intrare
atunci componentele centrului respectiv se modifică pentru
a asigura asimilarea datei de intrare în clasa aferentă
centrului.
– Dacă data de intrare este diferită semnificativ de toți centrii
atunci este adăugat un nou centru (echivalent cu adăugarea
unei noi unități ascunse) care este inițializat chiar cu data de
intrare analizată
Obs: necesită definirea unor valor prag care sa permită
cuantificarea pt suficient de similar/diferit
Data Mining - curs 10 37
Rețele cu funcții radiale
=
+=
=+=
−+=
=
=
===
=
−
OR UNTIL
1
;1 E ELS
)(:THEN ),( IF
oricept ),(),(incat astfel },...,1{*determina
DOL1,l FOR
REPEAT
0
..1;..1), {(
max
0
****
*
1
0
tt
t
tt
XCKK
CXCCCXd
kCXdCXdKk
t
KkNi},X,XselectC
KK
lK
klkkkl
klkl
i
L
ik
i
Antrenare incrementală pentru rețele RBF
Data Mining - curs 10 38
Rețele cu funcții radiale
Estimarea lărgimilor câmpurilor receptive.
• Reguli euristice:
jmm
j
jkk
kjjkk
CmCCCCdm
σ
CCCCdσ
dK
d
de centri apropiati mai cei:,...,),,(1
]1,5.0[, deapropiat mai cel centrul),,(
centri dintre maxima distanta ,2
1
1
maxmax
=
=
==
==
• Proces iterativ intercalat:
– Fixează valorile σ și optimizează valorile centrilor
– Fixează valorile centrilor și optimizează valorile σ
Data Mining - curs 10 39
Rețele cu funcții radiale
Determinarea ponderilor conexiunilor dintre nivelul ascuns și nivelul de ieșire:
• Problema este similară cu cea a antrenării unei rețele cu un singurnivel de unități cu funcții liniare de activare sau cu cea a estimării parametrilor unui model liniar de regresie
dGGGW
dGGWG
WgdgWE
WgdWgdWgdWE
CxgggwdWE
TT
TT
L
l
llTl
llL
l
TllL
l
ll
kll
k
L
l
M
i
K
k
l
kik
l
i
1
1
1
2
1
2
1 1 1
)(
0)()()(
)()(2
1
2
1)(
)( ,2
1)(
−
=
==
= = =
=
=
=−−=
−−=−=
−=
−=
Data Mining - curs 10 40
Rețele cu funcții radiale
Determinarea ponderilor conexiunilor dintre nivelul ascuns și nivelul de ieșire:
• Problema este similară cu cea a antrenării unei rețele cu un singur nivel de unități cu funcții liniare de activare
• Algoritm: Widrow-Hoff (caz particular al algoritmului BackPropagation)
❑ Initializare:
wij(0):=rand(-1,1) (ponderile sunt inițializate aleator în [-1,1]),
p:=0 (contor de iterații)
❑ Proces iterativ
REPEAT
FOR l:=1,L DOCalculeaza yi(l) si deltai(l)=di(l)-yi(l), i=1,M
Ajusteaza ponderile: wik:=wik+eta*deltai(l)*zk(l)
ENDFOR
Calculează E(W) pentru noile valori ale ponderilor
p:=p+1
UNTIL E(W)<E* OR p>pmax
Data Mining - curs 10 41
Comparație: RBF vs. BP
Rețele de tip RBF:
• 1 nivel ascuns
• Funcții de agregare bazate pe
distanțe (pt. nivelul ascuns)
• Funcții de activare cu simetrie
radială (pt. nivelul ascuns)
• Unități de ieșire cu funcție
liniară
• Antrenare separată a
parametrilor adaptivi
• Similare cu tehnicile de
aproximare locală
Rețele de tip
BackPropagation(BP):
• Mai multe nivele ascunse
• Funcții de agregare bazate pe
suma ponderată
• Funcții de activare sigmoidale
(pt. nivelul ascuns)
• Unități de ieșire liniare sau
neliniare
• Antrenare simultană a
parametrilor adaptivi
• Similare cu tehnicile de
aproximare globală