Beste antwoord
Ik kwam in de literatuur een aantal mogelijke toepassingen van Ranking SVMs tegen:
* Ordinale regressie * AUC-optimalisatie * Klasse-onbalans * Leren om problemen te rangschikken
Aanvankelijk werden ze voorgesteld voor ordinale regressie; AUC-optimalisatie is daar slechts een speciaal geval van (twee klassen). Klasse-onbalans is gerelateerd aan AUC-optimalisatie, aangezien AUC een redelijke prestatiemaatstaf is voor problemen met klasse-onbalans. Het rangschikken van SVMs is ook voorgesteld voor Learning 2 Rank-problemen in de context van het ophalen van informatie. Ze passen niet goed bij IMHO, want hoewel AUC ook kan worden gezien als een rangschikkingsmaatstaf, verschilt deze van standaardprestatiestatistieken zoals NDCG en gemiddelde gemiddelde precisie: de laatste zijn topzwaar; dat wil zeggen dat ze veel nadruk leggen op de eerste voorbeelden in de ranglijst (vaak doen voorbeelden onder rang 10 en 20 er helemaal niet toe) terwijl AUC alle posities op de ranglijst gelijk behandelt.
Dat gezegd hebbende, I ” heb Ranking SVM gebruikt voor alle bovenstaande problemen en IMHO ze zijn nooit nuttig bewezen – bijv. naar mijn ervaring werkt voorbeeldweging meestal beter voor klassenonbalans en voor het leren rangschikken van eenvoudige regressie op de relevantiescores (+ een niet-lineair model) geeft betere prestaties op de meeste L2R-benchmarks. Het verschil in AUC-prestaties tussen gewone svm en ranking svm is verwaarloosbaar IMHO.
De meest interessante toepassing van Ranking SVM die ik tegenkwam was door Thorsten Joachims en zijn groep, waar ze impliciete feedback van gebruikers van een webzoekmachine gebruikten (dwz gebruiker heeft eerst op positie 2 geklikt en niet 1) om “voorbeeldparen” (doc\_2 – doc\_1) te genereren die worden ingevoerd in de Ranking SVM – trainingssignalen van deze vorm zouden alleen werken voor paarsgewijze benaderingen zoals Ranking SVM.
Antwoord
Waar staat AUC voor en wat is het? :
Afkortingen
- AUC = Area Under the Curve.
- AUROC = Area Under the Receiver Operating Characteristic curve .
AUC wordt meestal gebruikt om AUROC aan te duiden, wat een slechte gewoonte is aangezien, zoals Marc Claesen opmerkte, AUC dubbelzinnig (kan elke curve zijn) terwijl AUROC dat niet is.
Interpreti ng de AUROC
De AUROC heeft verschillende gelijkwaardige interpretaties :
- De verwachting dat een uniform getrokken willekeurig positief wordt gerangschikt vóór een uniform getrokken willekeurig negatief.
- Het verwachte percentage positieven dat wordt gerangschikt vóór een uniform getrokken willekeurig negatief.
- Het verwachte werkelijk positieve percentage als de classificatie is opsplitsing net voor een uniform getrokken willekeurig negatief.
- Het verwachte aandeel negatieven gerangschikt na een uniform getrokken willekeurig positief.
- Het verwachte percentage foutpositieven als de classificatie wordt opgesplitst net na een uniform willekeurig getrokken positief.
Berekening van de AUROC
Stel dat we een probabilistische, binaire classificator hebben, zoals logistische regressie. Voordat de ROC-curve (= Receiver Operating Characteristic curve) wordt gepresenteerd, moet het concept van verwarringmatrix worden begrepen. Wanneer we een binaire voorspelling doen, kunnen dat 4 soorten fouten zijn:
- We voorspellen 0 terwijl we zouden moeten hebben dat de klasse eigenlijk 0 is: dit wordt een Echt negatief , dwz we voorspellen correct dat de klasse negatief is (0). Een antivirusprogramma heeft bijvoorbeeld een onschadelijk bestand niet als een virus gedetecteerd.
- We voorspellen dat 0 terwijl we zouden moeten hebben dat de klasse eigenlijk 1 is: dit wordt een False Negative , dwz we voorspellen ten onrechte dat de klasse negatief (0) is. Een antivirusprogramma kon bijvoorbeeld een virus niet detecteren.
- We voorspellen dat 1 terwijl we zouden moeten hebben dat de klas eigenlijk 0 is: dit wordt een False Positive
, dwz we voorspellen ten onrechte dat de klasse positief is (1). Een antivirusprogramma dat bijvoorbeeld als een onschadelijk bestand wordt beschouwd, is een virus. - We voorspellen dat 1 terwijl we de klasse zouden moeten hebben eigenlijk 1 is: dit wordt een genoemd Echt positief , dwz we voorspellen correct dat de klas positief is (1). Een antivirusprogramma heeft bijvoorbeeld terecht een virus gedetecteerd.
Om de verwarringmatrix te achterhalen, bekijken we alle voorspellingen van het model en tellen we hoe vaak elk van die 4 soorten fouten optreden:
In dit voorbeeld van een verwarringmatrix zijn van de 50 datapunten die zijn geclassificeerd, er 45 correct geclassificeerd en de 5 zijn verkeerd geclassificeerd.
Aangezien het voor het vergelijken van twee verschillende modellen vaak handiger is om een enkele metriek te hebben in plaats van meerdere, berekenen we twee metrieken uit de verwarringmatrix, die we later zullen combineren tot één:
- Echt positief percentage ( TPR ), ook bekend als. gevoeligheid, hit rate , en recall , die wordt gedefinieerd als TPTP + FN. Intuïtief komt deze statistiek overeen met het aandeel positieve datapunten dat correct als positief wordt beschouwd, met betrekking tot alle positieve datapunten. Met andere woorden, hoe hoger de TPR, hoe minder positieve gegevenspunten we zullen missen.
- Valse positieve score ( FPR ), ook bekend als. fall-out , gedefinieerd als FPFP + TN. Intuïtief komt deze statistiek overeen met het aantal negatieve datapunten dat ten onrechte als positief wordt beschouwd, met betrekking tot alle negatieve datapunten. Met andere woorden, hoe hoger de FPR, hoe meer negatieve gegevenspunten we verkeerd zullen classificeren.
Om de FPR en de TPR te combineren tot één statistiek, berekenen we eerst de twee eerdere metrieken met veel verschillende drempelwaarde (bijvoorbeeld 0,00; 0,01,0,02,…, 1,00) voor de logistische regressie, en zet ze vervolgens uit in een enkele grafiek, met de FPR-waarden op de abscis en de TPR-waarden op de ordinaat. De resulterende curve wordt de ROC-curve genoemd en de metriek die we beschouwen is de AUC van deze curve, die we AUROC noemen.
De volgende afbeelding toont de AUROC grafisch:
In deze afbeelding komt het blauwe gebied overeen met het gebied onder de curve van de Receiver Operating Characteristic (AUROC). De stippellijn in de diagonaal presenteren we de ROC-curve van een willekeurige voorspeller: deze heeft een AUROC van 0,5. De willekeurige voorspeller wordt vaak gebruikt als basislijn om te zien of het model nuttig is.
Als je wat ervaring uit de eerste hand wilt opdoen: