Author
duongdieu
View
286
Download
2
Embed Size (px)
Ruxandra Stoean
http://inf.ucv.ro/~rstoean
Invatare supervizata. Modele liniare
Invatare supervizata
Concept
Date de intrare cu iesiri puse la dispozitie
De invatat modul de asociere intrare-iesire
Predictie asupra iesirii unor date noi
Clasificare
Iesiri grupate in doua sau mai multe clase
Iesiri calitative (discrete, factori, categoriale, categorialeordonate) [1]
Predictie asupra clasei unor noi date
Regresie
Iesiri cantitative (continue) [1]
Predictie asupra valorii de iesire pentru intrari noi
[1] Florin Gorunescu, Data Mining: Concepts, Models and Techniques, Intelligent Systems Reference Library, Volume 12,
Springer, 2011
Clasificare
A
A
B
?
Intrari Iesiri
Asociere
Regresie
0.2
?
Intrari Iesiri
Asociere
0.4
0.9
Clasificare, regresie
Date de antrenament
(iesiri cunoscute)
Date de test
(iesiri necunoscute)
ModelInvatare
P
r
e
d
i
c
t
i
e
Invatare supervizata. Definitie [1]
O multime de date - perechi de tip (intrare, iesire)
Intrarea este o secventa de valori pentru atributele datelor
Iesirea este o decizie confirmata
Fiecare inregistrare (obiect, exemplu, vector) este descrisa de un
numar de atribute cu domeniu de definitie discret sau continuu.
Iesirile sunt toate fie discrete (clasificare), fie continue (regresie).
[1] Catalin Stoean, Ruxandra Stoean, Support Vector Machines and Evolutionary Algorithms for Classification: Single or
Together?, Intelligent Systems Reference Library, Volume 69, Springer, 2014
Invatare supervizata. Definitie [1]
Multimea de date se imparte in trei submultimi distincte:
Multimea de antrenament (training)
Multimea de validare
Multimea de test (iesirile datelor sunt ascunse)
Algoritmul invata asocierile dintre fiecare data de antrenament siiesirea sa (faza de antrenament).
Modelul obtinut:
testat pe multimea de validare pentru a ii masura eroarea de predictie
testat pe multimea de test pentru a ii masura abilitatea de generalizare
[1] Catalin Stoean, Ruxandra Stoean, Support Vector Machines and Evolutionary Algorithms for Classification: Single or
Together?, Intelligent Systems Reference Library, Volume 69, Springer, 2014
Exemple
Clasificare – Pima Indians diabetes [1]
Clasa:
pozitiv pentru diabet (clasa 0) – 268 de cazuri
negativ (clasa 1) – 500 de cazuri
Numar
sarcini
Conce
ntratie
glucoz
a la 2
ore
Presiu
ne
diastoli
ca a
sangel
ui
Grosim
e
cutelor
de
piele
de pe
triceps
Insulin
a serica
la 2 ore
Index
masa
corpor
ala
Functie
mostenire
diabet
Varst
a
Clasa
6 148 72 35 0 33.6 0.627 50 1
1 85 66 29 0 26.6 0.351 31 0
8 183 64 0 0 23.3 0.672 32 1
[1] UCI Machine Learning Repository http://archive.ics.uci.edu/ml/
Exemple Regresie - Boston housing [1] – 506 instante
Valoarea medie a caselor in mii de dolari americani
Rata
crime
i
Prop
ortia
de
zone
rezid
ential
e
Prop
ortia
de
maga
zine
mici
Rau
in
apro
piere
Conc
entra
tia de
noxe
Numa
rul
medi
u de
came
re
Prop
ortia
de
cladir
i
ridica
te
inaint
e de
1949
Dista
nta
pana
la
centr
ele de
angaj
are
Acces
ibilit
ate
autos
trazi
Taxe Rapo
rtul
elev-
profe
sor
Prop
ortia
de
afro-
ameri
cani
Proce
ntul
popu
latiei
sarac
a
Val
0.00
632
18.0
0
2.31
0
0 0.53
80
6.57
50
65.2
0
4.09
00
1 296.
0
15.3
0
396.
90
4.98 24.0
0
0.02
731
0.00 7.07
0
0 0.46
90
6.42
10
78.9
0
4.96
71
2 242.
0
17.8
0
396.
90
9.14 21.6
0
0.02
729
0.00 7.07
0
0 0.46
90
7.18
50
61.1
0
4.96
71
2 242.
0
17.8
0
392.
83
4.03 34.7
0
[1] UCI Machine Learning Repository http://archive.ics.uci.edu/ml/
Modele liniare
Suficient de performante pentru un numar mic de date de
antrenament
Regresie
Modelul liniar
Clasificare
Regresia logistica (Logistic regression)
Masini liniare cu suport vectorial
Regresia liniara multipla
m date de antrenament de tipul (X, Y):
X = (X1, X2, …, Xn) un vector de intrare n atribute - variabile independente, explicative, predictive
Y – iesirea (outcome) Variabila dependenta, functie de celelalte variabile, variabila raspuns
Y ia valori continue
Ecuatia de regresie: f(X) = b0 + b1X1+b2X
2 + … + bnXn
b1, b2, …, bn – coeficientii (parametrii) de regresie
b0 – interceptorul, constanta de regresie
Estimarea parametrilor
Metoda celor mai mici patrate (least squares)
Determina coeficientii bj, j = 0, 1, 2,…, n, a.i. sa minimizeze
suma reziduurilor la patrat (SR) pentru datele de
antrenament (xi, yi), i = 1, 2, …, m
𝑆𝑅 = 𝑖=1𝑚 (𝑦𝑖 −𝑓(𝑥𝑖))
2
Reziduul (eroarea) este diferenta dintre valoarea de iesire
reala si cea prognozata prin f.
Exemplu R – regresie liniara simpla
Problema: estimarea duratei de reparatie a unor componente de calculator (in minute) pe baza numarului de componente de reparat[1]
unitati <- c(1, 2, 3, 4, 4, 5, 6, 6, 7, 8, 9, 9, 10, 10)
minute <- c(23, 29, 49, 64, 74, 87, 96, 97, 109, 119, 149, 145, 154, 166)
# Reprezentam grafic x versus y
plot(unitati, minute)
myModel <- lm(minute ~ unitati)
abline(myModel)
[1] S. Chatterjee, A.S. Hadi, Regression Analysis by Example (4th ed.), Wiley, 2006.
Rezultat
e
Y
Ypred
Regresia liniara multipla
Problema: Boston housing
In pachetul mlbench ce trebuie instalat si inclus
Iesirea: medv
Functia lm()
#pentru Boston housing
library(mlbench)
mlm <- lm(medv ~ ., data=BostonHousing)
summary(mlm)
Rezultate si
interpretare
(1/4)
Modelul este:
Y = 36.46 – 0.11*crim + 0.05*zn + 0.21*indus + 2.69*chas –
17.77*nox + 3.81*rm + 0.0007*age – 1.48*dis + 0.31*rad –
0.01*tax – 0.95*ptratio + 0.009*black – 0.52*lstat
Rezultate si interpretare (2/4) Ipoteza: Reziduurile
trebuie sa aiba distributienormala, cu media la 0 sivalorile gresite cat maiaproape de medie si nu la marginea intervalului
Coeficientii de regresie
Eroarea standard a uneicoeficient masoara preciziamodelului in estimareavalorilor necunoscutepentru coeficient (valoaremai mica este mai buna)
Rezultate si interpretare (3/4)
Masura a semnificatieivariabilei
*** semnificatie ridicata
Valoarea p cat mai mica
Deviatia standard a reziduurilor – ideal proportionala cu prima sia treia cuantila (1.5 +/-eroarea standard)
Gradele de libertate –diferenta intre numarul de observatii (date) sinumarul de variabile(coeficienti + interceptor)
Rezultate si interpretare (4/4)
R2 evalueaza gradul de
potrivire al modelului cu
datele – ideal aproape de
1.
Modelul explica 74% din
variabilitatea originala, iar
26% e din cauza
variabilitatii reziduurilor.
Testul F compara modelul
cu toti parametrii cu unul
cu mai putini.
Valorea p sugereaza ca
modelul cu toti e potrivit.
Alte ipoteze asupra modelului de regresie
1. ValorileY trebuie sa fie exprimate ca o functie liniara a
variabilelor X.
2. Variatia observatiilor in jurul dreptei de regresie este
constanta (homoscedasticitate).
3. ValorileY (sau erorile) au o distributie normala.
Toate aceste ipoteze pot fi verificate examinand reziduurile [1].
[1] Mike Marin, Checking Linear Regression Assumptions in R, https://www.youtube.com/watch?v=eTZ4VUZHzxw
Grafice de diagnostic
(1/4)
R poate plota graficele de
diagnostic pentru
modelul pe care l-am
potrivit datelor.
Util in mod special cand
regresia este multipla
Nu este posibila
vizualizarea grafica a
modelului
Adaugam la program:
par(mfrow=c(2,2))
plot(mlm, which=1:4)
Grafice de diagnostic
(2/4)1. Graficul reziduurilor vs.
valorileY prognozate
verifica liniaritatea si
homoscedasticitatea
modelului.
i. Liniaritate – linia rosie ar
trebui sa fie aprox.
orizontala, fara curburi
ii. Homoscedasticitate –
varianta observatiilor in
jurul dreptei y=0 este
constanta (constant
variance).
Grafice de diagnostic
(3/4)
2. Verificarea ipotezei de
normalitate a
distributiei
reziduurilor (normal
errors)
i. Punctele ar trebui sa
cada pe o linie
diagonala.
3. O alta verificare a
liniaritarii si
homoscedasticitatii.
ii. Reziduurile pentru
fiecare atribut sunt
standardizate
Grafice de diagnostic
(4/4)
4. Distanta Cook este o
masura a influentei
fiecarei date asupra
coeficientilor de
regresie.
i. Masoara marimea
schimbarii modelului
daca data respectiva este
omisa.
ii. Orice data pentru care
distanta Cook este >=1
sau mult mai mare decat
pentru celelalte puncte
e influenta pentru
model.
Predictia pe date noi
#medv = 12.70
nou <- data.frame(crim = 1.13081, zn = 0.00, indus = 8.140, chas = 0, nox = 0.5380, rm = 5.7130, age = 94.10, dis = 4.2330, rad = 4, tax = 307.0, ptratio = 21.00, black = 360.17, lstat = 22.60)
predict(mlm, nou)
Regresia logistica
m date de antrenament de tipul (X, Y):
X = (X1, X2, …, Xn) un vector de intrare
Y – iesirea (outcome)
Y variabila binara (2 clase)
Problema de clasificare
Regresia logistica
Forma similara cu regresia
Sens diferit
Predictie asupra unei transformari a luiY
Regresia logistica
Transformarea logit
p – proportia de date cu o anumita caracteristica
Ex.: proportia pacientilor cu diagnostic pozitiv pentru o boala
logit 𝑦 = ln𝑝
1−𝑝
p – proportia datelor de clasa y
1-p – proportia datelor de clasa opusa
Modelul logit presupune ca noua iesire este o combinatie liniara
a variabilelor predictive
logit(y) = 𝛼 = b0 + b1X1+b2X
2 + … + bnXn
Regresia logistica
De indata ce rezolvam problema
Calculam 𝛼 pentru un exemplu nou
p=𝑒𝛼
1+𝑒𝛼pentru un exemplu nou
Daca p>= 0.5 atunci clasa = 1; altfel clasa = -1
p – probabilitatea de a apartine primei clase
Ex.: probabilitatea ca un pacient sa fie diagnosticat pozitiv
Estimarea parametrilor
Metoda verosimilitatii maxime (maximum likelihood)
Functia glm() in R
glm - generalized linear model – model liniar generalizat (non-
normal errors, non-constant variance)
Trebuie setat family = binomial pentru ca R sa apeleze regresia
logistica.
#pentru Pima Indians Diabetes
library(mlbench)
mlr <- glm(diabetes ~ ., family=binomial,
data=PimaIndiansDiabetes)
summary(mlr)
Rezultate si
interpretare
(1/5)
Modelul este:
logit(p)=-8.40 + 0.12*pregnant + 0.03*glucose - 0.01*pressure +
0.0006*triceps – 0.001*insulin + 0.09*mass + 0.95 * pedigree + 0.01
* age
Rezultate si interpretare (2/5)
Masura a semnificatiei
variabilei
O valoare z mai mare
decat 2 in modul e
semnificativ la nivelul de
p = 0.05.
Coeficientul pentru o
variabila (ca argument al
functiei exponentiale) da
schimbarea proportionala
in variabila raspuns
pentru o schimbare cu o
unitate a valorii variabilei.
Rezultate si interpretare (3/5)
Potrivirea modelului se poate determina princalculul diferentei privinddevianta reziduala (residual deviance) dintre un model cu predictori fata de modelul nul (doar cu interceptor).
Se aplica testul chi-patratcu gradele de libertate date de diferenta intre gradelemodelului curent si ale celui nul (i.e. numarul de variabile predictive).
Rezultate si interpretare (4/5)with(mlr, null.deviance - deviance)
with(mlr, df.null - df.residual)
with(mlr, pchisq(null.deviance - deviance, df.null -
df.residual, lower.tail = FALSE))
Valoarea p obtinuta confirma faptul ca modelul este
semnificativ mai bun decat unul nul.
Rezultate si interpretare (5/5) AIC (Akaike information
criterion) este folosit
pentru a compara mai
multe modele pentru
aceeasi multime de date.
Avand astfel si alte
modele (in viitor), vom
putea compara valoarea
AIC de 741.45 cu ale
celorlalte, cel cu valoarea
minima fiind
castigatorul.
Predictia pe date noi p>=0.5, clasa=0; altfel clasa=1
# caz pozitiv cf bazei de date
nou <- data.frame(pregnant=11, glucose=143, pressure=94, triceps=33, insulin=146, mass=36.6, pedigree=0.254, age=51)
predict(mlr, nou, type="response")
# caz negativ
nou2 <- data.frame(pregnant=13, glucose=145, pressure=82, triceps=19, insulin=110, mass=22.2, pedigree=0.245, age=57)
predict(mlr, nou2, type="response")
Predictia pe date noi p>=0.5, clasa=0; altfel clasa=1
# inca un caz negativ
nou3 <- data.frame(pregnant=0, glucose=102, pressure=78, triceps=40,
insulin=90, mass=34.5, pedigree=0.238, age=24)
predict(mlr, nou3, type="response")
Exercitii
Implementati in R un model liniar pentru predictia
cuantumului bacsisului de la restaurant conform problemei
7.1 Tips, pagina 153 [1].
Aplicati in R un model de regresie logistica pentru
discriminarea intre o piesa rock si una clasica conform
problemei 7.12 Music, pagina 171 [1].
[1] Dianne Cook, Deborah F. Swayne, Graphics for Data Analysis. Interactive and Dynamic With R and Ggobi, Springer, 2007