Invatare supervizata. Clasificareinf.ucv.ro/documents/rstoean/Invataresupervizata.pdf · Invatare...

Post on 28-Jan-2020

36 views 0 download

Transcript of Invatare supervizata. Clasificareinf.ucv.ro/documents/rstoean/Invataresupervizata.pdf · Invatare...

Ruxandra Stoean

rstoean@inf.ucv.ro

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