Invatare supervizata. Modele liniare Ruxandra Stoean rstoean@inf.ucv.ro http://inf.ucv.ro/~rstoean
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 Intrari Asocier e? Iesir i A A B
Regresie Intrari Asocier e? Iesir i 0. 2 0. 4 0. 9
Date de antrenament (iesiri cunoscute) Invatare Model Clasificare, regresie P r e d i c t i e Date de test (iesiri necunoscute)
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 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 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/ Clas a
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 elevprofe sor Prop ortia de afroamer 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 = (X 1, X 2,, X n ) 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) = b 0 + b 1 X 1 +b 2 X 2 + + b n X n b 1, b 2,, b n coeficientii (parametrii) de regresie b 0 interceptorul, constanta de regresie
Estimarea parametrilor Metoda celor mai mici patrate (least squares) Determina coeficientii b j, j = 0, 1, 2,, n, a.i. sa minimizeze suma reziduurilor la patrat (SR) pentru datele de antrenament (x i, y i ), i = 1, 2,, m SR = σ m i=1 (y i f(x i )) 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 Y e Y pred
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 distributie normala, cu media la 0 si valorile gresite cat mai aproape de medie si nu la marginea intervalului Coeficientii de regresie Eroarea standard a unei coeficient masoara precizia modelului in estimarea valorilor necunoscute pentru coeficient (valoare mai mica 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 numarul de observatii (date) si numarul de variabile (coeficienti + interceptor)
Rezultate si interpretare (4/4) R 2 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. 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 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. valorile Y 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 ii. este omisa. 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 = (X 1, X 2,, X n ) 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 y = ln p 1 p 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) = α = b 0 + b 1 X 1 +b 2 X 2 + + b n X n
Regresia logistica De indata ce rezolvam problema Calculam α pentru un exemplu nou p= eα 1+e α 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 prin calculul diferentei privind devianta reziduala (residual deviance) dintre un model cu predictori fata de modelul nul (doar cu interceptor). Se aplica testul chipatrat cu gradele de libertate date de diferenta intre gradele modelului 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