Timeline
Chat
Prospettiva
Classificatore LMNN
algoritmo di apprendimento di metriche basato sulla regola del kNN Da Wikipedia, l'enciclopedia libera
Remove ads
Un classificatore Large Margin Nearest Neighbor (LMNN) [1] è un algoritmo di apprendimento automatico statistico per l'apprendimento di metriche. Esso apprende una pseudometrica utile alla classificazione basata sui k-vicini più prossimi (k-NN). L'algoritmo si basa sulla programmazione semidefinita, una sottoclasse dell'ottimizzazione convessa.
L'obiettivo dell'apprendimento supervisionato (e, più specificamente, della classificazione) è apprendere una regola di decisione in grado di categorizzare le istanze di dati in classi predefinite. La regola del k-nearest neighbor assume la disponibilità di un insieme di addestramento di istanze etichettate (con classi note). Essa classifica una nuova istanza con la classe ottenuta dal voto di maggioranza delle k istanze di addestramento (etichettate) più vicine. La vicinanza viene misurata con una metrica predefinita. LMNN è un algoritmo che apprende questa (pseudo-)metrica globale in modo supervisionato per migliorare l'accuratezza della classificazione della regola del k-NN.
Remove ads
Impostazioni
Riepilogo
Prospettiva
L'idea principale alla base di LMNN è quella di apprendere una pseudometrica in base alla quale tutte le istanze nell'insieme di addestramento siano circondate da almeno k istanze che condividono la stessa etichetta di classe. Se ciò viene raggiunto, l'errore leave-one-out (un caso speciale di convalida incrociata) viene ridotto al minimo. Si assuma che i dati di addestramento siano costituiti da un insieme di dati , dove l'insieme delle possibili classi (etichette) è .
L'algoritmo apprende una pseudometrica del tipo
- .
Perché sia ben definita, la matrice deve essere semidefinita positiva. La metrica euclidea è un caso speciale, dove è la matrice identità. Questa generalizzazione è spesso denominata metrica di Mahalanobis.
La figura 1 illustra l'effetto della metrica al variare . I due cerchi mostrano l'insieme dei punti con uguale distanza dal centro Nel caso euclideo questo insieme è un cerchio, mentre secondo la metrica generalizzata (Mahalanobis) diventa un ellissoide.

L'algoritmo distingue due tipi di punti dati speciali: i vicini-obiettivo e gli impostori.
Vicini-obiettivo
I vicini-obiettivo vengono selezionati prima dell'apprendimento. Ogni istanza ha esattamente diversi vicini target all'interno di , che condividono tutti la stessa etichetta di classe I vicini-obiettivo sono le istanze che dovrebbero diventare i vicini più prossimi in base alla metrica appresa. Indichiamo con l'insieme dei vicini-obiettivo per un'istanza .
Impostori
Un impostore di un'istanza è un'altra istanza con un'etichetta di classe diversa (ossia ) che è uno dei vicini più prossimi di Durante l'apprendimento, l'algoritmo cerca di ridurre al minimo il numero di impostori per tutte le istanze nell'insieme di addestramento.
Remove ads
Algoritmo
Riepilogo
Prospettiva
Il LMNN ottimizza la matrice con l'aiuto della programmazione semidefinita. L'obiettivo è duplice: per ogni istanza , i vicini-obiettivo dovrebbero essere vicini e gli impostori dovrebbero essere lontani. La Figura 1 mostra l'effetto di tale ottimizzazione con un esempio illustrativo. La metrica appresa fa sì che il vettore di input sia circondato da istanze di addestramento della stessa classe. Se fosse un'istanza di test, verrebbe classificato correttamente con la regola del k-NN per .
Il primo obiettivo di ottimizzazione viene raggiunto riducendo al minimo la distanza media tra le istanze e i loro vicini-obiettivo
- .
Il secondo obiettivo si raggiunge penalizzando le distanze dagli impostori che sono meno di un'unità più lontani rispetto ai vicini-obiettivo (quindi spingendoli fuori dal vicinato locale di ). Il valore risultante da minimizzare può essere espresso come:
Con una funzione di perdita a cerniera (hinge loss), , si garantisce che la prossimità dell'impostore non venga penalizzata quando si trova al di fuori del margine. Il margine di un'unità esatta fissa la scala della matrice . Qualsiasi scelta alternativa si tradurrebbe in un ridimensionamento di di un fattore pari a .
Alla fine, il problema di ottimizzazione diventa:
L'iperparametro è una costante positiva (tipicamente impostata tramite convalida incrociata). Qui le variabili (insieme a due tipi di vincoli) sostituiscono il termine nella funzione di costo. Esse svolgono un ruolo simile alle variabili di slack, utile ad assorbire l'impatto delle violazioni dei vincoli relativi agli impostori. L'ultimo vincolo garantisce che sia semidefinita positiva. Il problema di ottimizzazione è un'istanza di programmazione semidefinita (SDP). Sebbene, in generale, la SDP comporti un'elevata complessità computazionale, questa particolare istanza di SDP può essere risolta in modo molto efficiente grazie alle proprietà geometriche intrinseche del problema. In particolare, la maggior parte dei vincoli relativi agli impostori sono soddisfatti naturalmente e non devono essere verificati durante l'esecuzione (l'insieme delle variabili risulta sparso). Una tecnica di risoluzione particolarmente adatta è il metodo basato su working set, che mantiene un piccolo insieme di vincoli che vengono applicati attivamente e solo occasionalmente monitora i vincoli rimanenti (verosimilmente soddisfatti) per garantirne la correttezza.
Remove ads
Estensioni e risolutori efficienti
LMNN è stato esteso in modo da comprendere più metriche locali [2]. Questa estensione migliora significativamente l'errore di classificazione, ma comporta la risoluzione di un problema di ottimizzazione più costoso. Nel loro articolo sul Journal of Machine Learning Research [3], gli ideatori derivano un risolutore efficiente per il programma semi-definito. Il metodo è capace di apprendere una metrica per il dataset di cifre scritte a mano MNIST in diverse ore, elaborando miliardi di vincoli a coppie. Un'implementazione Matlab open source è disponibile gratuitamente sulla pagina web degli autori.
Kumal et al. [4] hanno esteso l'algoritmo per incorporare invarianze locali nelle trasformazioni polinomiali multivariate e hanno migliorato la regolarizzazione.
Voci correlate
- Analisi discriminante lineare
- Apprendimento basato su similarità
- Clustering
- Neighbor components analysis
- Ricerca nearest neighbor
- Spazio pseudometrico
Note
Link esterni
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads