Bedste svar
Jeg stødte på en række mulige anvendelser af Ranking SVMer i litteraturen:
* Ordinal regression * AUC-optimering * Class-ubalance * At lære at rangordne problemer
Oprindeligt er de blevet foreslået til ordinal regression; AUC-optimering er bare et specielt tilfælde af det (to klasser). Klassebalance er relateret til AUC-optimering, da AUC er en rimelig præstationsmåling for problemer med klassebalance. Rangering af SVMer er også blevet foreslået til Learning 2 Rank-problemer i forbindelse med hentning af information. De passer ikke godt til IMHO, for selvom AUC også kan ses som en rangmåling, adskiller den sig fra standardrangeringspræstationsmålinger såsom NDCG og gennemsnitlig gennemsnitspræcision: sidstnævnte er top-tunge; dvs. de lægger stor vægt på de første eksempler i rangeringen (ofte eksempler under rang 10 og 20 betyder slet ikke noget), mens AUC behandler alle positioner i rangeringen ens.
Når det er sagt, jeg ” har brugt Ranking SVM til alle ovenstående problemer og IMHO er de aldrig blevet bevist nyttigt – f.eks. efter min erfaring fungerer eksempelvægtning normalt bedre for klasse ubalance og for at lære at rangere enkel regression efter relevansscore (+ en ikke-lineær model) giver bedre ydeevne på de fleste L2R-benchmarks. Forskellen i AUC-ydeevne mellem almindelig svm og ranking svm er forsømmelig IMHO.
Den mest interessante anvendelse af Ranking SVM jeg stødte på var af Thorsten Joachims og hans gruppe, hvor de brugte implicit feedback fra brugere af en websøgemaskine (dvs. brugeren klikkede på position 2 først og ikke 1) for at generere “eksempelpar” (doc\_2 – doc\_1), der føres ind i Ranking SVM – træningssignaler i denne form fungerer kun for parvise tilgange som Ranking SVM.
Svar
Hvad står AUC for, og hvad er det? :
Forkortelser
- AUC = Areal under kurven.
- AUROC = Område under modtageren Driftskarakteristikkurve .
AUC bruges mest af tiden til at betyde AUROC, hvilket er en dårlig praksis, da som Marc Claesen påpegede, at AUC er tvetydig (kan være en hvilken som helst kurve), mens AUROC ikke er.
Interpreti i AUROC
AUROC har flere ækvivalente fortolkninger :
- Forventningen om, at en ensartet trukket tilfældig positiv rangeres før en ensartet trukket tilfældig negativ.
- Den forventede andel af positive rangeret før en ensartet trukket tilfældig negativ.
- Den forventede sande positive rate, hvis placeringen split lige før et ensartet trukket tilfældigt negativt.
- Den forventede andel af negativer rangeret efter en ensartet trukket tilfældig positiv.
- Den forventede falske positive sats, hvis rangeringen deles lige efter en ensartet trukket tilfældigt positivt.
Beregning af AUROC
Antag, at vi har en probabilistisk, binær klassifikator såsom logistisk regression. Før du præsenterer ROC-kurven (= Receiver Operating Characteristic curve), skal begrebet forvirringsmatrix forstås. Når vi foretager en binær forudsigelse, kan det være fire typer fejl:
- Vi forudsiger 0, mens vi skal have, at klassen faktisk er 0: dette kaldes en Sandt negativt , dvs. vi forudsiger korrekt, at klassen er negativ (0). For eksempel registrerede et antivirus ikke en harmløs fil som en virus.
- Vi forudsiger 0, mens vi skulle have, at klassen faktisk er 1: dette kaldes en Falsk negativ , dvs. vi forudsiger forkert, at klassen er negativ (0). For eksempel kunne et antivirus ikke opdage en virus.
- Vi forudsiger 1, mens vi skulle have klassen faktisk er 0: dette kaldes en Falsk positiv , dvs. vi forudsiger forkert, at klassen er positiv (1). For eksempel betragtes et antivirus som en uskadelig fil som en virus.
- Vi forudsiger 1, mens vi skal have, at klassen faktisk er 1: dette kaldes en Ægte positive , dvs. vi forudsiger korrekt, at klassen er positiv (1). For eksempel registrerede et antivirus med rette en virus.
For at få forvirringsmatrixen gennemgår vi alle forudsigelser fra modellen og tæller hvor mange gange hver af disse 4 typer fejl forekomme:
I dette eksempel på en forvirringsmatrix, blandt de 50 datapunkter, der er klassificeret, er 45 korrekt klassificeret og de 5 er forkert klassificeret.
Da det for at sammenligne to forskellige modeller er det ofte mere bekvemt at have en enkelt metric snarere end flere, beregner vi to metrics fra forvirringsmatrixen, som vi senere kombinerer til en:
- Ægte positiv rate ( TPR ), også kaldet. følsomhed, hitrate og tilbagekaldelse , som er defineret som TPTP + FN. Intuitivt svarer denne metric til den andel af positive datapunkter, der korrekt betragtes som positive, i forhold til alle positive datapunkter. Med andre ord, jo højere TPR, jo færre positive datapunkter vil vi gå glip af.
- Falsk positiv rate ( FPR ), aka. udfald , der er defineret som FPFP + TN. Intuitivt svarer denne metric til den andel af negative datapunkter, der fejlagtigt betragtes som positive, i forhold til alle negative datapunkter. Med andre ord, jo højere FPR, jo flere negative datapunkter vil vi ikke klassificere.
For at kombinere FPR og TPR til en enkelt metric beregner vi først de to tidligere metrics med mange forskellige tærskel (for eksempel 0,00; 0,01,0,02,…, 1,00) for den logistiske regression, og plot dem derefter på en enkelt graf med FPR-værdierne på abscissen og TPR-værdierne på ordinaten. Den resulterende kurve kaldes ROC-kurve, og metrikken, vi betragter, er AUC for denne kurve, som vi kalder AUROC.
Følgende figur viser AUROC grafisk:
I denne figur svarer det blå område til området under kurven for modtagerens driftskarakteristik (AUROC). Den stiplede linje i diagonalen præsenterer vi ROC-kurven for en tilfældig forudsigelse: den har en AUROC på 0,5. Den tilfældige forudsigelse bruges ofte som en basislinje for at se, om modellen er nyttig.
Hvis du ønsker at få en førstehåndsoplevelse: