32
STK2100 - Maskinlæring og statistiske metoder for prediksjon og klassifikasjon Oppsummering av kurset 17. april 2018

17. april 2018 Oppsummering av kurset - UiO

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

STK2100 - Maskinlæring og statistiske metoder for prediksjon ogklassifikasjon

Oppsummering av kurset

17. april 2018

Hovedproblem

I Input x ∈ Rp.I Output y

I Numerisk: regresjonI Kategorisk: Klassifikasjon

I Gitt data {(x i , yi ), i = 1, ...,N}, vil bygge opp en sammenheng mellom x og yI LæringI Prediksjon

Statistisk læring

I Fokus: Prediksjon av responsvariabel basert på forklaringsvariableI Maskinlæring: Fokus på algoritmer for prediksjon

I Brukes ofte som en black boxI Evaluering ofte basert på et test sett

I Statistisk læring: Fokus på metoder for prediksjonI Mer "åpen boks"I Fokus på inferens

I kvantifisering av usikkerhetI Evaluering av metodeI hypotesetesting

I Ikke noe klart skille, begge fokus på prediksjon

Tapsfunksjoner

I Spesifiserer hvor mye feil kosterI Kvadratisk feil for regresjon

I L(Y , Y ) = (Y − Y )2

I Optimal prediktor Y = E [Y |X = x ] ≡ f (x)I Klassfikasjonsfeil for klassifikasjon

I L(Y , Y ) = I(Y = Y )I Optimal prediktor Y = argmaxk Pr(Y = k |x), Pr(Y = k |x) = E [I(Y = k)|x] = fk (x)

I Andre muligheterI Regresjon: L1 tap:

I L(Y , Y ) = |Y − Y |I Mer robust mot ekstreme observasjoner

I Klassifikasjon: Vektlegge ulike typer feil uliktI L(k, a) = lk,a

Regresjon

I Anta y = f (x) + ε, ε ∼ (0, σ2)

I f (x) = E [y |x ]

I Vil “finne” fI Minste kvadrater:

∑ni=1(yi − f (x i ))2

I Noen ganger trenger vi likelihood (AIC/BIC)I Gaussisk støy: Minste kvadrater optimalt

log L = − 12σ2

N∑i=1

(yi − f (x i ))2

Regresjonsproblem

I Vil estimere f (x) = E [y |x ].I f : Rp → R

I MANGE mulige fI Ikke nok data til å vurdere alle muligheter (curse of dimensjonality)I Generell ide: Fleksibel f men med restriksjoner/straff

I Parametriske/ikke-parametriskeI LineærI Basis ekspansjonerI AdditiveI Tre strukturI GlattI Nærmeste nabo metoder

I Restriksjoner:I Dimensjon reduksjon (Variabel seleksjon/PCA/PLS)I Straffeledd på parametre (Ridge/Lasso)I Seleksjon: AIC, BIC, Kryss-validering

Oversikt over ulike metoder

Flexibility

Inte

rpre

tabili

ty

Low High

Low

Hig

h Subset SelectionLasso

Least Squares

Generalized Additive ModelsTrees

Bagging, Boosting

Support Vector Machines

Klassifikasjon

I Modell basert: pk (x) = Pr(y = k |x)

I Data {(x i , yi ), i = 1, ..., n}I Likelihood

L =N∏

i=1

pyi (x i ) =N∏

i=1

K∏k=1

pk (x i )I(yi=k)

I Kan bruke likelihood baserte metoder også for klassfikasjonI Ridge/lasso typeI AIC/BIC

Klassifikasjon som regresjon

I Anta yi ∈ {1, ...,K}I Definer

yi,k =

{1 hvis yi = k0 ellers

I Merk: yi = arg maxk yik

I Kan utføre regresjon for hver k , gir Yk (x).

I Klassifiser Y (x) = arg maxk Yk (x)

Skjevhet versus varians

I Oppsplitting av forventet kvadratisk feil:

Err(x) = E[(Y − Y )2|x] = E[f (x)− f (x)]2︸ ︷︷ ︸Reduserbar

+ V(ε)︸︷︷︸Ikke reduserbar

I Reduserbar del:

E [f (x)− f (x)]2 =E [f (x)− E [f (x)] + E [f (x)]− f (x)]2

=[f (x)− E [f (x)]]2 + E [(E [f (x)]− f (x)])2

= [f (x)− E [f (x)]]2︸ ︷︷ ︸Forventningsskjevhet

+ Var[f (x)]︸ ︷︷ ︸Varians

I Err(x) = Bias2 + varians + σ2

I For enkel model: Varians liten, skjevhet storI For kompleks model: Skjevhet liten, varians storI Trade-off skjevhet↔ variansI Samme data for tilpasning (læring) og evaluering gir for optimistisk verdi på feil

(overtilpasning)

Modell evaluering og valg av model

I Hvordan velge mellom modeller/metoder?I Vil ha lav prediksjonsfeil på nye data.I Bruk av samme data for tilpasning og evaluering gir for optimistisk prediksjonsfeilI Trenger to evalueringer

I En for valg avI model/metodeI glatthet/kompleksitet/turing parameter

I En for evaluering av endelig modell/metode

Trening/validering/test sett

I Vanlig å dele data inn iI Treningsset: Velge/tilpasse modell/metodeI Test sett: Evaluering av endelig modell

I Noen ganger deles treningssett i to:I Treningssett: Tilpasning av modell/metodeI Valideringssett: Valg av modell/metode

I Har da test sett for å estimere prediksjonsfeil på nye data

Kryss-validering og bootstrapping

Trening/test sett kan hver for seg bli for småI Kryss-validering:

I Del data i K groupsI Tilpass model på K − 1 grupper, valider på siste gruppeI Sirkulering gir tilpasning på (K − 1)/K av data, validering på K/K .

I Bootstrapping:I Simuler nye datasett ved

I trekking med repetisjon fra opprinnelig datasett (ikke-parametrisk)I trekking fra modell med parameterverdier=estimater (parametrisk)

I Bruk simulerte data til å estimere usikkerhet (++)

Informasjonskriterier

I Informasjonskriterier:

AIC =− 2N· loglik + 2 · d

N

BIC =− 2N· loglik + log(N) · d

N

I I noen lærebøker/software tas ikke faktoren 1N med

I Brukes for å sammenlikne modellerI Fordel: Ikke behov for å dele data i trening/testI Ulempe: Baserer seg mer på modell antagelserI Merk: d bør være effektivt antall parametre

I Eksempel: GAM/splines

I Relatert: Cp, justert R2

Lineær regresjonI Modell

Y = β0 + β1x1 + · · ·+ βpxp + ε, (*)

I Data (x1, y1), ..., (xn, yn)

I Minste kvadraters estimater (også ML hvis ε iid∼ N(0, σ2))

β =(XT X)−1XT Y

y =β0 + β1x1 + · · ·+ βpxp

I Hvis (*) er riktig,

E[β] = β, V[β] = σ2(XT X)−1

I Test H0 : βj = 0: T = β

SE(βj )

H0∼ tn−p−1 under H0

I Test H0 : β1 = β2 = · · · = βp = 0

F = (TSS−RSS)/pRSS/(n−p−1)

H0∼ Fp,n−p−1 under H0

RSS =n∑

i=1

(yi − yi )2 < TSS =

n∑i=1

(yi − y)2

Lineære modeller - regresjon

I f (x) = β0 +∑p

j=1 βjx j

I Problemer hvis p storI Restriksjon på parametre

I Ridge: h(β) =∑n

i=1

(yi − β0 −

∑pj=1 βj xij

)2+ λ

∑pj=1 β

2j

I Lasso: h(β) =∑n

i=1

(yi − β0 −

∑pj=1 βj xij

)2+ λ

∑pj=1 |βj |

I Dimensjon reduksjonI Model seleksjon: Setter βj = 0 for noen jI PCR/PLS: zm =

∑pj=1 φjmxj , m = 1, ...,M

I f (x) = β0 +∑p

j=1 βjx j

Lineære modeller - klassifikasjon

I lineær hvis grense mellom klasser er lineærI Kan behandles som regresjon problem

I lineær regresjonI Logistic regresjon

I Modellering av p(x |y), LDA/QDAI Direkte bestemmelse av grenser mellom klasser

I Separererende hyperplan

LDA og QDA

I De fleste metoder: Direkte modellering av Y |XI LDA/QDA: Modellering av X |Y og Y ,

p(y |x) =p(y)p(x |y

p(x)

I LDA: p(x |y = k) = N(µk ,Σ); gir lineære grenserI QDA: p(x |y = k) = N(µk ,Σk ); gir kvadratiske grenserI Kan være enklere/bedre i noen sammenhengerI Nyttig i situasjoner der y1, ..., yn ikke representerer p(y)

ROC kurverI Eksempel:

x |y = 1 ∼ N(0, 1)

x |y = 2 ∼ N(2, 1)

Pr(y = 1) = 0.5

I Regel som minimerer feilrate

Y =

{1 hvis x ≤ 12 hvis x > 1

Vil gi like mange feil 1→ 2 som 2→ 1I Alternative regler:

Y =

{1 hvis x ≤ c2 hvis x > c

I Definer p1(c) = Pr(Y = 2|Y = 1),p2(c) = Pr(Y = 1|Y = 2)

I For c < 1: p1(c) øker, p2(c) minkerI For c > 1: p2(c) øker, p1(c) minkerI ROC kurve: Plot av 1− p2(c) som

funksjon av p1(c)0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.2

0.4

0.6

0.8

1.0

p1

1 −

p2

Utover lineære modellerK -nærmeste nabo regresjon

I Ikke-parametriske metoderI Antar ingen eksplisitt formI K -nærmeste nabo metode:

f (x0) =1K

∑xi∈N0

yi

der N0 ⊂ {x1, ..., xn} som inneholder de K nærmeste punkter til x0.

yy

x1x1

x 2x 2

I Valg av K : Trade-off mellom forventningsskjevhet og varians

Kjerne metoder

I Nærmeste nabo: f (x) = Ave(yi |x i ∈ Nk (x))

I Local polynomial

minα,βj

n∑i=1

Kλ(x0, xi )

yi − α−d∑

j=1

βjx ji

2

I Vanligvis: d = 0, 1, 2

I Hovedproblem: Velge glattingsparameter k/λ, typisk ved kryss-validering

Basis ekspansjoner

I Anta f (x) =∑M

m=1 βmhm(x)

I hm glatte funksjonerI Stykkevise polynomerI Splines (GAM)I Sigmaoider (Nevrale network)I Stykkevis konstante (trær)

I Restriksjoner på βm ’sI Effektivt antall parametre (splines, GAM)I Ridge-type (Nevrale network)

I Lineære i parametre, kan bruke resultater for minste kvadraters metode

GAM

I Modell: f (x) = β0 +∑p

j=1 fj (xj )

I Glattings straff på fj (·).I Som regel smoothing splines som fører til kubisk splines som igjen fører til eksempel på

basisfunksjonerI Basisfunksjonene ikke forhåndsbestemt, antall knuter og glattingsstraff bestemt av data

I Glattingsparameter gjennom CV eller effektivt antall parametreI Kan inkludere interaksjonerI Klassifikasjon: Logistisk type modellering

Trær

I Rp = R1 ∪ R2 ∪ · · · ∪ RM

I Modell: f (x) =∑M

m=1 cmI(x ∈ Rm)

I For fleksible modeller, restriksjoner gjennomI sekvensiell definisjon av Rm-eneI Oppsplitting bare gjennom en variabel om gangenI Beskjæring av tre

I Klassifikasjon: Pr(y = k |x) = pm,k for x ∈ Rm.I Estimat pm,k = 1

Nm

∑x i∈Rm

I(yi = k)

Bagging og Random Forrest

I Anta f 1(x), f 2(x), ..., f B(x) er B ulike prediktorerI Kan konstruere en ny prediktor ved

favg(x) =1B

B∑b=1

f b(x)

I Bagging:I Lag B bootstrap utvalgI f b(x) = prediktor basert på bootstrap utvalg b.

I Random forrest ( Ønsker mindre korrelerte Trær)I Kun et tilfeldig utvalg av m < p forklaringsvariable vurderes ved splittingI Typisk: m ≈ √pI De fleste variable blir ikke vurdert i hver oppsplitting!

Boosting - idé

I Ett stort tre kan lett gi overtilpasningI Boosting lærer sakte:

f (x)→f (x) + λf b(x)

ri →ri − λf b(x)

I vekter ned (med λ) tilpasningenI tilpasser residualer i hvert trinn

I Avhenger sterkt av tidligere tilpassninger

Separerende hyperplan

I Idé: Finne et hyperplan som skiller (de to) klasseneI Hyperplan

I i p dimensjoner, et flatt (affint) underrom av orden p − 1.I Bestemt av

β0 + β1x1 + · · ·+ · · ·βpxp = β0 + βT x = 0

der β = (β1, ..., βp)T .I Punkter som ikke ligger på hyperplan har egenskapene

β0 + βT x > 0, x ∈ R1

eller

β0 + βT x < 0, x ∈ R−1

I Data {(x1, y1), ..., (xn, yn)} der yi ∈ {−1, 1}I Ønsker å finne hyperplan slik at xi ∈ R1 for yi = 1 og xi ∈ R−1 for yi = −1.I Hvis ikke mulig å finne separerende hyperplan: Legge inn straffeledd for punkter på

gal side.I Kan legge inn ikke-lineære funksjoner av data.I Kan generaliseres til flere klasser.

Nevrale Nett

I Modell: f (x) = β0 +∑M

m=1 βkσ(αTmx)

I Tillater store M, Ridge-type straff på α,β.I Definerer zm = σ(αT

mx) gir gjemte lag z1, ..., zM

I Kan generaliseres til flere lag (dyp læring).I Klassifikasjon: Logistisk type modellering

Læring versus prediksjon

I Kurs: Fokus på prediksjonI Lærning: Hvilke kovariater er viktige?I Mye mer vanskelig spørsmålI Ofte: Prediksjonsfeil brukt som kriterie for evaluering av viktighet av kovariatI Problemer:

I Mangel på prediktiv styrke kan være pga lite dataI Prediktiv styrke kan være pga indirekte innflytelse gjennom andre variable

Ikke-styrt læring

I Mange situasjoner: Ingen responsvariabelI Kan være at den mangler, finnes egentlig en responsI Eller, kun struktur i xi -ene av interesse

I Av interesseI Visualisering av xi ∈ Rp

I Undergrupper av xi -ene?I Fokus på to metoder

I Prinsipale komponenterI Transformasjon til lavere dimensjon→ visualisering

I KlustringI Gruppere data slik at observasjoner innen gruppe er like mens observasjoner fra forskjellige

grupper er mer ulikeI Hierarkisk klustring: Sekvensiell metode der to grupper blir slått sammen på hvert trinnI K-means klustring:

minimerC1,...,CK

{K∑

k=1

W (Ck )}

der (f.eks)

W (Ck ) =1|Ck |

∑i,i′∈Ck

p∑j=1

(xi,j − xi′,j )2

Store datamengder

I Predikere framtidige observasjonerI Få innsikt i relasjon mellom input variable og responsI Forstå hetereogenitet i og fellesfaktorer over ulike subpopulasjonerI Utforske gjemte strukturer i subpopulasjonerI Fellesfaktorer selv når det er store individuelle varasjonerI Utfordringer

I Falske sammenhengerI Tilfeldige likheterI Store beregningskostnader og numeriske ustabilitieterI Statistiske skjevheter

I Representativt utvalg?I Aggregering over ulike tidspunkterI Data samlet inn med ulike teknologier

I Tre ulike tilnærminger (fokus på beregninger)I Parallellprosessering

I Split og hersk metoder (divide and conquer)I Dynamisk oppdateringI Subsampling baserte metoder

Statistical learning på Youtube

I Søk på Statistical learningI https://www.youtube.com/playlist?list=PL06ytJZ4Ak1rXmlvxTyAdOEfiVEzH00IK