Cel mai bun răspuns
Am dat peste o serie de aplicații posibile ale SVM-urilor de clasificare în literatură:
* Regresie ordinală * Optimizare ASC * Dezechilibru de clasă * Probleme de învățare în clasificare
Inițial, acestea au fost propuse pentru regresie ordinală; Optimizarea AUC este doar un caz special (două clase). Dezechilibrul de clasă este legat de optimizarea ASC, deoarece ASC este o măsură de performanță rezonabilă pentru problemele cu dezechilibrul de clasă. SVM-urile de clasare au fost, de asemenea, propuse pentru problemele Learning 2 Rank în contextul recuperării informațiilor. Nu se potrivesc IMHO pentru că, deși AUC poate fi văzută și ca o valoare de clasificare, aceasta diferă de valorile de performanță de clasificare standard, cum ar fi NDCG și Precizia medie medie: acestea din urmă sunt foarte grele; adică pun mult accent pe primele exemple din clasament (adesea exemplele sub rangul 10 și 20 nu contează deloc) în timp ce AUC tratează în mod egal toate pozițiile din clasament.
Acestea fiind spuse, eu ” Am folosit Ranking SVM pentru toate problemele de mai sus și IMHO, acestea nu au fost niciodată dovedite utile – de ex. din experiența mea, ponderarea exemplelor funcționează de obicei mai bine pentru dezechilibrul clasei și pentru a învăța să clasez regresia simplă pe scorurile de relevanță (+ un model neliniar) oferă performanțe mai bune la majoritatea punctelor de referință L2R. Diferența în performanța AUC între SVM obișnuit și SVM de clasare este IMHO neglijabilă.
Cea mai interesantă aplicație a Ranking SVM pe care am întâlnit-o a fost Thorsten Joachims și grupul său, unde au folosit feedback implicit de la utilizatorii unui motor de căutare web (de exemplu, utilizatorul a făcut clic pe poziția 2 mai întâi și nu pe 1) pentru a genera „exemple de perechi” (doc\_2 – doc\_1) care sunt introduse în clasamentul SVM – semnalele de antrenament de acest formular ar funcționa numai pentru abordări perechi, cum ar fi Clasarea SVM / p>
Răspuns
Abrevieri
- AUC = Zona sub curbă.
- AUROC = Zona sub curba caracteristicii de funcționare a receptorului .
AUC este folosit de cele mai multe ori pentru a însemna AUROC, ceea ce este o practică proastă, deoarece, așa cum a subliniat Marc Claesen, AUC este ambiguu (ar putea fi orice curbă) în timp ce AUROC nu este.
AUROC
AUROC are mai multe interpretări echivalente :
- Așteptarea că un pozitiv aleatoriu desenat uniform este clasat înaintea unui negativ aleatoriu desenat uniform.
- Proporția așteptată a pozitivelor clasată înainte de un negativ aleatoriu desenat uniform.
- Rata pozitivă adevărată așteptată dacă clasamentul este împărțit chiar înainte de un negativ aleatoriu desenat uniform.
- Proporția așteptată de negative clasată după un pozitiv aleatoriu desenat uniform.
- Rata fals pozitivă așteptată dacă clasamentul este împărțit imediat după un rezultat uniform desenat pozitiv aleatoriu.
Calculul AUROC
Presupunem că au un clasificator probabilist, binar, cum ar fi regresia logistică. Înainte de a prezenta curba ROC (= curba caracteristică de funcționare a receptorului), trebuie înțeles conceptul de matrice de confuzie . Când facem o predicție binară, acestea pot fi 4 tipuri de erori:
- Prezicem 0, în timp ce ar trebui să avem clasa de fapt 0: aceasta se numește Adevărat negativ , adică predicem corect că clasa este negativă (0). De exemplu, un antivirus nu a detectat un fișier inofensiv ca virus.
- Prezicem 0 în timp ce ar trebui să avem clasa este de fapt 1: aceasta se numește Fals negativ , adică prezicem incorect că clasa este negativă (0). De exemplu, un antivirus nu a reușit să detecteze un virus.
- Prezicem 1 în timp ce ar trebui să avem clasa de fapt 0: aceasta se numește Fals pozitiv , adică prezicem incorect că clasa este pozitivă (1). De exemplu, un antivirus consideră că un fișier inofensiv este un virus.
- Prezicem 1, în timp ce ar trebui să avem clasa de fapt 1: aceasta se numește Adevărat pozitiv , adică predicem corect că clasa este pozitivă (1). De exemplu, un antivirus a detectat pe bună dreptate un virus.
Pentru a obține matricea de confuzie, trecem în revistă toate predicțiile făcute de model și numărăm de câte ori fiecare dintre aceste 4 tipuri de erori apar:
În acest exemplu de matrice de confuzie, dintre cele 50 de puncte de date clasificate, 45 sunt clasificate corect și cele 5 sunt clasificate greșit.
Deoarece pentru a compara două modele diferite, este adesea mai convenabil să avem o singură valoare mai degrabă decât mai multe, calculăm două valori din matricea de confuzie, pe care le vom combina mai târziu într-una singură:
- Rată adevărată pozitivă ( TPR ), aka. sensibilitate, rata de accesare și rechemare , care este definită ca TPTP + FN. Intuitiv, această valoare corespunde proporției punctelor de date pozitive care sunt corect considerate pozitive, în raport cu toate punctele de date pozitive. Cu alte cuvinte, cu cât TPR este mai mare, cu atât vom pierde mai puține puncte de date pozitive.
- Rată fals pozitivă ( FPR ), aka. drop-out , care este definit ca FPFP + TN. Intuitiv, această valoare corespunde proporției de puncte de date negative care sunt considerate în mod eronat pozitive, în raport cu toate punctele de date negative. Cu alte cuvinte, cu cât FPR este mai ridicat, cu atât mai multe puncte de date negative vom fi clasificate greșit.
Pentru a combina FPR și TPR într-o singură valoare, calculăm mai întâi cele două foste valori cu multe diferite prag (de exemplu 0,00; 0,01,0,02,…, 1,00) pentru regresia logistică, apoi trasați-le pe un singur grafic, cu valorile FPR pe abscisă și valorile TPR pe ordonată. Curba rezultată se numește curbă ROC, iar metrica pe care o considerăm este ASC a acestei curbe, pe care o numim AUROC.
Următoarea figură arată AUROC grafic:
În această figură, zona albastră corespunde zonei sub curba caracteristicii de operare a receptorului (AUROC). Linia întreruptă în diagonală prezentăm curba ROC a unui predictor aleatoriu: are un AUROC de 0,5. Predictorul aleatoriu este utilizat în mod obișnuit ca linie de bază pentru a vedea dacă modelul este util.
Dacă doriți să obțineți o experiență directă: