Analys av grannskapskomponenter

Grannskapskomponentanalys är en övervakad inlärningsmetod för att klassificera multivariat data i distinkta klasser enligt ett givet avståndsmått över data. Funktionellt tjänar den samma syften som K-närmaste grannar-algoritmen och använder direkt ett relaterat koncept som kallas stokastiska närmaste grannar .

Definition

Analys av grannskapskomponenter syftar till att "lära" ett avståndsmått genom att hitta en linjär transformation av indata så att den genomsnittliga klassificeringsprestandan (LOO) maximeras i det transformerade utrymmet. Nyckelinsikten till algoritmen är att en matris som motsvarar transformationen kan hittas genom att definiera en differentierbar objektivfunktion för följt av användning av en iterativ lösare såsom konjugerad gradientnedstigning . En av fördelarna med denna algoritm är att antalet klasser kan bestämmas som en funktion av upp till en skalärkonstant. Denna användning av algoritmen tar därför upp frågan om modellval .

Förklaring

För att definiera definierar vi en objektivfunktion som beskriver klassificeringsnoggrannheten i det transformerade rummet och försöker bestämma så att denna objektivfunktion maximeras.

Leave-one-out (LOO) klassificering

Överväg att förutsäga klassetiketten för en enskild datapunkt genom konsensus av dess -närmaste grannar med ett givet avståndsmått. Detta är känt som " lea-one-out" -klassificering. Emellertid kan uppsättningen av närmaste grannar vara ganska annorlunda efter att alla punkter har passerats genom en linjär transformation. Specifikt kan uppsättningen av grannar för en punkt genomgå diskreta förändringar som svar på jämna förändringar i elementen i , vilket innebär att varje objektiv funktion baserat på grannar till en punkt kommer att vara styckvis-konstanta , och därför inte differentierbara .

Lösning

Vi kan lösa denna svårighet genom att använda ett tillvägagångssätt inspirerat av stokastisk gradientnedstigning . Istället för att betrakta -närmaste grannar vid varje transformerad punkt i LOO-klassificeringen, kommer vi att betrakta hela den transformerade datamängden som stokastiska närmaste grannar . Vi definierar dessa med hjälp av en softmax-funktion av det kvadratiska euklidiska avståndet mellan en given LOO-klassificeringspunkt och varje annan punkt i det transformerade rummet:

Sannolikheten för att korrekt klassificera datapunkt är sannolikheten att klassificera punkterna för var och en av dess grannar med samma klass :

där är sannolikheten att klassificera granne till punkt .

Definiera målfunktionen med hjälp av LOO-klassificering, denna gång med hela datamängden som stokastiska närmaste grannar:

Observera att under stokastiska närmaste grannar är konsensusklassen för en enda punkt det förväntade värdet av en punkts klass i gränsen för ett oändligt antal sampel som dras från fördelningen över dess grannar dvs: . Således är den förutsagda klassen en affin kombination av klasserna för varannan punkt, viktad av softmax-funktionen för varje där är nu hela den transformerade datamängden.

Detta val av objektivfunktion är att föredra eftersom det är differentierbart med avseende på (beteckna ) :

Att erhålla en gradient för innebär att den kan hittas med en iterativ lösare som konjugerad gradientnedstigning . Observera att i praktiken utvärderas de flesta av de innersta termerna av gradienten till obetydliga bidrag på grund av det snabbt minskande bidraget från avlägsna punkter från den intressanta punkten. Detta innebär att den inre summan av gradienten kan trunkeras, vilket resulterar i rimliga beräkningstider även för stora datamängder.

Alternativ formulering

"Maximera är ekvivalent med att minimera -avståndet mellan den förutsagda klassfördelningen och den sanna klassfördelningen (dvs: där inducerad av är alla lika med 1). Ett naturligt alternativ är KL-divergensen, som inducerar följande objektiva funktion och gradient:" (Goldberger 2005)

I praktiken tenderar optimering av med denna funktion att ge liknande prestandaresultat som med originalet.

Historia och bakgrund

Grannskapskomponentanalys utvecklades av Jacob Goldberger, Sam Roweis, Ruslan Salakhudinov och Geoff Hinton vid University of Torontos avdelning för datavetenskap 2004.

Se även

  • J. Goldberger, G. Hinton, S. Roweis, R. Salakhutdinov. (2005) Analys av grannskapskomponenter . Framsteg inom neurala informationsbehandlingssystem. 17, 513–520, 2005.

externa länkar

programvara