Beste svaret
Jeg kom over en rekke mulige anvendelser av Ranking SVMs i litteraturen:
* Ordinær regresjon * AUC-optimalisering * Klasse-ubalanse * Lære å rangere problemer
Opprinnelig har de blitt foreslått for ordinær regresjon; AUC-optimalisering er bare et spesielt tilfelle av det (to klasser). Klassebalanse er relatert til AUC-optimalisering, siden AUC er en rimelig ytelsesmåling for problemer med klasseubalanse. Rangering av SVM er også foreslått for Learning 2 Rank-problemer i sammenheng med informasjonsinnhenting. De passer ikke godt til IMHO, for mens AUC også kan sees på som en rangeringsmåling, skiller den seg fra standard rangeringsytelsesmålinger som NDCG og gjennomsnittlig gjennomsnittlig presisjon: sistnevnte er topptunge; dvs. de legger stor vekt på de første eksemplene i rangeringen (ofte eksempler under rang 10 og 20 spiller ingen rolle i det hele tatt) mens AUC behandler alle posisjoner i rangeringen likt.
Når det er sagt, jeg » har brukt Ranking SVM for alle de ovennevnte problemene og IMHO har de aldri blitt bevist med fordel – f.eks. etter min erfaring fungerer eksempelvekting vanligvis bedre for klasseubalanse og for å lære å rangere enkel regresjon på relevanspoengene (+ en ikke-lineær modell) gir bedre ytelse på de fleste L2R-referanser. Forskjellen i AUC-ytelse mellom vanlig svm og rangering svm er neglisjert IMHO.
Den mest interessante applikasjonen av Ranking SVM jeg kom over var av Thorsten Joachims og hans gruppe der de brukte implisitte tilbakemeldinger fra brukere av en websøkemotor (dvs. brukeren klikket først på posisjon 2 og ikke 1) for å generere «eksempelpar» (doc\_2 – doc\_1) som mates inn i Ranking SVM – treningssignaler i dette skjemaet vil bare fungere for parvise tilnærminger som Ranking SVM.
Svar
Hva står AUC for og hva er det? :
Forkortelser
- AUC = Areal under kurven.
- AUROC = Område under mottakeren Driftskarakteristikk .
AUC brukes mesteparten av tiden til å bety AUROC, noe som er dårlig praksis siden som Marc Claesen påpekte at AUC er tvetydig (kan være hvilken som helst kurve) mens AUROC ikke er.
Interpreti ng AUROC
AUROC har flere tilsvarende tolkninger :
- Forventningen om at en jevnt trukket tilfeldig positiv rangeres før en jevnt trukket tilfeldig negativ.
- Den forventede andelen positive rangert før en jevnt trukket tilfeldig negativ.
- Den forventede sanne positive hastigheten hvis rangeringen er splitt rett før et jevnt trukket tilfeldig negativt.
- Den forventede andelen negativer rangert etter en jevnt trukket tilfeldig positiv.
- Den forventede falske positive frekvensen hvis rangeringen er delt like etter en jevn tegnet tilfeldig positiv.
Beregning av AUROC
Anta at vi ha en sannsynlig, binær klassifikator som logistisk regresjon. Før du presenterer ROC-kurven (= Receiver Operating Characteristic curve), må begrepet forvirringsmatrise forstås. Når vi lager en binær prediksjon, kan det være fire typer feil:
- Vi spår 0 mens vi skal ha klassen faktisk er 0: dette kalles en True Negative , dvs. vi spår riktig at klassen er negativ (0). For eksempel oppdaget et antivirus ikke en ufarlig fil som et virus.
- Vi spår 0 mens vi skal ha at klassen faktisk er 1: dette kalles False Negative , dvs. vi forutsier feilaktig at klassen er negativ (0). Et antivirus mislyktes for eksempel i å oppdage et virus.
- Vi forutsier at 1 mens vi skal ha klassen faktisk er 0: dette kalles en Falsk positiv , dvs. vi forutsier feilaktig at klassen er positiv (1). For eksempel anså et antivirus som en ufarlig fil for å være et virus.
- Vi spår 1 mens vi burde ha at klassen faktisk er 1: dette kalles en Ekte Positiv , dvs. vi spår riktig at klassen er positiv (1). For eksempel oppdaget et antivirus rettmessig et virus.
For å få forvirringsmatrisen, går vi gjennom alle spådommer laget av modellen, og teller hvor mange ganger hver av disse 4 typene feil forekomme:
I dette eksemplet på en forvirringsmatrise, blant de 50 datapunktene som er klassifisert, er 45 riktig klassifisert og de 5 er feilklassifisert.
Siden det å sammenligne to forskjellige modeller er det ofte mer praktisk å ha en enkelt beregning i stedet for flere, beregner vi to beregninger fra forvirringsmatrisen, som vi senere vil kombinere til en:
- Ekte positiv rate ( TPR ), aka. følsomhet, hit rate , og tilbakekalling , som er definert som TPTP + FN. Intuitivt tilsvarer denne beregningen andelen positive datapunkter som anses riktig som positive, med hensyn til alle positive datapunkter. Med andre ord, jo høyere TPR, jo færre positive datapunkter vil vi savne.
- Falsk positiv rate ( FPR ), aka. utfall , som er definert som FPFP + TN. Intuitivt tilsvarer denne beregningen andelen negative datapunkter som feilaktig betraktes som positive, med hensyn til alle negative datapunkter. Med andre ord, jo høyere FPR, jo mer negative datapunkter vil vi feilklassifisere.
For å kombinere FPR og TPR til en enkelt beregning, beregner vi først de to tidligere beregningene med mange forskjellige terskel (for eksempel 0,00; 0,01,0,02,…, 1,00) for den logistiske regresjonen, og plott dem deretter på en enkelt graf, med FPR-verdiene på abscissen og TPR-verdiene på ordinaten. Den resulterende kurven kalles ROC-kurve, og beregningen vi anser er AUC for denne kurven, som vi kaller AUROC.
Følgende figur viser AUROC grafisk:
I denne figuren tilsvarer det blå området området under kurven til mottakerens driftskarakteristikk (AUROC). Den stiplede linjen i diagonalen presenterer vi ROC-kurven til en tilfeldig prediktor: den har en AUROC på 0,5. Den tilfeldige prediktoren brukes ofte som en basislinje for å se om modellen er nyttig.
Hvis du vil få litt førstehåndsopplevelse: