invatare supervizata. clasificareinf.ucv.ro/documents/rstoean/invataresupervizata.pdf · invatare...
TRANSCRIPT
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, categoriale ordonate) [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 Iesir
i
Asocier
e
Regresie
0.
2
?
Intrari Iesir
i
Asocier
e
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) estedescrisa 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 si iesirea 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
sarcin
i
Conce
ntratie
glucoz
a la 2
ore
Presiu
ne
diasto
lica a
sangel
ui
Grosi
me
cutelo
r de
piele
de pe
tricep
s
Insuli
na
serica
la 2
ore
Index
masa
corpor
ala
Functie
mostenir
e diabet
Varst
a
Clas
a
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
crim
ei
Prop
ortia
de
zone
rezid
entia
le
Prop
ortia
de
mag
azine
mici
Rau
in
apro
piere
Conc
entra
tia
de
noxe
Num
arul
medi
u de
cam
ere
Prop
ortia
de
cladi
ri
ridic
ate
inain
te de
1949
Dista
nta
pana
la
centr
ele
de
anga
jare
Acce
sibili
tate
auto
straz
i
Taxe Rapo
rtul
elev-
profe
sor
Prop
ortia
de
afro-
amer
icani
Proc
entul
popu
latiei
sara
ca
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. saminimizeze suma reziduurilor la patrat (SR) pentru datele de antrenament (xi, yi), i = 1, 2, …, m
𝑆𝑅 = σ𝑖=1𝑚 (𝑦𝑖 −𝑓(𝑥𝑖))
2
Reziduul (eroarea) este diferenta dintre valoareade iesire reala si cea prognozata prin f.
Exemplu R – regresie liniara simpla
Problema: estimarea duratei de reparatie a unorcomponente de calculator (in minute) pe baza numaruluide 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 aibadistributie normala, cu media la 0 si valorilegresite cat mai aproapede medie si nu la marginea intervalului
Coeficientii de regresie
Eroarea standard a uneicoeficient masoaraprecizia modelului in estimarea valorilornecunoscute pentrucoeficient (valoare maimica este mai buna)
Rezultate si interpretare (3/4) Masura a semnificatiei
variabilei *** semnificatie ridicata Valoarea p cat mai
mica
Deviatia standard a reziduurilor – ideal proportionala cu prima si a treia cuartila (1.5 +/- eroarea standard)
Gradele de libertate –diferenta intre numarulde observatii (date) sinumarul de variabile(coeficienti + interceptor)
Rezultate si interpretare (4/4) R2 evalueaza gradul de
potrivire al modeluluicu datele – ideal aproape de 1.
Modelul explica 74% din variabilitateaoriginala, iar 26% e din cauza variabilitatiireziduurilor.
Testul F comparamodelul cu totiparametrii cu unul cu mai putini. Valorea p sugereaza
ca modelul cu toti e potrivit.
Alte ipoteze asupra modelului de regresie
1. Valorile Y trebuie sa fie exprimate ca o functie
liniara a variabilelor X.
2. Variatia observatiilor in jurul dreptei de regresie
este constanta (homoscedasticitate).
3. Valorile Y (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 plotagraficele de diagnostic pentrumodelul pe care l-am potrivit datelor.
Util in mod special cand regresia estemultipla Nu este posibila
vizualizarea graficaa modelului
Adaugam la program:
par(mfrow=c(2,2))
plot(mlm, which=1:4)
Grafice de diagnostic
(2/4)1. Graficul reziduurilor
vs. valorile Y prognozate verificaliniaritatea sihomoscedasticitateamodelului.
i. Liniaritate – linia rosiear trebui sa fie aprox. orizontala, faracurburi
ii. Homoscedasticitate –varianta observatiilorin jurul dreptei y=0 este constanta(constant variance).
Grafice de diagnostic
(3/4)
2. Verificarea ipotezeide normalitate a distributieireziduurilor(normal errors)
i. Punctele ar trebuisa cada pe o liniediagonala.
3. O alta verificare a liniaritarii sihomoscedasticitatii.
ii. Reziduurile pentrufiecare atribut suntstandardizate
Grafice de diagnostic
(4/4)
4. Distanta Cook esteo masura a influentei fiecareidate asupracoeficientilor de regresie.
i. Masoara marimeaschimbariimodelului dacadata respectivaeste omisa.
ii. Orice data pentrucare distanta Cook este >=1 sau multmai mare decatpentru celelaltepuncte e influentapentru 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 lui Y
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 + b1X
1+b2X2 + … + bnX
n
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 liniargeneralizat (non-normal errors, non-constant variance)
Trebuie setat family = binomial pentru ca R saapeleze 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 nivelulde p = 0.05.
Coeficientul pentru o variabila (ca argument al functieiexponentiale) da schimbareaproportionala in variabila raspunspentru o schimbare cu o unitate a valoriivariabilei.
Rezultate si interpretare (3/5) Potrivirea modelului se
poate determina princalculul diferenteiprivind deviantareziduala (residual deviance) dintre un model cu predictori fata de modelul nul (doar cu interceptor).
Se aplica testul chi-patrat cu gradele de libertate date de diferenta intre gradelemodelului curent si ale celui nul (i.e. numarulde 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 multemodele pentruaceeasi multime de date.
Avand astfel si altemodele (in viitor), vomputea comparavaloarea AIC de 741.45 cu ale celorlalte, cel cu valoarea minima fiindcastigatorul.
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