1 1 Dipartimento di Informatica e Sistemistica Sapienza Università di Roma Corso di Algoritmi di Classificazione e Reti Neurali 20/11/2009, Roma
Outline Feature Selection per problemi di Classificazione Classificazione e Feature Selection Metodi per la Feature Selection Modelli Lineari Spider Info
Apprendimento Supervisionato Consideriamo una dipendenza funzionale g : X Y ed un insieme di coppie di valori (Training Set): T = {(x i, y i ) x i X, y i Y and i = 1,...,m} GOAL: Estrarre una stima ĝ di g
Apprendimento Supervisionato Consideriamo una dipendenza funzionale g : X Y ed un insieme di coppie di valori (Training Set): T = {(x i, y i ) x i X, y i Y and i = 1,...,m} GOAL: Estrarre una stima ĝ di g
Apprendimento Supervisionato Consideriamo una dipendenza funzionale g : X Y ed un insieme di coppie di valori (Training Set): T = {(x i, y i ) x i X, y i Y and i = 1,...,m} GOAL: Estrarre una stima ĝ di g
Problemi di Classificazione Spazio di Input diviso in k sottoinsiemi X 1,...,X k X tali che Spazio di Output Y = {1,...,k} X i X j = i, j = 1,...,k, i j GOAL: Assegnare ciascun vettore di input x al sottoinsieme a cui appartiene Classificazione Binaria: due insiemi X 1, X 2 X, tali che X 1 X 2 = +1 se x X 1 g(x) = (1) 1 se x X 2
Problemi di Classificazione Spazio di Input diviso in k sottoinsiemi X 1,...,X k X tali che Spazio di Output Y = {1,...,k} X i X j = i, j = 1,...,k, i j GOAL: Assegnare ciascun vettore di input x al sottoinsieme a cui appartiene Classificazione Binaria: due insiemi X 1, X 2 X, tali che X 1 X 2 = +1 se x X 1 g(x) = (1) 1 se x X 2
Problemi di Classificazione Spazio di Input diviso in k sottoinsiemi X 1,...,X k X tali che Spazio di Output Y = {1,...,k} X i X j = i, j = 1,...,k, i j GOAL: Assegnare ciascun vettore di input x al sottoinsieme a cui appartiene Classificazione Binaria: due insiemi X 1, X 2 X, tali che X 1 X 2 = +1 se x X 1 g(x) = (1) 1 se x X 2
Approssimazione di g Quattro classi di Macchine per Apprendimento: 1) Perceptron 2) MultiLayer Perceptron Networks (MLPN) 3) Radial Basis Function Networks (RBFN) 4) Support Vector Machines (SVM) Stima ĝ di g con buone capacità di generalizzazione. Una Macchina per Apprendimento generalizza bene quando ha la capacità di calcolare correttamente l input-output mapping per dati di test non inclusi nel training set.
Approssimazione di g Quattro classi di Macchine per Apprendimento: 1) Perceptron 2) MultiLayer Perceptron Networks (MLPN) 3) Radial Basis Function Networks (RBFN) 4) Support Vector Machines (SVM) Stima ĝ di g con buone capacità di generalizzazione. Una Macchina per Apprendimento generalizza bene quando ha la capacità di calcolare correttamente l input-output mapping per dati di test non inclusi nel training set.
Approssimazione di g Quattro classi di Macchine per Apprendimento: 1) Perceptron 2) MultiLayer Perceptron Networks (MLPN) 3) Radial Basis Function Networks (RBFN) 4) Support Vector Machines (SVM) Stima ĝ di g con buone capacità di generalizzazione. Una Macchina per Apprendimento generalizza bene quando ha la capacità di calcolare correttamente l input-output mapping per dati di test non inclusi nel training set.
Approssimazione di g Quattro classi di Macchine per Apprendimento: 1) Perceptron 2) MultiLayer Perceptron Networks (MLPN) 3) Radial Basis Function Networks (RBFN) 4) Support Vector Machines (SVM) Stima ĝ di g con buone capacità di generalizzazione. Una Macchina per Apprendimento generalizza bene quando ha la capacità di calcolare correttamente l input-output mapping per dati di test non inclusi nel training set.
Approssimazione di g Quattro classi di Macchine per Apprendimento: 1) Perceptron 2) MultiLayer Perceptron Networks (MLPN) 3) Radial Basis Function Networks (RBFN) 4) Support Vector Machines (SVM) Stima ĝ di g con buone capacità di generalizzazione. Una Macchina per Apprendimento generalizza bene quando ha la capacità di calcolare correttamente l input-output mapping per dati di test non inclusi nel training set.
Approssimazione di g Quattro classi di Macchine per Apprendimento: 1) Perceptron 2) MultiLayer Perceptron Networks (MLPN) 3) Radial Basis Function Networks (RBFN) 4) Support Vector Machines (SVM) Stima ĝ di g con buone capacità di generalizzazione. Una Macchina per Apprendimento generalizza bene quando ha la capacità di calcolare correttamente l input-output mapping per dati di test non inclusi nel training set.
Approssimazione di g Quattro classi di Macchine per Apprendimento: 1) Perceptron 2) MultiLayer Perceptron Networks (MLPN) 3) Radial Basis Function Networks (RBFN) 4) Support Vector Machines (SVM) Stima ĝ di g con buone capacità di generalizzazione. Una Macchina per Apprendimento generalizza bene quando ha la capacità di calcolare correttamente l input-output mapping per dati di test non inclusi nel training set.
Generalizzazione GENERALIZZAZIONE strettamente connessa con COMPLESSITÀ Overfitting ĝ troppo complessa approssimazione non buona di g sul Test Set Underfitting ĝ troppo semplice approssimazione non buona di g sul Training Set GOAL: Trovare complessità ottimale per ĝ (i.e. il modello più semplice che garantisce buone performance sui dati di training)
Generalizzazione GENERALIZZAZIONE strettamente connessa con COMPLESSITÀ Overfitting ĝ troppo complessa approssimazione non buona di g sul Test Set Underfitting ĝ troppo semplice approssimazione non buona di g sul Training Set GOAL: Trovare complessità ottimale per ĝ (i.e. il modello più semplice che garantisce buone performance sui dati di training)
Generalizzazione GENERALIZZAZIONE strettamente connessa con COMPLESSITÀ Overfitting ĝ troppo complessa approssimazione non buona di g sul Test Set Underfitting ĝ troppo semplice approssimazione non buona di g sul Training Set GOAL: Trovare complessità ottimale per ĝ (i.e. il modello più semplice che garantisce buone performance sui dati di training)
Procedure di Cross-Validation - k-fold Cross-Validation: 1) Training Set diviso in k distiti segmenti T 1,..., T k ; 2) Funzione ĝ costruita mediante un algoritmo d apprendimento utilizzando i dati da k 1 segmenti; 3) Performance testate utilizzando i segmenti rimanenti; 4) Processo iterato per ognuna delle k possibili scelte per il segmento omesso dal processo di training, e calcolo della media sui k risultati. - Leave-one-out: k uguale al numero dei dati di training GOAL: Valutare le capacità di generalizzazione di ĝ
Procedure di Cross-Validation - k-fold Cross-Validation: 1) Training Set diviso in k distiti segmenti T 1,..., T k ; 2) Funzione ĝ costruita mediante un algoritmo d apprendimento utilizzando i dati da k 1 segmenti; 3) Performance testate utilizzando i segmenti rimanenti; 4) Processo iterato per ognuna delle k possibili scelte per il segmento omesso dal processo di training, e calcolo della media sui k risultati. - Leave-one-out: k uguale al numero dei dati di training GOAL: Valutare le capacità di generalizzazione di ĝ
Curse of Dimensionality informazione contenuta nelle feature (i.e. componenti di x i contenute nel Training Set) Feature divise in tre gruppi: 1. feature irrilevanti 2. feature ridondanti 3. feature rilevanti Feature rilevanti non note a priori, molte feature incluse nel modello per descrivere al meglio il dominio. Elevato numero di features e limitato numero di esempi di training. Curse of dimensionality : dati molto sparsi e rappresentazione del fenomeno non adeguata. Costruzione di una buona approssimazione ĝ mediante un numero limitato di feature.
Curse of Dimensionality informazione contenuta nelle feature (i.e. componenti di x i contenute nel Training Set) Feature divise in tre gruppi: 1. feature irrilevanti 2. feature ridondanti 3. feature rilevanti Feature rilevanti non note a priori, molte feature incluse nel modello per descrivere al meglio il dominio. Elevato numero di features e limitato numero di esempi di training. Curse of dimensionality : dati molto sparsi e rappresentazione del fenomeno non adeguata. Costruzione di una buona approssimazione ĝ mediante un numero limitato di feature.
Curse of Dimensionality informazione contenuta nelle feature (i.e. componenti di x i contenute nel Training Set) Feature divise in tre gruppi: 1. feature irrilevanti 2. feature ridondanti 3. feature rilevanti Feature rilevanti non note a priori, molte feature incluse nel modello per descrivere al meglio il dominio. Elevato numero di features e limitato numero di esempi di training. Curse of dimensionality : dati molto sparsi e rappresentazione del fenomeno non adeguata. Costruzione di una buona approssimazione ĝ mediante un numero limitato di feature.
Curse of Dimensionality informazione contenuta nelle feature (i.e. componenti di x i contenute nel Training Set) Feature divise in tre gruppi: 1. feature irrilevanti 2. feature ridondanti 3. feature rilevanti Feature rilevanti non note a priori, molte feature incluse nel modello per descrivere al meglio il dominio. Elevato numero di features e limitato numero di esempi di training. Curse of dimensionality : dati molto sparsi e rappresentazione del fenomeno non adeguata. Costruzione di una buona approssimazione ĝ mediante un numero limitato di feature.
Curse of Dimensionality informazione contenuta nelle feature (i.e. componenti di x i contenute nel Training Set) Feature divise in tre gruppi: 1. feature irrilevanti 2. feature ridondanti 3. feature rilevanti Feature rilevanti non note a priori, molte feature incluse nel modello per descrivere al meglio il dominio. Elevato numero di features e limitato numero di esempi di training. Curse of dimensionality : dati molto sparsi e rappresentazione del fenomeno non adeguata. Costruzione di una buona approssimazione ĝ mediante un numero limitato di feature.
Curse of Dimensionality informazione contenuta nelle feature (i.e. componenti di x i contenute nel Training Set) Feature divise in tre gruppi: 1. feature irrilevanti 2. feature ridondanti 3. feature rilevanti Feature rilevanti non note a priori, molte feature incluse nel modello per descrivere al meglio il dominio. Elevato numero di features e limitato numero di esempi di training. Curse of dimensionality : dati molto sparsi e rappresentazione del fenomeno non adeguata. Costruzione di una buona approssimazione ĝ mediante un numero limitato di feature.
Feature Selection Definizione Processo per selezionare un sottoinsieme minimo di features, garantendo buone performance e una stima accurata di g sul Training Set Motivazioni: 1. riduzione dei dati 2. miglioramento della predizione 3. comprensione dei dati
Feature Selection in Pratica Scelta del Sottoinsieme di Features In uno spazio n-dimensionale, i metodi di feature selection cercano di trovare il migliore sottoinsieme, tra i 2 n sottoinsiemi candidati, in accordo con uno specifico criterio Problema Ricerca troppo costosa quando n diventa grande Soluzione Procedura per prevenire la ricerca esaustiva
Feature Selection in Pratica Scelta del Sottoinsieme di Features In uno spazio n-dimensionale, i metodi di feature selection cercano di trovare il migliore sottoinsieme, tra i 2 n sottoinsiemi candidati, in accordo con uno specifico criterio Problema Ricerca troppo costosa quando n diventa grande Soluzione Procedura per prevenire la ricerca esaustiva
Feature Selection in Pratica Scelta del Sottoinsieme di Features In uno spazio n-dimensionale, i metodi di feature selection cercano di trovare il migliore sottoinsieme, tra i 2 n sottoinsiemi candidati, in accordo con uno specifico criterio Problema Ricerca troppo costosa quando n diventa grande Soluzione Procedura per prevenire la ricerca esaustiva
Approcci Basati sul Machine Learning Suddivisi in tre diverse classi: 1. Filter: selezionano un sottoinsieme di variabili in fase di preprocessamento, senza tener conto del predittore utilizzato. 2. Wrapper: utilizzano una determinata macchina per l apprendimento come black box per determinare il potere predittivo di un sottoinsieme di variabili. 3. Metodi Embedded: Selezione delle variabili come parte del processo di training.
Metodi Filter Indipendenti dal predittore utilizzato per la classificazione Performance valutate solo sulla base di metriche calcolate direttamente dai dati Meno costosi dei metodi Wrapper
Metodi Filter: Funzione di Scoring Funzione di Scoring dato un sottoinsieme di variabili S, e un insieme di training D, la funzione di scoring F(S) calcola la rilevanza del sottoinsieme S per la classificazione. Funzione di Scoring Utilizzando questi indici per le singole feature x j con j = 1,..., n, possiamo ordinare le variabili: F(x j1 ) F(x j2 ) F(x jn ). Scelta Feature Le feature con un valore basso della funzione di scoring vengono scartate
Metodi Filter: Funzione di Scoring Funzione di Scoring dato un sottoinsieme di variabili S, e un insieme di training D, la funzione di scoring F(S) calcola la rilevanza del sottoinsieme S per la classificazione. Funzione di Scoring Utilizzando questi indici per le singole feature x j con j = 1,..., n, possiamo ordinare le variabili: F(x j1 ) F(x j2 ) F(x jn ). Scelta Feature Le feature con un valore basso della funzione di scoring vengono scartate
Un esempio di Funzione di Scoring: F-Score F-Score dato un insieme di vettori di training x i, con i = 1,..., m, indichiamo il numero di istanze positive e negative rispettivamente con n + e n. Il valore F-score viene calcolato come segue: F(i) = ( x (+) i x i ) 2 + ( x ( ) 1 n+ n + 1 k=1 (x(+) x (+) ) k,i i 2 + 1 n 1 i x i ) 2 n k=1 (x( ) k,i x ( ) i ) 2 Significato numeratore indica la discriminazione tra le due classi il denominatore indica la discriminazione per singola classe maggiore l indice, maggiore la possibilità che la variabile considerata sia capace di discriminare.
Un esempio di Funzione di Scoring: F-Score F-Score dato un insieme di vettori di training x i, con i = 1,..., m, indichiamo il numero di istanze positive e negative rispettivamente con n + e n. Il valore F-score viene calcolato come segue: F(i) = ( x (+) i x i ) 2 + ( x ( ) 1 n+ n + 1 k=1 (x(+) x (+) ) k,i i 2 + 1 n 1 i x i ) 2 n k=1 (x( ) k,i x ( ) i ) 2 Significato numeratore indica la discriminazione tra le due classi il denominatore indica la discriminazione per singola classe maggiore l indice, maggiore la possibilità che la variabile considerata sia capace di discriminare.
F-Score: Problema F-score non rivela la mutua informazione tra le feature
Metodi Wrappers Utilizza le performance di predizione di un classificatore per determinare l importanza di un sottoinsieme di variabili Necessaria una strategia di ricerca efficiente (ricerca esaustiva possibile solo se numero di variabili limitato) Costo dipende dal metodo di ricerca utilizzato
Strategie di Ricerca Greedy Metodi Greedy Rappresentano una classe di strategie di ricerca molto efficiente dal punto di vista computazionale Forward Selection Comincia dall insieme vuoto e include progressivamente nuove variabili Backward Elimination Comincia dall insieme completo delle feature e elimina progressivamente le variabili meno promettenti
Strategie di Ricerca Greedy Metodi Greedy Rappresentano una classe di strategie di ricerca molto efficiente dal punto di vista computazionale Forward Selection Comincia dall insieme vuoto e include progressivamente nuove variabili Backward Elimination Comincia dall insieme completo delle feature e elimina progressivamente le variabili meno promettenti
Metodi Embedded Incorporano la feature selection come parte del processo di training Problema formulato come segue: min g(w, X, Y) w R n (2) s.t. w 0 s 0 g misura le performance del classificatore selezionato, descritto dal vettore di parametri w, e dal training set (X, Y). Norma l 0 formulata come segue: w 0 = card{w i : w i 0}
Metodi Embedded II Problema (2) riscritto come segue: min w R n g(w, X, Y) + λs(w) (3) con λ > 0, s approssimazione di w 0. alcuni embedded methods aggiungono o rimuovono in maniera iterativa le features dai dati per approssimare una soluzione del problema (3).
Modelli Lineari per la Feature Selection Consideriamo due insiemi A e B in R n di m e k punti rispettivamente A e B sono rappresentati dalle matrici A R m n e B R k n : ogni punto rappresenta una riga della matrice. Vogliamo costruire un iperpiano di separazione: P = {x x R n, x T w = γ}, (4) eliminando il maggior numero di componenti possibili di w. L iperpiano di separazione P determina due semispazi aperti: - {x x R n, x T w > γ} contenente principalmente punti di A; - {x x R n, x T w < γ} contenente principalmente punti di B.
Modelli Lineari per la Feature Selection II Vogliamo soddisfare le seguenti disuguaglianze: Versione normalizzata: Aw > eγ, Bw < eγ (5) Aw γ + e, Bw eγ e. (6) Nelle applicazioni reali dati linearmente separabili sono difficili da trovare. Cerchiamo di soddisfare le (6), in senso approssimato: 1 min f(w, γ) = min w,γ w,γ m ( Aw + eγ + e)+ 1 + 1 k (Bw eγ + e)+ 1 (7) Norma l 1 definita come segue: x 1 = n x i i=1
Definizione del problema Formulazione (7) equivalente alla seguente formulazione: min w,γ,y,z s.t. e T y m + et z k Aw + eγ + e y Bw eγ + e z y 0, z 0 (8) questo problema di programmazione lineare, o equivalentemente la (7), definisce un iperpiano P che soddisfa le (6) in maniera approssimata. Nella feature selection vogliamo eliminare il maggior numero possibile di elementi di w, dunque introduciamo il seguente problema: min w,γ,y,z (1 λ)( et y m + et z k ) + λ w 0 s.t. Aw + eγ + e y λ [0, 1) Bw eγ + e z y 0, z 0 (9)
Approssimazione della norma-zero Formulazione (9) equivalente alla seguente formulazione: min w,γ,y,z,v (1 λ)( et y m + et z k ) + λ n s(v i ) i=1 s.t. Aw + eγ + e y λ [0, 1) Bw eγ + e z v w v y 0, z 0 (10) con s : R R + funzione gradino tale che s(t) = 1 per t > 0 e s(t) = 0 per t 0. Funzione gradino discontinua, tipicamente rimpiazzata da una funzione smooth: - funzione sigmoidale; - funzione esponenziale concava; - funzione logaritmica. Per rendere il problema (9) trattabile, possibile rimpiazzare la norma l 0 con la norma l 1.
Formulazione ottenuta mediante Funzione Esponenziale Concava Sostituendo la funzione gradino con una funzione esponenziale concava, otteniamo il seguente problema di programmazione concava: min w,γ,y,z,v s.t. (1 λ)( et y m + et z k Aw + eγ + e y Bw eγ + e z v w v y 0, z 0 ) + λ n (1 ε αv i ) i=1 (11) con λ [0, 1).
Algoritmo di Frank-Wolfe Problema da risolvere min f(x) x P (12) P R n poliedro non vuoto f : R n R concava, continuamente differenziabile, limitata inferiormente su P
Algoritmo di Frank-Wolfe Frank-Wolfe con passo unitario (FW1) 1. Sia x 0 R n il punto iniziale; 2. Per k = 0, 1,..., se x k / arg min x P f(xk ) T x calcola una soluzione x k+1 di altrimenti ESCI. min x P f(xk ) T x Proposizione 1 L algoritmo di Frank-Wolfe con passo unitario converge a un vertice stazionario del problema (12) in un numero finito di iterazioni. [O.L. Mangasarian, Applied Mathematics and Parallel Computing, 1996]
Algoritmo di Frank-Wolfe Frank-Wolfe con passo unitario (FW1) 1. Sia x 0 R n il punto iniziale; 2. Per k = 0, 1,..., se x k / arg min x P f(xk ) T x calcola una soluzione x k+1 di altrimenti ESCI. min x P f(xk ) T x Proposizione 1 L algoritmo di Frank-Wolfe con passo unitario converge a un vertice stazionario del problema (12) in un numero finito di iterazioni. [O.L. Mangasarian, Applied Mathematics and Parallel Computing, 1996]
Spider: Informazioni Utili Software per Machine Learning in Matlab Contiene una serie di tool per la Feature Selection disponbile al sito: http://www.kyb.tuebingen.mpg.de/bs/people/spider/
Spider: Programmi per Feature Selection featsel: tool per effettuare il ranking delle variabili secondo uno specifico criterio rfe: eliminazione ricorsiva delle feature fsv: feature selection basata sull approssimazione della norma zero mediante formulazione esponenziale concava
Scaricare Lezioni lezioni disponbili al sito: http://www.dis.uniroma1.it/ rinaldi/didattica