Invatare supervizata. Clasificare

Post on 01-Feb-2017

290 views 2 download

transcript

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, 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