170 likes | 340 Views
Features. Thomas Moeslund (NOVI3-119, tbm@cvmt.dk) Feature evaluering Hvad skal vi tænke på når vi udvælger features Er en feature robust ? Hvor mange samples skal bruges for at repræsentere en feature (middelværdi og covarians) ? Er denne feature normalfordelt ? Pause
E N D
Features • Thomas Moeslund (NOVI3-119, tbm@cvmt.dk) • Feature evaluering • Hvad skal vi tænke på når vi udvælger features • Er en feature robust ? • Hvor mange samples skal bruges for at repræsentere en feature (middelværdi og covarians) ? • Er denne feature normalfordelt ? • Pause • Teknikker til reduktion af feature rummets dimensionalitet • Er der korrelation mellem features ? • Kan features kombineres til nye og færre features ?
Antal samples • Hvilket antal samples skal bruges for at en feature er godt beskrevet for en klasse ? • 1) Tabel opslag • 2) Varians analyse
Antal samples: Tabel opslag • Distribution-free tolerance limits • Hvilket antal samples, N, skal vælges for at sikre at bp% af populationen ligger indenfor samples max. og min. værdier, beregnet med en konfidens på bt % ? • K. Diem og C. Leitner. Scientific Tables. Ciba-Cjeigy Ltd. 1975 • Typisk vælges 95% for begge => 93 samples • Tit er samples normalfordelt => færre samples
Antal samples: Varians analyse • Plot variansen som funktion af N • N findes som det antal der ikke giver anledning til yderligere ændringer af variansen for én feature i én klasse
Er en feature normalfordelt ? • Hvis de features der repræsenterer en klasse er normalfordelte, så reduceres Bayes’ klassificer til Mahalanobis afstand. • I praksis antages det ofte at alle features er normalfordelte, men hvordan tester vi det ? 1) Histogram inspektion 2) Goodness of fit
Er en feature normalfordelt ? • Ad 1) Histogram inspektion • Matlab: normplot
Er en feature normalfordelt ? • Ad 2) (”Goodness of fit” eller c2-test (chi)) • Ide: Sammenlign med perfekt normalfordeling • Algoritme: 1) Opdel i k intervaller (k så lille som muligt) - Vælg k: så fi > 1 for alle i og fi > 5 for 80% af k - Vælg k: så hvert interval ca. har samme sandsynlighed 2) Sammenlign målte data med forventet data - Fejlmål: T - T er c2 fordelt 3) Hvis T < THa => normal fordelt med significant niveau a (tabel opslag)
Hvad skal I huske ? • Feature evaluering • Robusthed (invariant ifht. applikation) • Antal samples • Tabel opslag • Varians analyse • Normalfordelt (Bayes regel) • Histogram inspektion (kvalitativ analyse) • Goodness of fit (statistisk analyse)
Teknikker til reduktion af feature rummets dimensionalitet • Før pausen: Én feature og én klasse • Efter pausen: Alle features og alle klasser • Er der korrelation mellem flere features ? • Reduktion af antal features, dvs. feature rummets dimensionalitet • 1) Drop nogle features (SEPCOR) • 2) Kombineres til nye og færre features (PCA)
SEPCOR • Metode til at vælge de X bedste (mest diskriminative) features • Ide: Ignorere ikke-diskriminative features (eks.) • SEPCOR = separability + correlation • Hvor god den enkelte feature er til at skille klasserne fra hinanden • Udregn et mål for hvor god (diskriminativ) en feature, xi, er ifbm. klassifikation • Variabilitets mål: V(xi)
Variansen af middelværdierne i xi V(xi) = Middelværdien af varianserne i xi SEPCOR - Variabilitets mål • V(xi) stor => god feature ifbm. klassifikation • Dvs. stor tæller og lille nævner x2 x1 V >> 1 V ~ 1 V(x1) < V(x2) => x2 bedst
SEPCOR - Algoritmen 1) Dan en liste med alle features ordnet efter V-værdi 2) Gentag indtil der haves det ønskede antal features eller listen er tom A) Fjern og gem den feature med størst V-værdi B) Beregn korrelation mellem den fjernede feature og alle øvrige features i listen C) Drop alle features med korrelation større end MAXCOR
Principal Component Analysis (PCA) • Metode til at kombinere features til nye og færre • PCA er meget brugt, specielt ved mange dimensioner • Anderledes tilgang end SEPCOR (holistisk) • Grund tanke: Features med stor varians adskiller klasserne bedst • Begge features har stor varians – hvad så ? • Transformere feature-rummet, så vi opnår størst mulig varians • Varians = Information !
PCA – Transformationen x2 y2 • Ignorere y2 uden at miste information ifbm. klassificering • y1 og y2 er de principale komponenter y1 y2 x1 y1
PCA – Matematiken bag PCA… • Grund princip: • Find den transformation, som resulterer i ukorrelerede data
PCA – Hvordan gør man ? 1) Data (x) 2) Udregn covarians matricen: Cx - Matlab: Cx = cov(x); 3) Løs Eigen-værdi problemet: A og Cy - Matlab: [Evec,Eval] = eig(Cx); 4) Transformere: x => y: y = A (x-m) 5) Analyse (PCA) A) M-metoden B) Variabilitets mål fra SEPCOR: V(yi) C) J-mål
Hvad skal I huske ? • Feature reduktion • Drop nogle features (SEPCOR) • Variabilitets mål • Korrelation • Kombineres til nye og færre features (PCA) • VARIANCE = INFORMATION • Transformere featurerummet udfra Eigen-vektorerne af covarians matricen • Analyse • Variabilitets mål fra SEPCOR: V(yi) • M-metoden • J-mål