Ce înseamnă metrica calității în învățarea automată. Antrenament de clasare

În procesul de pregătire a sarcinii pentru testul de admitere la școala de vară GoTo, am constatat că în rusă nu există practic o descriere calitativă a principalelor metrici de clasare (sarcina a vizat un caz special al problemei de clasare - construirea unui algoritm de recomandare) . Noi, cei de la E-Contenta, folosim în mod activ diverse valori de clasare, așa că am decis să corectăm această neînțelegere scriind acest articol.

Sarcina de ierarhizare apare acum peste tot: sortarea paginilor web în funcție de o anumită interogare de căutare, personalizarea fluxului de știri, recomandarea de videoclipuri, bunuri, muzică... Într-un cuvânt, subiectul este fierbinte. Există chiar și o zonă specială în învățarea automată care se ocupă cu studiul algoritmilor de clasare capabili de auto-învățare - învățarea să ierarhească. Pentru a-l alege pe cel mai bun din toată varietatea de algoritmi și abordări, este necesar să se poată cuantifica calitatea acestora. Cele mai comune valori ale calității clasamentului vor fi discutate mai jos.

Pe scurt despre problema clasamentului

Clasament - sarcina de a sorta un set elemente pentru a lor relevanţă. Cel mai adesea, relevanța este înțeleasă în raport cu cineva. obiect. De exemplu, în sarcina de regăsire a informațiilor, obiectul este o interogare, elementele sunt tot felul de documente (legături către ele), iar relevanța este corespondența documentului cu cererea, în sarcina recomandărilor, obiectul este utilizatorul, elementele sunt unul sau altul conținut recomandat (produse, videoclipuri, muzică), iar relevanța este probabilitatea ca utilizatorul să folosească (cumpără/like/vizualizează) acest conținut.

În mod formal, luați în considerare N obiecte și M elemente. Ieșirea algoritmului de clasare a elementelor pentru un obiect este o mapare care atribuie fiecărui element o pondere care caracterizează gradul de relevanță a elementului pentru obiect (cu cât greutatea este mai mare, cu atât obiectul este mai relevant). În același timp, setul de ponderi specifică o permutare asupra mulțimii de elemente de elemente (presupunem că mulțimea de elemente este ordonată) pe baza sortării lor în ordinea descrescătoare a greutății.

Pentru a evalua calitatea clasamentului este necesar să existe o „referință” cu care să poată fi comparate rezultatele algoritmului. Luați în considerare - funcția de referință a relevanței, care caracterizează relevanța „reală” a elementelor pentru un obiect dat ( - elementul este ideal, - complet irelevant), precum și permutarea corespunzătoare acestuia (în ordine descrescătoare).

Există două modalități principale de a obține:
1. Pe baza datelor istorice. De exemplu, în cazul recomandărilor de conținut, puteți lua vizualizările (like-uri, achiziții) ale utilizatorului și puteți atribui ponderile vizualizate ale elementelor relevante la 1 () și toate celelalte la 0.
2. Pe baza evaluării inter pares. De exemplu, într-o sarcină de căutare, pentru fiecare interogare, puteți implica o echipă de evaluatori care evaluează manual relevanța documentelor pentru interogare.

Este demn de remarcat faptul că atunci când se iau doar valori extreme: 0 și 1, atunci permutarea nu este de obicei luată în considerare și se ia în considerare doar setul de elemente relevante, pentru care .

Scopul clasării valorii calității- determinați cum corespund estimările de relevanță obținute de algoritm și permutarea corespunzătoare Adevărat valori de relevanță. Luați în considerare principalele valori.

Precizie medie medie

Precizie medie medie la K ( [email protected]) este una dintre cele mai frecvent utilizate valori ale calității clasamentului. Pentru a înțelege cum funcționează, să începem cu „elementele de bază”.

Notă: metrica „*precizie” este utilizată în problemele binare în care ia doar două valori: 0 și 1.

Precizie la K

Precizie la K ( [email protected]) - acuratețea pe K elemente - metrica de bază a calității clasamentului pentru un obiect. Să presupunem că algoritmul nostru de clasare a produs scoruri de relevanță pentru fiecare articol. După ce am selectat primele elemente cu cele mai mari dintre ele, putem calcula proporția celor relevante. Exact asta face precizia la K:

Notă: un element este înțeles ca fiind în poziția -a ca rezultat al permutației. Deci, este elementul cu cel mai mare , este elementul cu al doilea ca mărime și așa mai departe.

Precizie medie la K

Precizia la K este o metrică ușor de înțeles și implementat, dar are un dezavantaj important - nu ține cont de ordinea elementelor din „sus”. Deci, dacă am ghicit doar unul dintre cele zece elemente, atunci nu contează unde a fost: în primul sau în ultimul, în orice caz. Este evident că prima variantă este mult mai bună.

Acest neajuns este compensat de metrica de clasare precizie medie la K ( [email protected]) , care este egal cu suma [email protected] prin indicii k de la 1 la K numai pentru articolele relevanteîmpărțit la K:

Deci, dacă din cele trei elemente doar cel de pe ultimul loc s-a dovedit a fi relevant, atunci dacă a fost ghicit doar cel de pe primul loc, atunci , iar dacă toate au fost ghicite, atunci .

acum și [email protected] noi în dinţi.

Precizie medie medie la K

Precizie medie medie la K ( [email protected]) este una dintre cele mai frecvent utilizate valori ale calității clasamentului. V [email protected]și [email protected] calitatea clasamentului este evaluată pentru un singur obiect (utilizator, interogare de căutare). În practică, există multe obiecte: avem de-a face cu sute de mii de utilizatori, milioane de interogări de căutare și așa mai departe. Idee [email protected] este de a calcula [email protected] pentru fiecare obiect și medie:

Notă: această idee este destul de logică, presupunând că toți utilizatorii sunt la fel de necesari și la fel de importanți. Dacă nu este cazul, atunci în loc de o medie simplă, puteți folosi una ponderată, înmulțind [email protected] fiecare obiect prin greutatea lui „de importanță” corespunzătoare.

Câștig cumulativ cu reducere normalizat

Câștig cumulat normalizat redus (nDCG) este o altă măsură comună privind calitatea clasamentului. Ca și în cazul cu [email protected] Să începem cu elementele de bază.

Câștig cumulativ la K

Luați în considerare din nou un obiect și elementele cu cel mai mare . Câștigul cumulat la K ( [email protected]) - o măsurătoare de clasare de bază care utilizează o idee simplă: cu cât elementele din acest top sunt mai relevante, cu atât mai bine:

Această metrică are dezavantaje evidente: nu este normalizată și nu ține cont de poziția elementelor relevante.

Rețineți că, spre deosebire de [email protected], [email protected] poate fi folosit și în cazul valorilor de relevanță de referință nebinare.

Câștig cumulativ redus la K

Câștigul cumulat redus la K ( [email protected]) - modificarea câștigului cumulat la K, ținând cont de ordinea elementelor din listă prin înmulțirea relevanței elementului cu ponderea egală cu logaritmul invers al numărului de poziție:

Notă: dacă ia doar valorile 0 și 1, atunci, iar formula ia o formă mai simplă:

Utilizarea logaritmului ca funcție de reducere poate fi explicată prin următoarele considerații intuitive: în ceea ce privește clasarea, pozițiile de la începutul listei diferă mult mai mult decât pozițiile de la sfârșitul acesteia. Deci, în cazul unui motor de căutare, există o întreagă prăpastie între pozițiile 1 și 11 (doar în câteva cazuri dintr-o sută utilizatorul trece dincolo de prima pagină a rezultatelor căutării), și nu există mare diferență între pozițiile 101 și 111 - puțini oameni ajung la ele. Aceste considerații subiective sunt frumos exprimate folosind logaritmul:

Câștigul cumulat redus rezolvă problema luării în considerare a poziției elementelor relevante, dar doar agravează problema cu lipsa de normalizare: dacă variază în , atunci ia deja valori pe un segment care nu este complet clar. Următoarea măsurătoare este concepută pentru a rezolva această problemă.

Câștigul cumulativ redus normalizat la K

După cum puteți ghici din titlu, câștig cumulat normalizat actualizat la K ( [email protected]) - nimic altceva decât o versiune normalizată [email protected]:

unde este valoarea maximă (I - ideală) a lui . Din moment ce am fost de acord că ia valori în , atunci .

Astfel, moștenește din luarea în considerare a poziției elementelor din listă și, în același timp, ia valori în intervalul de la 0 la 1.

Notă: Similar cu [email protected] poate fi calculat, mediat pentru toate obiectele.

rang reciproc mediu

rang reciproc mediu (MRR) este o altă valoare a calității clasamentului folosită în mod obișnuit. Este dat de următoarea formulă:

Unde - rang reciproc pentru al --lea obiect - o valoare foarte simplă în esenţa sa, egală cu ordinea inversă a primului element ghicit corect.

Rangul reciproc mediu variază în interval și ia în considerare poziția elementelor. Din păcate, el face acest lucru doar pentru un element - primul prezis corect, ignorând toate cele ulterioare.

Valori bazate pe corelarea rangului

Separat, merită evidențiate metricile de calitate a clasamentului pe baza unuia dintre coeficienți corelație de rang. În statistică, coeficientul de corelație a rangului este un coeficient de corelație care nu ia în considerare valorile în sine, ci doar rangul (ordinea). Luați în considerare cei mai comuni doi coeficienți de corelație de rang: coeficienții Spearman și Kendall.

Coeficientul de corelare a rangului lui Kendall

Primul dintre acestea este coeficientul de corelație Kendall, care se bazează pe numărarea potrivirii
(și inconsecvente) perechi de permutări - perechi de elemente cărora permutările le-au atribuit aceeași ordine (diferită):

Coeficientul de corelare a rangului lui Spearman

Al doilea - coeficientul de corelare a rangului lui Spearman - nu este în esență altceva decât corelația lui Pearson calculată pe valorile rangului. Există o formulă destul de convenabilă care o exprimă direct din rânduri:

unde este coeficientul de corelație Pearson.

Metricile bazate pe corelarea rangului au un dezavantaj pe care îl știm deja: nu țin cont de poziția elementelor (chiar mai rău decât [email protected], deoarece corelația se calculează asupra tuturor elementelor și nu asupra celor K elemente cu cel mai mare rang). Prin urmare, ele sunt rareori utilizate în practică.

Metrici bazate pe modelul de comportament al cascadei

Până în acest punct, nu am aprofundat în modul în care utilizatorul (mai târziu vom lua în considerare un caz special al obiectului - utilizatorul) examinează elementele care i se oferă. De fapt, am făcut implicit presupunerea că vizualizarea fiecărui element independent din vederi ale altor elemente – un fel de „naivitate”. În practică, elementele sunt adesea vizualizate de utilizator pe rând, iar dacă utilizatorul vede următorul element depinde de satisfacția sa față de cele precedente. Luați în considerare un exemplu: ca răspuns la o interogare de căutare, algoritmul de clasare a oferit utilizatorului mai multe documente. Dacă documentele din pozițiile 1 și 2 sunt extrem de relevante, atunci probabilitatea ca utilizatorul să vadă documentul în poziția 3 este scăzută, deoarece va fi destul de mulțumit de primele două.

Modele similare de comportament al utilizatorului, unde studiul elementelor oferite acestuia are loc secvenţial, iar probabilitatea de vizualizare a elementului depinde de relevanţa celor anterioare. în cascadă.

Rang reciproc așteptat

Clasament reciproc așteptat (ERR) este un exemplu de măsurare a calității clasamentului bazată pe un model în cascadă. Este dat de următoarea formulă:

unde rangul este înțeles în ordine descrescătoare. Cel mai interesant lucru despre această măsurătoare sunt probabilitățile. La calcularea acestora, se folosesc ipotezele modelului în cascadă:

unde este probabilitatea ca utilizatorul să fie mulțumit de obiectul cu rang . Aceste probabilități sunt calculate pe baza valorilor lui . Deoarece în cazul nostru, putem lua în considerare o opțiune simplă:

care poate fi citit ca: adevărata relevanță a articolului în poziție În sfârșit, iată câteva link-uri utile.

Pe elementele din fiecare listă. Ordinea parțială este de obicei dată prin specificarea unui punctaj pentru fiecare item (de exemplu, „relevant” sau „nerelevant”; sunt posibile mai mult de două gradații). Scopul unui model de clasare este de a aproxima și generaliza cel mai bine (într-un anumit sens) modul în care clasamentele din setul de antrenament se potrivesc cu noile date.

Învățarea ierarhică este încă un domeniu de cercetare destul de tânăr, în dezvoltare rapidă, care a apărut în anii 2000 odată cu apariția interesului în domeniul regăsării informațiilor în aplicarea metodelor de învățare automată la problemele de ierarhizare.

YouTube enciclopedic

  • 1 / 5

    În timpul antrenării modelului de clasare și în timpul funcționării acestuia, fiecare pereche document-cerere este tradusă într-un vector numeric de caracteristici de clasare (numite și factori de clasare sau semnale) care caracterizează proprietățile documentului, interogarea și relația lor. Aceste semne pot fi împărțite în trei grupuri:

    Următoarele sunt câteva exemple de caracteristici de clasare utilizate în binecunoscutul set de date LETOR în domeniu:

    • Valorile măsurilor TF, TF-IDF, BM25 și modelul de limbă de potrivire a cererii diferitelor zone de document (titlu, URL, textul corpului, textul linkului);
    • Lungimile și sumele IDF ale zonelor de documente;
    • Clasamentele documentelor obținute prin diferite variații ale algoritmilor de clasificare a linkurilor, cum ar fi PageRank și HITS.

    Clasificarea valorilor de calitate

    Există mai multe valori care evaluează și compară performanța algoritmilor de clasare pe un eșantion cu evaluările de la colegi. Adesea parametrii modelului de clasare tind să fie ajustați în așa fel încât să maximizeze valoarea uneia dintre aceste metrici.

    Exemple de valori:

    Clasificarea algoritmilor

    În articolul său „Learning to Rank for Information Retrieval” și discursurile la conferințe tematice, Tai-Yan Liu de la Microsoft Research Asia a analizat metodele disponibile în prezent pentru rezolvarea problemei de a învăța să ierarhească și a propus clasificarea lor în trei abordări, în funcție de intrarea reprezentarea datelor utilizate și funcția bine:

    Abordare punctual

    Note

    1. Tie Yan Liu (2009) Învățarea să clasamentul pentru Recuperarea informației, Fundamente și tendințe în regăsirea informațiilor: Vol. 3: nr. 3, p. 225-331, ISBN 978-1-60198-244-5 , DOI 10.1561/1500000016. Sunt disponibile diapozitive din discursul lui T. Lew la conferința WWW 2009.

    Hei Habr!

    În sarcinile de învățare automată, metricile sunt folosite pentru a evalua calitatea modelelor și a compara diferiți algoritmi, iar selecția și analiza lor este o parte indispensabilă a muncii unui cercetător de date.

    În acest articol, vom analiza câteva criterii de calitate în problemele de clasificare, vom discuta despre ce este important atunci când alegem o metrică și ce poate merge prost.

    Metrica în probleme de clasificare

    Pentru a demonstra caracteristici utile sklearnși o reprezentare vizuală a valorilor, vom folosi setul de date privind ratarea clienților al operatorului nostru de telecomunicații, pe care l-am întâlnit în primul articol al cursului.

    Descărcați bibliotecile necesare și priviți datele

    Import panda ca pd import matplotlib.pyplot ca plt din matplotlib.pylab import rc, plot import seaborn ca sns din sklearn.preprocessing import LabelEncoder, OneHotEncoder din sklearn.model_selection import cross_val_score din sklearn.linear_modelstingimportsklearn. din sklearn.metrics import precision_recall_curve, classification_report din sklearn.model_selection import train_test_split df = pd.read_csv("../../data/telecom_churn.csv")

    Df.head(5)

    Preprocesarea datelor

    # Hartați coloanele binare # și codificați inactiv starea (pentru simplitate, este mai bine să nu faceți acest lucru pentru modelele din lemn) d = ("Da" : 1, "Nu" : 0) df["Plan internațional"] = df [" Plan internațional"].map(d) df["Voice mail plan"] = df["Voice mail plan"].map(d) df["Churn"] = df["Churn"].astype(" int64" ) le = LabelEncoder() df["State"] = le.fit_transform(df["State"]) ohe = OneHotEncoder(sparse=False) encoded_state = ohe.fit_transform(df["State"].values.reshape (- 1, 1)) tmp = pd.DataFrame(coded_state, columns=["state " + str(i) pentru i în interval(encoded_state.shape)]) df = pd.concat(, axis=1)

    Acuratețe, precizie și reamintire

    Înainte de a trece la valorile în sine, trebuie introdus un concept important pentru a descrie aceste metrici în termeni de erori de clasificare - matricea de confuzie(matricea erorilor).
    Să presupunem că avem două clase și un algoritm care prezice dacă fiecare obiect aparține uneia dintre clase, atunci matricea erorilor de clasificare va arăta astfel:

    Adevărat pozitiv (TP) fals pozitiv (FP)
    fals negativ (FN) Adevărat negativ (TN)

    este răspunsul algoritmului asupra obiectului și

    Eticheta adevărată a clasei de pe acest obiect.
    Astfel, există două tipuri de erori de clasificare: fals negativ (FN) și fals pozitiv (FP).

    Antrenamentul algoritmului și construcția matricei de eroare

    X = df.drop("Churn", axa=1) y = df["Churn"] # Împărțiți eșantionul în tren și test, toate valorile vor fi evaluate pe setul de date de testare X_train, X_test, y_train, y_test = train_test_split( X, y , stratify=y, test_size=0.33, random_state=42) # Antrenează regresia logistică nativă lr = LogisticRegression(random_state=42) lr.fit(X_train, y_train) # Utilizați funcția pentru a construi matricea de erori din sklearn documentație def plot_confusion_matrix(cm, classes , normalize=False, title="(!LANG:Confusion matrix)", cmap=plt.cm.Blues): """ This function prints and plots the confusion matrix. Normalization can be applied by setting `normalize=True`. """ plt.imshow(cm, interpolation="nearest", cmap=cmap) plt.title(title) plt.colorbar() tick_marks = np.arange(len(classes)) plt.xticks(tick_marks, classes, rotation=45) plt.yticks(tick_marks, classes) if normalize: cm = cm.astype("float") / cm.sum(axis=1)[:, np.newaxis] print("Normalized confusion matrix") else: print("Confusion matrix, without normalization") print(cm) thresh = cm.max() / 2. for i, j in itertools.product(range(cm.shape), range(cm.shape)): plt.text(j, i, cm, horizontalalignment="center", color="white" if cm > thresh else "black") plt.tight_layout() plt.ylabel("True label") plt.xlabel("Predicted label") font = {"size" : 15} plt.rc("font", **font) cnf_matrix = confusion_matrix(y_test, lr.predict(X_test)) plt.figure(figsize=(10, 8)) plot_confusion_matrix(cnf_matrix, classes=["Non-churned", "Churned"], title="Matricea confuziei") plt.savefig("conf_matrix.png") plt.show()!}

    Precizie

    O metrică intuitivă, evidentă și aproape neutilizată este acuratețea - procentul de răspunsuri corecte ale algoritmului:

    Această măsurătoare este inutilă în problemele cu clase inegale și este ușor de arătat cu un exemplu.

    Să presupunem că vrem să evaluăm performanța unui filtru de spam de e-mail. Avem 100 de e-mailuri non-spam, 90 dintre care clasificatorul nostru a determinat corect (Adevărat Negativ = 90, Fals Pozitiv = 10) și 10 e-mail-uri spam, dintre care 5 au fost, de asemenea, determinate corect de către clasificator (Adevărat Pozitiv = 5, Fals Negativ = 5).
    Apoi precizia:

    Cu toate acestea, dacă doar prezicem toate e-mailurile ca non-spam, obținem o precizie mai mare:

    În același timp, modelul nostru nu are deloc putere de predicție, deoarece inițial ne-am dorit să identificăm e-mailurile spam. Trecerea de la o metrică comună pentru toate clasele la indicatori individuali ai calității clasei ne va ajuta să depășim acest lucru.

    Precizie, rechemare și măsură F

    Pentru a evalua calitatea algoritmului pe fiecare dintre clase separat, introducem precizia (acuratețea) și rechemarea (completitudinea) metricii.

    Precizia poate fi interpretată ca proporția de obiecte numite pozitive de către clasificator și, în același timp, sunt cu adevărat pozitive, iar reamintirea arată ce proporție de obiecte dintr-o clasă pozitivă din toate obiectele unei clase pozitive a găsit algoritmul.

    Este introducerea preciziei care nu ne permite să scriem toate obiectele într-o singură clasă, deoarece în acest caz obținem o creștere a nivelului fals pozitiv. Recall demonstrează capacitatea algoritmului de a detecta o anumită clasă, în timp ce precizia demonstrează capacitatea de a distinge această clasă de alte clase.

    După cum am observat mai devreme, există două tipuri de erori de clasificare: fals pozitiv și fals negativ. În statistică, primul tip de eroare se numește eroare de tip I, iar al doilea tip se numește eroare de tip II. În sarcina noastră de a determina fluxul de abonați, eroarea de primul fel va fi greșeala unui abonat loial cu unul care ieși, deoarece ipoteza noastră nulă este că niciunul dintre abonați nu iese și respingem această ipoteză. În consecință, o eroare de al doilea fel va fi „pasarea” abonatului care iese și acceptarea eronată a ipotezei nule.

    Precizia și rechemarea nu depind, spre deosebire de acuratețe, de raportul dintre clase și, prin urmare, sunt aplicabile în condiții de eșantioane dezechilibrate.
    Adesea, în practica reală, sarcina este de a găsi echilibrul optim (pentru client) între aceste două metrici. Un exemplu clasic este problema determinării fluxului de clienți.
    Este clar că nu putem găsi toate agitarea clienţilor şi numai al lor. Dar după ce am determinat strategia și resursa pentru reținerea clienților, putem selecta pragurile necesare pentru precizie și rechemare. De exemplu, ne putem concentra pe păstrarea doar a clienților cu marjă ridicată sau a celor care au șanse mai mari să abandoneze, deoarece suntem limitați de resursele centrului de apeluri.

    De obicei, la optimizarea hiperparametrilor unui algoritm (de exemplu, în cazul iterării peste o grilă GridSearchCV) folosește o măsurătoare, a cărei îmbunătățire ne așteptăm să o vedem pe eșantionul de testare.
    Există mai multe moduri diferite de a combina precizia și rechemarea într-o măsură agregată a calității. Măsura F (în general

    ) - precizie medie armonică și reamintire:

    în acest caz determină ponderea preciziei în metrică și, când

    aceasta este media armonică (cu un factor de 2, astfel încât în ​​cazul preciziei = 1 și recall = 1 avem

    )
    Măsura F atinge maximul la rechemare și precizia egală cu unu și este aproape de zero dacă unul dintre argumente este aproape de zero.
    sklearn are o funcție la îndemână _metrics.clasification raport care returnează rechemarea, precizia și măsura F pentru fiecare dintre clase, precum și numărul de instanțe ale fiecărei clase.

    Raport = classification_report(y_test, lr.predict(X_test), target_names="["Non-churned", "Churned")]) print(raport)

    clasă precizie reamintire scor f1 a sustine
    Nerăspuns 0.88 0.97 0.93 941
    Barotat 0.60 0.25 0.35 159
    medie/total 0.84 0.87 0.84 1100

    Trebuie remarcat aici că în cazul sarcinilor cu clase dezechilibrate care predomină în practica reală, este adesea necesar să se recurgă la tehnici de modificare artificială a setului de date pentru a egaliza raportul dintre clase. Sunt multe dintre ele și nu le vom atinge, poți să te uiți la câteva metode și să o alegi pe cea care se potrivește sarcinii tale.

    AUC-ROC și AUC-PR

    Când convertim răspunsul real al algoritmului (de obicei, probabilitatea de a face parte dintr-o clasă, vezi SVM separat) într-o etichetă binară, trebuie să alegem un prag la care 0 devine 1. Un prag de 0,5 pare natural și apropiat, dar este nu întotdeauna se dovedește a fi optim, de exemplu, în lipsa de echilibru de clasă menționată mai sus.

    O modalitate de a evalua modelul ca întreg, fără a fi legat de un anumit prag, este AUC-ROC (sau ROC AUC) - zonă ( A rea U nder C urve) sub curba de eroare ( R receptor O perating C curbă caracteristică). Această curbă este o linie de la (0,0) la (1,1) în coordonate Rata pozitivă adevărată (TPR) și Rata pozitivă falsă (FPR):

    Știm deja TPR, aceasta este completitudine, iar FPR arată ce proporție de obiecte din clasa negativă a prezis incorect algoritmul. În cazul ideal, când clasificatorul nu face erori (FPR = 0, TPR = 1), vom obține aria de sub curbă egală cu unu, altfel, când clasificatorul produce aleatoriu probabilități de clasă, AUC-ROC va tinde să 0,5, deoarece clasificatorul va emite aceeași cantitate de TP și FP.
    Fiecare punct din grafic corespunde alegerii unui anumit prag. Zona de sub curbă în acest caz arată calitatea algoritmului (mai mult este mai bine), în plus, abrupta curbei în sine este importantă - dorim să maximizăm TPR în timp ce minimizăm FPR, ceea ce înseamnă că, în mod ideal, curba noastră ar trebui să tindă să punctul (0,1).

    Codul de desen al curbei ROC

    sns.set(font_scale=1.5) sns.set_color_codes("muted") plt.figure(figsize=(10, 8)) fpr, tpr, thresholds = roc_curve(y_test, lr.predict_proba(X_test)[:,1], pos_label=1) lw = 2 plt.plot(fpr, tpr, lw=lw, label="curba ROC") plt.plot(, ) plt.xlim() plt.ylim() plt.xlabel("Rata fals pozitivă ") plt.ylabel("Rata pozitivă adevărată") plt.title("curba ROC") plt.savefig("ROC.png") plt.show()

    Criteriul AUC-ROC este rezistent la clasele dezechilibrate (spoiler: din păcate, nu totul este atât de simplu) și poate fi interpretat ca probabilitatea ca un obiect pozitiv selectat aleatoriu să fie clasat mai sus de către clasificator (va avea o probabilitate mai mare de a fi pozitiv) decât un obiect negativ selectat aleatoriu.

    Luați în considerare următoarea problemă: trebuie să selectăm 100 de documente relevante din 1 milion de documente. Avem doi algoritmi învățați automat:

    • Algoritmul 1 returnează 100 de documente, dintre care 90 sunt relevante. În acest fel,
    • Algoritmul 2 returnează 2000 de documente, dintre care 90 sunt relevante. În acest fel,

    Cel mai probabil, am alege primul algoritm, care produce foarte puține False Pozitive în comparație cu concurentul său. Dar diferența de rata fals pozitive dintre acești doi algoritmi extrem mic - doar 0,0019. Aceasta este o consecință a faptului că AUC-ROC măsoară proporția fals pozitiv în raport cu adevăratul negativ, iar în sarcinile în care a doua clasă (mai mare) nu este atât de importantă pentru noi, este posibil să nu ofere o imagine complet adecvată atunci când comparăm algoritmi. .

    Pentru a corecta situația, să revenim la completitudine și acuratețe:

    • Algoritmul 1
    • Algoritmul 2

    Există deja o diferență semnificativă între cei doi algoritmi - 0,855 în precizie!

    Precizia și retragerea sunt, de asemenea, folosite pentru a trasa curba și, similar cu AUC-ROC, pentru a găsi aria de sub ea.

    Se poate observa aici că pe seturi de date mici, aria de sub curba PR poate fi prea optimistă, deoarece este calculată folosind metoda trapezoidală, dar de obicei există suficiente date în astfel de sarcini. Pentru detalii despre relația dintre AUC-ROC și AUC-PR, vezi aici.

    Pierdere logistică

    Deosebirea este funcția de pierdere logistică, definită ca:

    este răspunsul algoritmului la

    ohm obiect,

    adevărata etichetă de clasă activată

    obiect ohm și

    marime de mostra.

    Detalii despre interpretarea matematică a funcției de pierdere logistică au fost deja scrise în postarea despre modelele liniare.
    Această măsurătoare nu apare adesea în cerințele de afaceri, dar adesea în sarcinile de tip kaggle.
    Intuitiv, se poate gândi la minimizarea logloss ca o problemă de maximizare a preciziei prin penalizarea previziunilor greșite. Cu toate acestea, trebuie remarcat faptul că logloss penalizează sever încrederea clasificatorului în răspunsul greșit.

    Luați în considerare un exemplu:

    Def logloss_crutch(y_true, y_pred, eps=1e-15): return - (y_true * np.log(y_pred) + (1 - y_true) * np.log(1 - y_pred)) print("Logloss cu clasificare incertă %f " % logloss_crutch(1, 0,5)) >> Logloss cu clasificare incertă 0,693147 print("Logloss cu clasificare sigură și răspuns corect %f" % logloss_crutch(1, 0,9)) >> Logloss cu clasificare sigură și răspuns corect 0,105361 print(" Logloss pentru clasificare sigură și răspuns greșit %f" % logloss_crutch(1, 0.1)) >> Logloss pentru clasificare sigură și răspuns greșit 2.302585

    Observați cât de mult a crescut logloss cu un răspuns greșit și o clasificare sigură!
    Prin urmare, eroarea pe un obiect poate da o deteriorare semnificativă a erorii generale pe eșantion. Astfel de obiecte sunt adesea valori aberante care trebuie reținute pentru a fi filtrate sau luate în considerare separat.
    Totul cade la locul său dacă desenați un grafic logloss:

    Se poate observa că cu cât răspunsul algoritmului pentru adevărul terenului = 1 este mai aproape de zero, cu atât valoarea erorii este mai mare și curba crește mai abruptă.

    Rezumând:

    • În cazul clasificării cu mai multe clase, trebuie să monitorizați cu atenție metricile fiecărei clase și să urmați logica soluției sarcini, mai degrabă decât optimizarea valorii
    • În cazul claselor inegale, este necesar să se selecteze un echilibru de clase pentru formare și o metrică care să reflecte corect calitatea clasificării
    • Alegerea metricii ar trebui să se facă cu accent pe domeniul subiectului, preprocesarea datelor și, eventual, segmentarea (ca și în cazul împărțirii în clienți bogați și săraci)

    Link-uri utile

    1. Curs de Evgeny Sokolov: Seminar privind alegerea modelelor (există informații despre metrica problemelor de regresie)
    2. Probleme pentru AUC-ROC de A.G. Dyakonova
    3. Puteți citi mai multe despre alte valori pe kaggle. Un link către competiția în care a fost folosit a fost adăugat la descrierea fiecărei valori
    4. Prezentare de Bogdan Melnyk aka ld86 despre învățarea pe mostre neechilibrate

    UDC 519.816

    S. V. SEMENIKHIN L. A. DENISOVA

    Universitatea Tehnică de Stat din Omsk

    METODA DE ÎNVĂŢAREA MAŞINILOR PENTRU CLASSARE

    BAZAT PE UN ALGORITM GENETIC MODIFICAT PENTRU METRICA URCO

    Sunt luate în considerare problema clasării documentelor pe pagina de rezultate ale căutării de informații și problemele de clasare a învățării automate. Este propusă o abordare pentru optimizarea funcției de clasare folosind metrica calității LOCO bazată pe un algoritm genetic modificat. Algoritmii dezvoltați au fost studiați (pe colecții de teste ale LETO^) și a fost demonstrată eficiența lor pentru învățarea automată în clasament.

    Cuvinte cheie: regăsirea informațiilor, clasarea învățării automate, relevanță, optimizare, algoritmi genetici.

    1. Introducere. În sistemele moderne de recuperare a informațiilor (IRS), volumul de date pe care operează sistemul este atât de mare încât sarcina cheie este de a clasifica documentele relevante ca răspuns la interogarea de căutare a unui utilizator. În această etapă a dezvoltării IPS, învățarea automată (ML) pentru clasare este de cel mai mare interes. Abordările existente ale ML bazate pe metode numerice (în special, pe metode de gradient) sau pe calcule analitice au o serie de deficiențe care afectează semnificativ calitatea regăsirii informațiilor și timpul necesar pentru ierarhizarea documentelor relevante.

    La începutul cercetării, s-au luat în considerare abordări pe listă pentru clasarea învățării automate, majoritatea utilizând metoda coborârii gradientului. În lucrările luate în considerare, ML se reduce la optimizarea parametrilor de calitate a căutării (QM), dar sunt folosite doar metrici reprezentate de funcții continue. Această limitare duce adesea la faptul că, ca urmare a optimizării, funcția de clasare are scoruri mai mici pentru mulți indicatori importanți acceptați (DCG, nDCG, Graded Mean Reciprocal Rank etc.), care sunt funcții discrete. Lucrarea propune utilizarea algoritmilor genetici (GA) în învățarea de ierarhizare pentru a minimiza funcția de pierdere Huber folosind estimări ale relevanței experților ca valori de referință. De asemenea, a fost propusă o abordare a ML bazată pe optimizarea valorilor discrete de calitate a regăsării informațiilor.

    2. Enunțarea problemei clasamentului învățării automate. În majoritatea sistemelor moderne de regăsire a informațiilor, funcția de clasare este construită pe baza a n funcții simple de clasificare (PRF) și poate fi scrisă ca:

    unde SRF¡ este a ¡a-a funcție simplă de clasare pentru documentul d și interogarea d, WCi este factorul de ponderare al ¡a-a funcție de clasare simplă, n este numărul de FRP din sistemul de clasare.

    În cursul învățării automate pentru clasare, a fost utilizat un set de documente de căutare B și interogări O din colecția de teste LBTOT. Pentru toate cererile deO, se formează o pereche cu fiecare document deD. Pentru fiecare astfel de pereche, IPS determină valorile de relevanță care sunt utilizate pentru a clasifica SERP. Pentru a evalua calitatea clasamentului, sistemul are nevoie de valori de referință de relevanță E pentru fiecare pereche de document-cerere t, e). În aceste scopuri, sunt utilizate evaluări ale relevanței experților.

    Pentru studiu a fost utilizat un IPS, în care clasamentul se bazează pe N = 5 funcții simple de clasare SRFi(WC)l r = 1, N, care formează un criteriu de optimitate vectorială:

    unde WCе (WC) - vector de parametri variabili; (SHS), (YB) sunt spațiile parametrilor și, respectiv, criteriile vectoriale.

    Utilizarea algoritmilor genetici pentru clasarea MO face posibilă maximizarea unor metrici de calitate discrete, cum ar fi nDCG. Valoarea nDCG pentru clasarea documentelor într-un motor de căutare este determinată în conformitate cu expresia:

    DCG@n=X2---

    RF(q, d)=XWC. ■ SRF., i=1 1 1

    unde nota(p) este scorul mediu de relevanță alocat de experți documentului la poziția p din lista de rezultate, nota ; 1/log2(2 + p) - coeficient în funcție de pozițiile documentului (primele documente au mai multă greutate).

    Apoi versiunea normalizată a NDCG va fi scrisă în formular

    N000 @ n = RSD @ n / r,

    unde r este factorul de normalizare, care este egal cu valoarea maximă posibilă a 0C [email protected] n pentru interogarea dată (adică este egal cu OOO al clasamentului ideal).

    Astfel, pentru a optimiza (maximiza) metricile SFR, funcția obiectiv (JM) se va scrie în următoarea formă

    3. Măsuri de calitate pentru clasarea rezultatelor căutării. Când se clasifică documentele în rezultatele căutării, valorile de calitate acționează ca criterii. Din lista de metrici general acceptate pentru evaluarea calității sistemelor de regăsire a informațiilor, au fost selectate trei principale care evaluează acuratețea, relevanța și caracterul complet al regăsirii informațiilor.

    1. Criteriul de acuratețe pentru regăsirea informațiilor

    unde a este numărul de documente relevante găsite, b este numărul de documente confundate cu relevante.

    2. Criteriul Bpref, care evaluează relevanța regăsirii informațiilor, este utilizat pentru a procesa o sarcină cu R documente relevante și este calculat prin formula

    Bpref = - ^ (1 - Non Re ¡Înainte(r)/ R). (4)

    Aici, r denotă un document relevant cunoscut, iar NonRelBefore(r) este numărul de documente irelevante cunoscute clasate mai sus decât r (doar primele documente irelevante evaluate din rundă sunt luate în considerare în calcul).

    3. Criteriul de completitudine a rezultatelor căutării

    r = a / (a ​​+ c),

    unde a este numărul de documente relevante găsite, c este numărul de documente relevante negăsite.

    4. Testați colecțiile. Într-o sarcină de învățare automată, clasarea necesită un set de documente și interogări cu scorurile de relevanță corespunzătoare determinate de experți. Aceste date sunt utilizate pentru învățarea automată a funcției de clasare, precum și pentru evaluarea calității.

    clasarea rezultatelor căutării de către sistem. În procesul ML, colecțiile de teste sunt folosite ca set de antrenament și, prin urmare, au un impact semnificativ asupra rezultatelor. Pentru cercetare a fost folosită o colecție de teste de documente și interogări LETOR. Această colecție este utilizată în cercetarea de regăsire a informațiilor de către Microsoft Research. În tabel. 1 prezintă caracteristicile colecțiilor de teste LETOR.

    5. Algoritm genetic modificat. Pentru a utiliza algoritmi genetici în învățarea automată pentru clasare, problema trebuie formulată în așa fel încât soluția să fie codificată ca vector (genotip), unde fiecare genă poate fi un bit, un număr sau un alt obiect. În acest caz, genotipul este reprezentat de un vector de ponderi pentru factorii de ierarhizare respectivi. Condiția pentru oprirea execuției algoritmului genetic este găsirea soluției optime, epuizarea numărului de generații sau a timpului alocat evoluției.

    Trebuie remarcat faptul că GA sunt cele mai eficiente în găsirea zonei extremum globale, cu toate acestea, pot fi lente atunci când este necesar să se găsească un minim local în această zonă. Modul propus de a evita acest neajuns este de a crea un algoritm genetic modificat (MGA) care va trece la un algoritm de optimizare local (rapid) după găsirea zonei optime globale folosind GA de bază. MGA propusă în lucrare este o metodă hibridă bazată pe GA clasică și metoda Nelder-Mead (algoritm simplex). Metoda Nelder-Mead, un algoritm de optimizare neliniar utilizat în mod obișnuit, este o metodă numerică pentru găsirea minimului unei funcții obiectiv într-un spațiu multidimensional. Algoritmul hibrid MGA propus în această lucrare trece la metoda Nelder-Mead după ce sunt îndeplinite condițiile de oprire a GA. Schema bloc a algoritmului MGA este prezentată în fig. unu.

    La efectuarea cercetărilor s-a adoptat o limită a numărului de calcule ale funcției obiective (Nrf = 16.000) la căutarea unei zone extreme globale și o condiție pentru trecerea la un algoritm de optimizare local bazat pe metoda Nelder-Mead (după algoritmul genetic de bază). efectuează 75% din operațiunile Nrf).

    6. Rezultate. Ca rezultat al cercetărilor efectuate cu ajutorul algoritmului de învățare automată

    tabelul 1

    Numărul de documente și interogări din colecțiile de testare

    Numele colecției de teste Nume subsistem Număr de interogări Număr de documente

    LETOR 4.0 MQ2007 1692 69623

    LETOR 4.0 MQ2008 784 15211

    LETOR 3.0 OHSUMED 106 16140

    LETOR 3.0 Gov03td 50 49058

    LETOR 3.0 Gov03np 150 148657

    LETOR 3.0 Gov03hp 150 147606

    LETOR 3.0 Gov04td 75 74146

    LETOR 3.0 Gov04np 75 73834

    LETOR 3.0 Gov04hp 75 74409

    Orez. 1. Diagrama bloc a algoritmului hibrid MVL bazat pe algoritmi genetici și metoda Nelder-Mead

    Clasamentul LTR-MGA a primit un vector de coeficienți de greutate WC* pentru funcția de clasare. În continuare, pe baza datelor din colecția de teste LETOY, a fost evaluată calitatea clasamentului, pentru care s-au calculat metrici de calitate. Valoare discretă a calității clasamentului [email protected] evaluează calitatea primelor n documente ale răspunsului sistemului. Valorile general acceptate pentru evaluarea calității unui clasament sunt [email protected], [email protected]și [email protected] Cu toate acestea, pentru o examinare mai detaliată a modificărilor în metrica în funcție de valori au fost luate în considerare [email protected] pentru toți n de la 1 la 10. Pentru a compara eficacitatea algoritmului dezvoltat cu soluțiile existente, a fost efectuată o analiză comparativă folosind algoritmii de clasificare furnizați în colecțiile LETOM 3.0. Rezultatele executării algoritmilor pentru colecțiile de teste TB2003 și TB2004 pentru metrica NDCG sunt prezentate în fig. 2. Rezultatele arată că algoritmul LTR-MGA depășește algoritmii de testare, cele mai mari valori având

    sunt pentru [email protected](la nivelul primului document). Superioritatea algoritmului LTR-MGA se datorează faptului că, spre deosebire de funcțiile de clasare a testelor luate în considerare în experimente, în abordarea propusă pentru optimizarea funcției de clasare, metrica NDCG este cea care este utilizată ca funcție obiectiv.

    Pentru a evalua calitatea clasamentului la utilizarea algoritmului LTR-MGA propus, au fost calculate valorile metricilor de calitate pentru clasarea documentelor în rezultatele căutării (Fig. 3). Compararea rezultatelor clasamentului (Tabelul 2) folosind funcția de clasare de bază, algoritmul de bază LTR-GA și algoritmul LTR-MGA modificat indică avantajul celui din urmă.

    În plus, studiul a efectuat o estimare a timpului necesar pentru clasarea MO. Acest lucru este necesar pentru a confirma că metoda LTR-MGA propusă este superioară în acest indicator față de abordarea bazată pe utilizarea tradițională.

    Orez. 2. Compararea algoritmilor de învățare automată pentru clasare

    după valoarea NDCG pentru colecțiile de testare: în stânga - setul de date Gov03td, în dreapta - setul de date Gov04td

    Orez. 3. Evaluarea parametrilor de calitate a clasamentului pentru formula de bază de clasare și algoritmii de învățare LTR-GA și LTR-MGA

    Metrici de calitate a clasamentului pentru diferiți algoritmi de învățare automată de clasare

    masa 2

    Valoarea metrică a calității Funcție de bază de clasare LTR-GA LTR-MGA Creștere metrică, %

    Precizie 0,201 0,251 0,267 26,81

    [email protected](primele 5 documente) 0,149 0,31 0,339 90,47

    [email protected](primele 10 documente) 0,265 0,342 0,362 29,14

    Bpref 0,303 0,316 0,446 51,49

    Completitudine 0,524 0,542 0,732 39,03

    * Cele mai bune valori pentru metrica corespunzătoare sunt evidențiate cu gri

    algoritm genetic (NTL-OL). Rezultatele comparării timpului petrecut pentru execuția algoritmilor LTN-OL și LTN-MOL sunt prezentate în tabel. 3.

    7. Concluzie. Astfel, studiile efectuate au arătat că, atunci când se utilizează abordarea propusă, valorile metricilor de clasare considerate în IRS cresc (în medie cu 19,55% față de algoritmul LTR-OL). Acest lucru confirmă că LTR-MOL funcționează corect și îmbunătățește semnificativ funcția de clasare, cu alte cuvinte, rezolvă cu succes problema de optimizare. Cu un algoritm modificat

    datorită aplicării metodei de optimizare locală și a restricțiilor introduse privind numărul de calcul al funcției obiectiv, timpul de învățare automată a scăzut (în medie cu 17,71% față de utilizarea algoritmului genetic tradițional LTNOL).

    Algoritmul dezvoltat de învățare automată pentru clasarea LTN-MOL poate fi utilizat în IS-uri folosind un model de clasare bazat pe o combinație de funcții de clasare simple. Cu toate acestea, ar trebui luate în considerare unele limitări ale abordării propuse. Bazat

    Estimarea timpului de execuție a clasamentului de învățare automată în funcție de dimensiunea eșantionului de instruire

    Tabelul 3

    Dimensiunea colecției textului documentului

    Runtime LTR-GA

    Runtime LTR-MGA

    Scăderea timpului de execuție, %

    Rău

    * Cele mai bune valori pentru dimensiunea respectivă a colecției de teste sunt evidențiate cu gri.

    rezultate obținute, s-a relevat că după MO cea mai mare creștere este în metrica calității clasamentului, a cărei valoare a fost luată ca funcție țintă. În același timp, este posibil ca alte valori să nu aibă o îmbunătățire semnificativă și, în unele cazuri, chiar să le înrăutățească valorile. Ca una dintre posibilele abordări pentru a elimina acest neajuns, se presupune că trebuie să rezolve problema de optimizare ca una multi-obiectivă: îmbunătățirea uniformă a mai multor metrici principale de clasare a rezultatelor căutării, în loc să optimizeze una. În plus, în cercetările ulterioare, este planificată dezvoltarea unei metodologii pentru construirea unei funcții obiectiv bazată pe o convoluție liniară a principalelor metrici de calitate a clasamentului pentru a îmbunătăți procesul de regăsire a informațiilor.

    Lista bibliografică

    1. Tie-Yan Liu. Învățarea să clasificăm pentru regăsirea informațiilor // Fundamentele jurnalului și tendințele în regăsirea informațiilor. Vol. 3, numărul 3. martie 2009. P. 225-331.

    2. Christopher J. C. Burges, Tal Shaked, Erin Renshaw. Learning to Rank using Gradient Descent // Proceeding ICML "05 Proceedings of the 22nd international Conference on Machine Learning. 2005. P. 89-96.

    3. Semenikhin, S. V. Cercetare de abordări ale învățării automate pentru clasarea documentelor printr-un sistem de căutare bazat pe algoritmi genetici / S. V. Semenikhin // Rusia tânără: tehnologii avansate pentru industrie. - 2013. - Nr. 2. - S. 82 - 85.

    4. Optimizare multicriterială pe baza algoritmilor genetici în sinteza sistemelor de control: monografie. / L. A. Denisova. - Omsk: Editura OmGTU, 2014. - 170 p. - ISBN 978-5-8149-1822-2.

    5. Denisova, L. A. Automatizarea sintezei parametrice a unui sistem de control folosind un algoritm genetic / L. A. Denisova, V. A. Meshcheryakov // Automatizarea în industrie. - 2012. - Nr. 7. - S. 34 - 38.

    6. Huber, Peter J. Estimarea robustă a unui parametru de locație // Annals of Statistics. - 1964. - Nr. 53. - P. 73-101.

    7. Semenikhin, S. V. Automatizarea regăsirii informațiilor bazată pe optimizarea multicriterială și algoritmi genetici / S. V. Semenikhin, L. A. Denisova // Dinamica sistemelor, mecanismelor și mașinilor. - 2014. - Nr. 3. - S. 224 - 227.

    8. Tie-Yan Liu, Jun Xu, Tao Qin, Wenying Xiong și Hang Li. LETOR: Benchmark Dataset for Research on Learning to Rank for Information Retrieval // SIGIR 2007 Workshop on Learning to Rank for Information Retrieval. - 2007. - S. 3-10.

    9. Ageev, M. S. Măsuri oficiale R0MIP „2004 / M. S. Ageev, I. E Kuralenok // II Seminarul rusesc privind evaluarea metodelor de regăsire a informațiilor (ROMIP 2004), Pușchino, 2004: tr. ; ed. I S. Nekrestyanova, St. Petersburg: Institutul de Cercetare de Chimie, Universitatea de Stat din Sankt Petersburg, pp. 142-150.

    10. J. A. Nelder, R. Mead, A simplex method for function minimization, The Computer Journal 7 (1965). 308-313.

    SEMENIKHIN Svyatoslav Vitalievich, student postuniversitar al departamentului „Sisteme automate de procesare și control a informațiilor”. Adresa de corespondenta: [email protected] DENISOVA Lyudmila Albertovna, doctor în științe tehnice, conferențiar al Departamentului de prelucrare automată a informațiilor și sisteme de control. Adresa de corespondenta: [email protected]

    Acest capitol prezintă metode populare de evaluare a calității unui model de clasificare, care sunt utilizate și în alte lucrări pe această temă. Sunt prezentate descrierea și fundamentarea acestora a parametrilor utilizați pentru această evaluare.

    Măsuri de evaluare a calității

    Precizie deplină (acuratețe)

    Această metrică este una dintre cele mai simple și în același timp universale metrice pentru evaluarea calității algoritmilor de clasificare. Valoarea acestui coeficient este calculată ca proporție de obiecte clasificate corect din numărul total de obiecte din eșantion. Această măsurătoare este populară datorită simplității și capacității de a se extinde la orice număr de clase. Principalul dezavantaj al acestei metrici este că atribuie aceeași pondere tuturor documentelor, ceea ce poate fi incorect în cazul unei părtiniri puternice a documentelor din eșantionul de instruire către una sau mai multe clase. Această măsurătoare poate avea o valoare ridicată, dar clasificatorul din aceeași clasă poate arăta o calitate extrem de scăzută a muncii. În același timp, metrica nu semnalează acest lucru în niciun fel.

    Precizie, rechemare și măsură F

    Metrici precum precizia (precizia) și rechemarea (rechemarea) au devenit pentru prima dată utilizate pe scară largă în evaluarea calității sistemelor care rezolvă problema regăsării informațiilor. Precizia sistemului într-o clasă este proporția de obiecte care aparțin de fapt unei anumite clase în raport cu toate obiectele atribuite de sistem acestei clase. Completitudinea este exprimată ca proporție de obiecte găsite de clasificatorul aparținând clasei în raport cu toate obiectele acestei clase. Tabelul 4 este un tabel de contingență al unei clase separate, unde TP (adevărat pozitiv) este o soluție adevărată pozitivă, TN (adevărat negativ) este o soluție adevărată negativă, FP (fals pozitiv) este o soluție fals pozitivă și FN (fals negativ) este o decizie fals-negativă.

    Tabelul 1 - Tabelul de contingență al clasei de obiecte

    Deci precizia și reamintirea sunt calculate ca:

    Măsura F combină informații despre acuratețea și caracterul complet al algoritmului evaluat. Se calculează ca media armonică a indicatorilor de precizie și reamintire:

    Datorită faptului că măsura F este calculată separat pentru fiecare clasă, este convenabil să o utilizați pentru a căuta și analiza erori specifice de algoritm, pentru a evalua o clasificare cu mai multe clase. În același timp, în cazul unui număr mare de clase, este nevoie de o caracteristică care să agregă completitatea și acuratețea tuturor claselor și să caracterizeze comportamentul general al sistemului. În această lucrare, următoarele valori agregate sunt utilizate în acest scop: precizie macro (precizie macro), care este calculată ca medie aritmetică a preciziei pentru toate clasele, reamintire macro (reamintire macro), care este calculată ca medie aritmetică de reamintire pentru toate clasele și macro F-măsură (Macro F-score), care este media armonică dintre ele.

    Validare încrucișată

    Una dintre cele mai comune metode de efectuare a testării cu drepturi depline și de evaluare a performanței diferiților algoritmi de învățare automată este validarea încrucișată. Pentru un eșantion independent, această metodă vă permite să obțineți o estimare nepărtinitoare a probabilității de eroare, spre deosebire de eroarea medie pe eșantionul de antrenament, care poate fi o estimare părtinitoare a probabilității de eroare din cauza supraadaptării algoritmului. Un alt avantaj al acestei proceduri este capacitatea de a obține o estimare a probabilității unei erori de algoritm, în absența unui eșantion de control special conceput pentru testare.

    Să presupunem că este un set de descrieri de caracteristici ale obiectelor, pe care este specificat un eșantion finit de precedente, unde este un set finit de clase. Este dată o mapare care asociază un eșantion arbitrar de precedente cu un algoritm. Apoi, performanța algoritmului pentru un eșantion arbitrar de precedente este estimată folosind funcționalitatea de calitate:

    unde este o funcție nenegativă care returnează valoarea de eroare a algoritmului dat fiind eticheta corectă a clasei.