17. april 2018 oppsummering av kurset - uio
TRANSCRIPT
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