Metrika kvaliteta u mašinskom učenju. Metrika u problemima strojnog učenja

Na elementima unutar svake liste. Djelomični redoslijed se obično navodi navođenjem bodova za svaki element (na primjer, "relevantno" ili "nije relevantno"; moguće su više od dvije ocjene). Svrha modela rangiranja je približiti i na najbolji način (u određenom smislu) generalizirati metod rangiranja u skupu za obuku novih podataka.

Učenje o rangiranju je još uvijek prilično mlado područje istraživanja koje se brzo razvija, a koje se pojavilo 2000 -ih s pojavom interesa za područje traženja informacija u primjeni metoda strojnog učenja za rangiranje problema.

Zajednički YouTube

  • 1 / 5

    Tokom obuke modela rangiranja i tokom njegovog rada, svaki par dokument-upit se prevodi u numerički vektor svojstava rangiranja (koji se nazivaju i faktori rangiranja ili signali) koji karakterišu svojstva dokumenta, upita i njihov odnos. Takvi znakovi mogu se podijeliti u tri grupe:

    Slijedi nekoliko primjera značajki rangiranja korištenih u skupu podataka LETOR dobro poznatih u struci:

    • Vrijednosti mjera TF, TF-IDF, BM25 i jezički model usklađivanja zahtjeva različitih područja dokumenta (naslov, URL, tekst, tekst veze);
    • Dužine i IDF sume zona dokumenata;
    • Rang dokumenata dobiven različitim varijantama algoritama za rangiranje linkova, kao što su PageRank i HITS.

    Rangiranje mjerila kvalitete

    Postoji nekoliko metrika pomoću kojih se ocjenjuje izvedba algoritama za rangiranje na uzorku i uspoređuje s ocjenjivačima. Često se parametri modela rangiranja nastoje prilagoditi na takav način da maksimiziraju vrijednost jedne od ovih metrika.

    Primjeri metrika:

    Klasifikacija algoritama

    U svom članku "Učenje o rangiranju radi pronalaženja informacija" i govorima na tematskim konferencijama, Tai-Yang Liu iz Microsoft Research Asia analizirao je postojeće metode za rješavanje problema rangiranja nastave i predložio njihovu klasifikaciju u tri pristupa, ovisno o zastupljenosti ulaza . Podaci i kaznene funkcije:

    Tačkasti pristup

    Napomene (uredi)

    1. Tie-Yan Liu (2009), Učenje o rangiranju radi pronalaženja informacija, Temelji i trendovi u pronalaženju informacija: Vol. 3: Ne 3, str. 225-331, ISBN 978-1-60198-244-5, DOI 10.1561 / 1500000016... Dostupni su slajdovi iz govora T. Lewa na WWW -u 2009. godine.

    O odlivu korisnika telekom operatera.


    Učitajmo potrebne biblioteke i pogledajmo podatke

    uvoz pande kao pd uvoz matplotlib.pyplot kao plt iz matplotlib.pylab import rc, zaplet uvoz seaborn kao sns iz sklearn.preprocesiranje uvoza LabelmbleEncoder, OneHotEncoder iz sklearn.model_selection uvoz cross_val_score iz sklearn.linear_modelression GrainForm. iz sklearn.metrics uvoz precision_recall_curve, classic_report iz sklearn.model_selection uvoz train_test_split df = pd.read_csv ("../../ data/ telecom_churn.csv")


    df.head (5)

    Predprocesiranje podataka

    # Napravimo preslikavanje binarnih stupaca # i kodirajmo stanje lažnim kodiranjem (radi jednostavnosti, bolje je da to ne radite za drvene modele) d = ("Da": 1, "Ne": 0) df ["Međunarodni plan "] = df [" Međunarodni plan "]. Mapa (d) df [" Plan glasovne pošte "] = df [" Plan glasovne pošte "]. Mapa (d) df [" Churn "] = df [" Churn "] . Astype ("int64") le = LabelEncoder () df ["State"] = le.fit_transform (df ["State"]) ohe = OneHotEncoder (rijetko = False) encoded_state = ohe.fit_transform (df ["State"] . values.reshape (- 1, 1)) tmp = pd.DataFrame (encoded_state, columns = ["state" + str (i) za i u rasponu (encoded_state.shape)]) df = pd.concat (, axis = 1)

    Tačnost, preciznost i opoziv

    Prije nego što pređemo na same metrike, potrebno je uvesti važan koncept za opisivanje ovih metrika u smislu grešaka klasifikacije - matrica zabune(matrica grešaka).
    Pretpostavimo da imamo dvije klase i algoritam koji predviđa pripadnost svakog objekta jednoj od klasa, tada će matrica greške klasifikacije izgledati ovako:


    Istinsko pozitivno (TP) Lažno pozitivan (FP)
    Lažno negativno (FN) Istinsko negativno (TN)

    Evo odgovora algoritma na objektu i oznaka je prave klase na tom objektu.
    Dakle, postoje dvije vrste klasifikacijskih grešaka: lažno negativne (FN) i lažno pozitivne (FP).


    Obuka algoritma i konstrukcija matrice grešaka

    X = df.drop ("Churn", axis = 1) y = df ["Churn"] # Podijelite uzorak na vlak i test, sve metrike će se ocijeniti na skupu podataka X_train, X_test, y_train, y_test = train_test_split ( X, y, stratify = y, test_size = 0.33, random_state = 42) # Obučite izvornu logističku regresiju lr = LogisticRegression (random_state = 42) lr.fit (X_train, y_train) # Koristite funkciju konstruiranja matrice grešaka iz sklearna dokumentacija def plot_confusion_matrix (cm, klase, normalize = False, title = "(! LANG: Matrica zabune", 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="Matrica zabune") plt.savefig("conf_matrix.png") plt.show()!}


    Tačnost

    Intuitivna, očigledna i gotovo neiskorištena metrika je tačnost - postotak tačnih odgovora algoritma:



    Ova je metrika beskorisna u problemima s nejednakim klasama i lako ju je pokazati primjerom.


    Recimo da želimo procijeniti performanse filtra za neželjenu poštu. Imamo 100 e-poruka bez neželjene pošte, od kojih je 90 naš klasifikator ispravno identifikovao (Tačno negativno = 90, Lažno pozitivno = 10), i 10 neželjenih e-poruka, od kojih je 5 klasifikator takođe ispravno identifikovao (Tačno pozitivno = 5, Lažno negativno = pet ).
    Zatim tačnost:



    Međutim, ako sve e-poruke samo predvidimo kao nepoželjne, dobit ćemo veću točnost:



    Istovremeno, naš model nema apsolutno nikakvu moć predviđanja, budući da smo u početku htjeli identificirati neželjene poruke. Da bismo to prevladali, pomoći će nam prijelaz sa zajedničke metrike za sve razrede na zasebne pokazatelje kvalitete nastave.

    Preciznost, opoziv i F-mera

    Kako bismo procijenili performanse algoritma za svaku klasu zasebno, uvodimo metriku preciznosti i opoziva.




    Preciznost se može tumačiti kao omjer objekata koje je klasifikator nazvao pozitivnim, a istovremeno zaista pozitivnim, a podsjetnik pokazuje koliki je udio objekata pozitivne klase od svih objekata pozitivne klase algoritam pronašao.



    Uvođenje preciznosti ne dozvoljava nam da sve objekte zapisujemo u jednu klasu, jer u ovom slučaju dobivamo povećanje nivoa lažno pozitivnog. Podsjetnik pokazuje sposobnost algoritma da detektira datu klasu općenito, a preciznost pokazuje sposobnost razlikovanja ove klase od drugih klasa.


    Kao što smo ranije primijetili, postoje dvije vrste klasifikacijskih grešaka: lažno pozitivna i lažno negativna. U statistici, prva vrsta greške naziva se greška tipa I, a druga se naziva greška tipa II. U našem problemu određivanja broja pretplatnika, greška prve vrste bit će prihvaćanje vjernog pretplatnika za odlaznog, budući da je naša nulta hipoteza da nitko od pretplatnika ne odlazi, a mi odbacujemo ovu hipotezu. Prema tome, greška druge vrste bit će "preskakanje" odlaznog pretplatnika i pogrešno prihvaćanje nulte hipoteze.


    Preciznost i opoziv ne zavise, za razliku od tačnosti, od odnosa klasa i stoga su primjenjivi u uslovima neuravnoteženih uzoraka.
    Često u stvarnoj praksi, zadatak je pronaći optimalnu (za kupca) ravnotežu između ove dvije metrike. Klasičan primjer je problem određivanja odliva kupaca.
    Očigledno ne možemo pronaći od svega odlazeći kupci i samo njih. No, nakon što smo identificirali strategiju i resurs za zadržavanje korisnika, možemo odabrati potrebnu preciznost i pragove opoziva. Na primjer, možete se usredotočiti na zadržavanje samo visoko prinosnih kupaca ili onih za koje je vjerojatnije da će otići jer imamo ograničene resurse pozivnog centra.


    Obično, prilikom optimizacije hiperparametara algoritma (na primjer, u slučaju ponavljanja po mreži GridSearchCV), koristi se jedna metrika, čije poboljšanje očekujemo na testnom uzorku.
    Postoji nekoliko različitih načina kombiniranja preciznosti i opoziva u zbirnu mjeru kvalitete. F -mjera (općenito) - harmonička srednja preciznost i opoziv:



    U ovom slučaju, ona određuje težinu tačnosti u metrici, a kada je to harmonička sredina (s faktorom 2, tako da u slučaju preciznosti = 1 i opoziva = 1 imati)
    F-mjera dostiže svoj maksimum kada su potpunost i preciznost jednaki jedan, a blizu je nule ako je jedan od argumenata blizu nule.
    Sklearn ima zgodnu funkciju _metrics.classification izvještaj, koji vraća opoziv, preciznost i F-mjeru za svaku klasu, kao i broj instanci svake klase.


    izvještaj = izvještaj o klasifikaciji (y_test, lr.predvidi (X_test), target_names = ["Non-churned", "Churned"]) ispis (izvještaj)
    razred preciznost opoziv f1-rezultat podrška
    Non-churned 0.88 0.97 0.93 941
    Usitnjeno 0.60 0.25 0.35 159
    prosjek / ukupno 0.84 0.87 0.84 1100

    Ovdje treba napomenuti da je u slučaju problema s neuravnoteženim klasama, koji prevladavaju u stvarnoj praksi, često potrebno pribjeći tehnikama umjetne izmjene skupa podataka radi izjednačavanja omjera klasa. Ima ih mnogo, a mi ih nećemo doticati, možete pogledati neke od metoda i odabrati onu koja odgovara vašem zadatku.

    AUC-ROC i AUC-PR

    Prilikom pretvaranja stvarnog odgovora algoritma (po pravilu, vjerovatnoće pripadnosti klasi, pogledajte SVM zasebno) u binarnu oznaku, moramo odabrati neki prag pri kojem 0 postaje 1. Prag jednak 0,5 izgleda prirodno i blizu , ali ne pokazuje se uvijek optimalnim, na primjer, u slučaju gore spomenutog nedostatka klasne ravnoteže.


    Jedan od načina za procjenu modela u cjelini, bez vezivanja za određeni prag, je AUC -ROC (ili ROC AUC) - površina ( A rea U nder C urve) ispod krive greške ( R eceiver O perating C karakteristična krivulja). Ova krivulja je linija od (0,0) do (1,1) u koordinatama True Positive Rate (TPR) i False Positive Rate (FPR):




    TPR već znamo, ovo je potpunost, a FPR pokazuje koliki je udio objekata negativne klase algoritam pogrešno predvidio. U idealnom slučaju, kada klasifikator ne pravi greške (FPR = 0, TPR = 1), dobijamo površinu ispod krive jednaku jedinici; u suprotnom, kada klasifikator nasumično ispiše vjerovatnoće klase, AUC-ROC će težiti 0,5, jer će klasifikator ispisati isti broj TP i FP.
    Svaka tačka na grafikonu odgovara izboru određenog praga. Područje ispod krivulje u ovom slučaju pokazuje kvalitetu algoritma (više je bolje), osim toga, važna je i sama strmina krivulje - želimo maksimizirati TPR minimiziranjem FPR -a, što znači da bi naša krivulja idealno trebala težiti tačka (0,1).


    Kod crtanja ROC krive

    sns.set (font_scale = 1.5) sns.set_color_codes ("utišan") plt.figure (figsize = (10, 8)) fpr, tpr, pragovi = roc_curve (y_test, lr.predict_proba (X_test) [:, 1], pos_label = 1) lw = 2 plt.plot (fpr, tpr, lw = lw, label = "ROC krivulja") plt.plot (,) plt.xlim () plt.ylim () plt.xlabel ("Lažno pozitivna stopa ") plt.ylabel (" Istinska pozitivna stopa ") plt.title (" ROC krivulja ") plt.savefig (" ROC.png ") plt.show ()



    Kriterij AUC-ROC otporan je na neuravnotežene klase (upozorenje spojlera: nažalost, nije sve tako jednoznačno) i može se tumačiti kao vjerojatnost da će nasumično odabrani pozitivni objekt klasifikator rangirati više (imat će veću vjerojatnost da će biti pozitivan) od nasumično odabranog negativnog objekta ...


    Razmotrite sljedeći problem: moramo odabrati 1 od 1 miliona dokumenata 100 relevantnih dokumenata. Savladali smo dva algoritma:

    • Algoritam 1 vraća 100 dokumenata, od kojih je 90 relevantnih. Dakle,

    • Algoritam 2 vraća 2000 dokumenata, od kojih je 90 relevantnih. Dakle,


    Najvjerojatnije bismo odabrali prvi algoritam koji proizvodi vrlo malo lažno pozitivnih rezultata u odnosu na svog konkurenta. Ali razlika u lažno pozitivnoj stopi između ova dva algoritma ekstremno mali - samo 0,0019. To je posljedica činjenice da AUC-ROC mjeri udio lažno pozitivnog u odnosu na istinsko negativno, a u problemima gdje nam druga (veća) klasa nije toliko važna, možda neće dati potpuno odgovarajuću sliku pri usporedbi algoritama .


    Da bismo ispravili situaciju, vratimo se potpunosti i tačnosti:

    • Algoritam 1

    • Algoritam 2


    Ovdje je već uočljiva značajna razlika između dva algoritma - 0,855 u tačnosti!


    Preciznost i opoziv se također koriste za konstrukciju krivulje i, poput AUC-ROC, za pronalaženje područja ispod nje.



    Ovdje se može primijetiti da na malim skupovima podataka površina ispod PR-krivulje može biti pretjerano optimistična, jer se izračunava trapezoidnom metodom, ali obično u takvim zadacima ima dovoljno podataka. Za detalje o odnosu između AUC-ROC i AUC-PR, pogledajte ovdje.

    Logistički gubitak

    Funkcija logističkog gubitka stoji zasebno, definirana kao:



    ovdje je odgovor algoritma na -tom objektu, oznaka je prave klase na -tom objektu i veličina uzorka.


    Detalji o matematičkoj interpretaciji funkcije logističkog gubitka već su napisani u okviru posta o linearnim modelima.
    Ova se metrika rijetko pojavljuje u poslovnim zahtjevima, ali često u zadacima na kaggle -u.
    Intuitivno se minimiziranje gubitaka može smatrati zadatkom maksimiziranja tačnosti kažnjavanjem netačnih predviđanja. Međutim, treba napomenuti da gubitak logusa izuzetno snažno kažnjava zbog povjerenja klasifikatora u pogrešan odgovor.


    Razmotrimo primjer:


    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 s neizvjesnom klasifikacijom% f "% logloss_crutch (1, 0.5)) >> Logloss sa neizvesnom klasifikacijom 0.693147 print (" Logloss sa pouzdanom klasifikacijom i tačnim odgovorom% f "% logloss_crutch (1, 0.9)) >> Logloss sa pouzdanom klasifikacijom i tačnim odgovorom 0.105361 print (" Logloss sa pouzdanom klasifikacijom i pogrešnim odgovorom% f "% logloss_crutch (1, 0.1)) >> Logloss sa pouzdanom klasifikacijom i pogrešnim odgovorom 2.302585

    Primijetite kako je gubitak podataka dramatično porastao s netočnim odgovorom i pouzdanom klasifikacijom!
    Shodno tome, greška na jednom objektu može rezultirati značajnom degradacijom ukupne greške uzorka. Takvi su objekti često izdvojeni, koje se mora zapamtiti da se filtriraju ili odvojeno razmotre.
    Sve dolazi na svoje mjesto ako nacrtate graf gubitka dnevnika:



    Može se vidjeti da što je odgovor algoritma bliže nuli sa istinitošću tla = 1, veća je vrijednost greške i što je krivulja strmija.

    Ukratko rezimirajmo:

    • U slučaju klasifikacije više klasa, morate pažljivo pratiti metriku svake klase i slijediti logiku odluke zadaci umesto optimizacije metrike
    • U slučaju nejednakih razreda, potrebno je odabrati ravnotežu razreda za obuku i metriku koja će ispravno odražavati kvalitetu klasifikacije
    • i madrugado za pomoć oko ovog članka.

    Ovo poglavlje predstavlja popularne metode za procjenu kvalitete klasifikacijskog modela, koje se, između ostalog, koriste u drugim radovima na ovu temu. Daje se njihov opis i opravdanje metrike koja se koristi za ovu procjenu.

    Metrike procjene kvaliteta

    Potpuna tačnost

    Ova metrika jedna je od najjednostavnijih i istovremeno univerzalnih metrika za procjenu performansi klasifikacijskih algoritama. Vrijednost ovog koeficijenta izračunava se kao udio pravilno klasificiranih objekata od ukupnog broja objekata u uzorku. Ova je metrika popularna zbog svoje jednostavnosti i mogućnosti proširivanja na bilo koji broj klasa. Glavni nedostatak ove metrike je što svim dokumentima dodjeljuje istu težinu, što može biti pogrešno u slučaju jakog pomicanja dokumenata u okviru obuke prema jednoj ili više klasa. Ova metrika može imati visoku vrijednost, ali klasifikator unutar iste klase može pokazati izuzetno nizak kvalitet rada. Istovremeno, metrika to ni na koji način ne signalizira.

    Preciznost, potpunost i F-mjera

    Metrike poput preciznosti i opoziva prvi put su se naširoko koristile za procjenu performansi sistema koji rješavaju probleme pronalaženja informacija. Tačnost sistema unutar jedne klase je proporcija objekata koji zaista pripadaju određenoj klasi u odnosu na sve objekte koje je sistem dodijelio ovoj klasi. Potpunost se izražava kao udio objekata koje klasifikator pronađe u klasi koji pripada svim objektima ove klase. Tablica 4 je tablica nepredviđenih situacija zasebne klase, gdje je TP (istinito pozitivno) istinito pozitivno rješenje, TN (istinsko negativno) je istinito negativno rješenje, FP (lažno pozitivno) je lažno pozitivno rješenje, a FN (lažno negativan) je lažna. -negativna odluka.

    Tabela 1 - Tabela nepredviđenih situacija za klasu objekata

    Stoga se preciznost i potpunost izračunavaju na sljedeći način:

    F-mjera objedinjuje informacije o tačnosti i potpunosti evaluiranog algoritma. Izračunava se kao harmonijski prosjek pokazatelja tačnosti i potpunosti:

    Zbog činjenice da se F-mjera izračunava zasebno za svaku klasu, prikladno ju je koristiti za pretraživanje i analizu specifičnih grešaka algoritma, za procjenu klasifikacije s nekoliko klasa. Štaviše, u slučaju velikog broja klasa, potrebna je karakteristika koja bi objedinila potpunost i tačnost svih klasa i okarakterisala cjelokupno ponašanje sistema. U ovom se radu u tu svrhu koriste sljedeće zbirne vrijednosti: makro preciznost, koja se izračunava kao aritmetička sredina tačnosti za sve klase, opoziv makroa, koji se računa kao aritmetička sredina potpunosti za sve klase, i makro F-mjera (Macro F-score), koja je harmonijska sredina između njih.

    Unakrsna validacija

    Unakrsna provjera valjanosti jedna je od najčešćih metoda za provođenje potpunog testiranja i procjenu performansi različitih algoritama strojnog učenja. Za nezavisni uzorak, ova metoda omogućava dobijanje nepristrasne procjene vjerovatnoće greške, za razliku od prosječne greške na obučenom uzorku, što može biti pristrasna procjena vjerovatnoće greške zbog prekomjernog prilagođavanja algoritma. Još jedna prednost ove procedure je mogućnost dobivanja procjene vjerovatnoće greške algoritma, u nedostatku posebno dizajniranog kontrolnog uzorka za testiranje.

    Pretpostavimo da je to skup opisa karakteristika objekata na kojima je naveden konačan uzorak slučajeva upotrebe, gdje je konačan skup klasa. Daje se mapiranje koje dodjeljuje algoritam proizvoljnom izboru slučajeva upotrebe. Tada se kvaliteta algoritma za proizvoljni uzorak presedana procjenjuje pomoću funkcionalnosti kvalitete:

    gdje je neka negativna funkcija koja vraća vrijednost greške algoritma s ispravnom oznakom klase.

    Zdravo, Habr!

    U zadacima strojnog učenja metrike se koriste za procjenu kvalitete modela i usporedbu različitih algoritama, a njihov odabir i analiza neizostavan su dio posla datatanista.

    U ovom ćemo članku pogledati neke kriterije kvalitete u klasifikacijskim problemima, razgovarati o tome što je važno pri odabiru metrike, a što može poći po zlu.

    Metrike u problemima klasifikacije

    Za demonstraciju korisnih funkcija sklearn i vizualni prikaz metrika, upotrijebit ćemo naš skup podataka o potrošnji korisnika telekomunikacijskog operatera, koju smo upoznali u prvom članku kursa.

    Učitajmo potrebne biblioteke i pogledajmo podatke

    Uvezite pande kao pd uvoz matplotlib.pyplot kao plt iz matplotlib.pylab import rc, unesite plot seaborn kao sns iz sklearn.procesiranje uvoza Labelmblencoder, OneHotEncoder iz sklearn.model_selection uvoz cross_val_score iz sklearn.linear_modelression GrainForminacijaFinencija GrainFormacija GrainForm GrainF GrainFinencija GrainFormacija GrainForm iz sklearn.metrics uvoz precision_recall_curve, classic_report iz sklearn.model_selection uvoz train_test_split df = pd.read_csv ("../../ data/ telecom_churn.csv")

    Df.head (5)

    Predprocesiranje podataka

    # Napravimo preslikavanje binarnih stupaca # i kodirajmo stanje lažnim kodiranjem (radi jednostavnosti, bolje je da to ne radite za drvene modele) d = ("Da": 1, "Ne": 0) df ["Međunarodni plan "] = df [" Međunarodni plan "]. Mapa (d) df [" Plan glasovne pošte "] = df [" Plan glasovne pošte "]. Mapa (d) df [" Churn "] = df [" Churn "] . Astype ("int64") le = LabelEncoder () df ["State"] = le.fit_transform (df ["State"]) ohe = OneHotEncoder (rijetko = False) encoded_state = ohe.fit_transform (df ["State"] . values.reshape (- 1, 1)) tmp = pd.DataFrame (encoded_state, columns = ["state" + str (i) za i u rasponu (encoded_state.shape)]) df = pd.concat (, axis = 1)

    Tačnost, preciznost i opoziv

    Prije nego što pređemo na same metrike, potrebno je uvesti važan koncept za opisivanje ovih metrika u smislu grešaka klasifikacije - matrica zabune(matrica grešaka).
    Pretpostavimo da imamo dvije klase i algoritam koji predviđa pripadnost svakog objekta jednoj od klasa, tada će matrica greške klasifikacije izgledati ovako:

    Istinsko pozitivno (TP) Lažno pozitivan (FP)
    Lažno negativno (FN) Istinsko negativno (TN)

    ovo je odgovor algoritma na objektu i

    Oznaka prave klase na ovom objektu.
    Dakle, postoje dvije vrste klasifikacijskih grešaka: lažno negativne (FN) i lažno pozitivne (FP).

    Obuka algoritma i konstrukcija matrice grešaka

    X = df.drop ("Churn", axis = 1) y = df ["Churn"] # Podijelite uzorak na vlak i test, sve metrike će se ocijeniti na skupu podataka X_train, X_test, y_train, y_test = train_test_split ( X, y, stratify = y, test_size = 0.33, random_state = 42) # Obučite izvornu logističku regresiju lr = LogisticRegression (random_state = 42) lr.fit (X_train, y_train) # Koristite funkciju za izradu matrice grešaka iz sklearna dokumentacija def plot_confusion_matrix (cm, klase, normalize = False, title = "(! LANG: Matrica zabune", 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="Matrica zabune") plt.savefig("conf_matrix.png") plt.show()!}

    Tačnost

    Intuitivna, očigledna i gotovo neiskorištena metrika je tačnost - postotak tačnih odgovora algoritma:

    Ova je metrika beskorisna u problemima s nejednakim klasama i lako ju je pokazati primjerom.

    Recimo da želimo procijeniti performanse filtra za neželjenu poštu. Imamo 100 e-poruka bez neželjene pošte, od kojih je 90 naš klasifikator ispravno identifikovao (Tačno negativno = 90, Lažno pozitivno = 10) i 10 neželjenih e-poruka, od kojih je 5 klasifikator takođe ispravno identifikovao (Tačno pozitivno = 5, Lažno negativno = 5) .
    Zatim tačnost:

    Međutim, ako sve e-poruke samo predvidimo kao nepoželjne, dobit ćemo veću točnost:

    Istovremeno, naš model nema nikakvu moć predviđanja, budući da smo prvobitno htjeli identificirati neželjene poruke. Da bismo to prevladali, pomoći će nam prijelaz sa zajedničke metrike za sve razrede na zasebne pokazatelje kvalitete nastave.

    Preciznost, opoziv i F-mera

    Kako bismo procijenili performanse algoritma za svaku klasu zasebno, uvodimo metriku preciznosti i opoziva.

    Preciznost se može tumačiti kao omjer objekata koje je klasifikator nazvao pozitivnim, a istovremeno zaista pozitivnim, a podsjetnik pokazuje koliki je udio objekata pozitivne klase od svih objekata pozitivne klase algoritam pronašao.

    Uvođenje preciznosti ne dozvoljava nam da sve objekte zapisujemo u jednu klasu, jer u ovom slučaju dobivamo povećanje nivoa lažno pozitivnog. Podsjetnik pokazuje sposobnost algoritma da detektira datu klasu općenito, a preciznost pokazuje sposobnost razlikovanja ove klase od drugih klasa.

    Kao što smo ranije primijetili, postoje dvije vrste klasifikacijskih grešaka: lažno pozitivna i lažno negativna. U statistici, prva vrsta greške naziva se greška tipa I, a druga se naziva greška tipa II. U našem problemu određivanja broja pretplatnika, greška prve vrste bit će prihvaćanje vjernog pretplatnika za odlaznog, budući da je naša nulta hipoteza da nitko od pretplatnika ne odlazi, a mi odbacujemo ovu hipotezu. Prema tome, greška druge vrste bit će "preskakanje" odlaznog pretplatnika i pogrešno prihvaćanje nulte hipoteze.

    Preciznost i opoziv ne zavise, za razliku od tačnosti, od odnosa klasa i stoga su primjenjivi u uslovima neuravnoteženih uzoraka.
    Često u stvarnoj praksi, zadatak je pronaći optimalnu (za kupca) ravnotežu između ove dvije metrike. Klasičan primjer je problem određivanja odliva kupaca.
    Očigledno ne možemo pronaći od svega odlazeći kupci i samo njih. No, nakon što smo identificirali strategiju i resurs za zadržavanje korisnika, možemo odabrati potrebnu preciznost i pragove opoziva. Na primjer, možete se usredotočiti na zadržavanje samo klijenata visokog prinosa ili onih za koje je vjerojatnije da će se prijaviti, budući da smo ograničeni resursima pozivnog centra.

    Obično, prilikom optimizacije hiperparametara algoritma (na primjer, u slučaju ponavljanja po mreži GridSearchCV), koristi se jedna metrika, čije poboljšanje očekujemo na testnom uzorku.
    Postoji nekoliko različitih načina kombiniranja preciznosti i opoziva u zbirnu mjeru kvalitete. F-mjera (općenito

    ) - harmonička srednja preciznost i opoziv:

    u ovom slučaju određuje težinu tačnosti u metrici i za

    ovo je harmonijska sredina (s množiteljem 2, tako da u slučaju preciznosti = 1 i opoziva = 1, imamo

    )
    F-mjera dostiže svoj maksimum kada su potpunost i tačnost jednaki jedan i blizu nule ako je jedan od argumenata blizu nule.
    Sklearn ima zgodnu funkciju _metrics.classification izvještaj vraćanje opoziva, preciznosti i F-mjere za svaku klasu, kao i broj primjeraka svake klase.

    Izvještaj = izvještaj o klasifikaciji (y_test, lr.predvidi (X_test), target_names = ["Non-churned", "Churned"]) ispis (izvještaj)

    razred preciznost opoziv f1-rezultat podrška
    Non-churned 0.88 0.97 0.93 941
    Usitnjeno 0.60 0.25 0.35 159
    prosjek / ukupno 0.84 0.87 0.84 1100

    Ovdje treba napomenuti da je u slučaju problema s neuravnoteženim klasama, koji prevladavaju u stvarnoj praksi, često potrebno pribjeći tehnikama umjetne izmjene skupa podataka radi izjednačavanja omjera klasa. Ima ih mnogo i nećemo ih dotaknuti, možete pogledati neke metode i odabrati onu koja odgovara vašem zadatku.

    AUC-ROC i AUC-PR

    Prilikom pretvaranja stvarnog odgovora algoritma (po pravilu, vjerovatnoće pripadnosti klasi, pogledajte SVM zasebno) u binarnu oznaku, moramo odabrati neki prag pri kojem 0 postaje 1. Prag jednak 0,5 izgleda prirodno i blizu , ali ne pokazuje se uvijek optimalnim, na primjer, u slučaju gore spomenutog nedostatka klasne ravnoteže.

    Jedan od načina za procjenu modela u cjelini, bez vezivanja za određeni prag, je AUC -ROC (ili ROC AUC) - površina ( A rea U nder C urve) ispod krive greške ( R eceiver O perating C karakteristična krivulja). Ova krivulja je linija od (0,0) do (1,1) u koordinatama True Positive Rate (TPR) i False Positive Rate (FPR):

    TPR već znamo, ovo je potpunost, a FPR pokazuje koliki je udio objekata negativne klase algoritam pogrešno predvidio. U idealnom slučaju, kada klasifikator ne napravi greške (FPR = 0, TPR = 1), dobit ćemo površinu ispod krivulje jednaku jedinici, u suprotnom, kada klasifikator nasumično iznese vjerojatnosti klase, AUC-ROC će težiti 0,5, jer klasifikator će izdati istu količinu TP i FP.
    Svaka tačka na grafikonu odgovara izboru određenog praga. Područje ispod krivulje u ovom slučaju pokazuje kvalitetu algoritma (više je bolje), osim toga, važna je i sama strmina krivulje - želimo maksimizirati TPR minimiziranjem FPR -a, što znači da bi naša krivulja idealno trebala težiti tačka (0,1).

    Kod crtanja ROC krive

    Sns.set (font_scale = 1.5) sns.set_color_codes ("utišan") plt.figure (figsize = (10, 8)) fpr, tpr, pragovi = roc_curve (y_test, lr.predict_proba (X_test) [:, 1], pos_label = 1) lw = 2 plt.plot (fpr, tpr, lw = lw, label = "ROC krivulja") plt.plot (,) plt.xlim () plt.ylim () plt.xlabel ("Lažno pozitivna stopa ") plt.ylabel (" Istinska pozitivna stopa ") plt.title (" ROC krivulja ") plt.savefig (" ROC.png ") plt.show ()

    Kriterij AUC-ROC otporan je na neuravnotežene klase (spojler: nažalost, ali nije sve tako jednoznačno) i može se tumačiti kao vjerojatnost da će nasumično odabrani pozitivni objekt klasifikator rangirati više (imat će veću vjerojatnost da će biti pozitivan) od nasumično odabranog negativnog objekta.

    Razmotrite sljedeći problem: moramo odabrati 1 od 1 miliona dokumenata 100 relevantnih dokumenata. Savladali smo dva algoritma:

    • Algoritam 1 vraća 100 dokumenata, od kojih je 90 relevantnih. Dakle,
    • Algoritam 2 vraća 2000 dokumenata, od kojih je 90 relevantnih. Dakle,

    Najvjerojatnije bismo odabrali prvi algoritam koji proizvodi vrlo malo lažno pozitivnih rezultata u odnosu na svog konkurenta. Ali razlika u lažno pozitivnoj stopi između ova dva algoritma ekstremno mali - samo 0,0019. To je posljedica činjenice da AUC-ROC mjeri udio lažno pozitivnog u odnosu na istinsko negativno, a u problemima gdje nam druga (veća) klasa nije toliko važna, možda neće dati potpuno odgovarajuću sliku pri usporedbi algoritama .

    Da bismo ispravili situaciju, vratimo se potpunosti i tačnosti:

    • Algoritam 1
    • Algoritam 2

    Ovdje je već uočljiva značajna razlika između dva algoritma - 0,855 u tačnosti!

    Preciznost i opoziv se također koriste za konstrukciju krivulje i, poput AUC-ROC, za pronalaženje područja ispod nje.

    Ovdje se može primijetiti da na malim skupovima podataka površina ispod PR-krivulje može biti pretjerano optimistična, jer se izračunava trapezoidnom metodom, ali obično u takvim zadacima ima dovoljno podataka. Za detalje o odnosu između AUC-ROC i AUC-PR, pogledajte ovdje.

    Logistički gubitak

    Funkcija logističkog gubitka stoji zasebno, definirana kao:

    ovo je odgovor algoritma

    Ohm objekt,

    oznaka prave klase na

    Ohm objekt, i

    veličina uzorka.

    Detalji o matematičkoj interpretaciji funkcije logističkog gubitka već su napisani u okviru posta o linearnim modelima.
    Ova se metrika rijetko pojavljuje u poslovnim zahtjevima, ali često u zadacima na kaggle -u.
    Intuitivno, minimiziranje gubitaka se može smatrati zadatkom maksimiziranja tačnosti kažnjavanjem pogrešnih predviđanja. Međutim, treba napomenuti da gubitak logusa izuzetno snažno kažnjava zbog povjerenja klasifikatora u pogrešan odgovor.

    Razmotrimo primjer:

    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 s neizvjesnom klasifikacijom% f "% logloss_crutch (1, 0.5)) >> Logloss sa neizvesnom klasifikacijom 0.693147 print (" Logloss sa pouzdanom klasifikacijom i tačnim odgovorom% f "% logloss_crutch (1, 0.9)) >> Logloss sa pouzdanom klasifikacijom i tačnim odgovorom 0.105361 print (" Logloss sa pouzdanom klasifikacijom i pogrešnim odgovorom% f "% logloss_crutch (1, 0.1)) >> Logloss sa pouzdanom klasifikacijom i pogrešnim odgovorom 2.302585

    Primijetite kako je gubitak podataka dramatično porastao s netočnim odgovorom i pouzdanom klasifikacijom!
    Shodno tome, greška na jednom objektu može rezultirati značajnom degradacijom ukupne greške uzorka. Takvi su objekti često izdvojeni, koje se mora zapamtiti da se filtriraju ili odvojeno razmotre.
    Sve dolazi na svoje mjesto ako nacrtate graf gubitka dnevnika:

    Može se vidjeti da što je odgovor algoritma bliže nuli sa istinitošću tla = 1, veća je vrijednost greške i što je krivulja strmija.

    Sažimanje:

    • U slučaju klasifikacije više klasa, morate pažljivo pratiti metriku svake klase i slijediti logiku odluke zadaci umesto optimizacije metrike
    • U slučaju nejednakih razreda, potrebno je odabrati ravnotežu razreda za obuku i metriku koja će ispravno odražavati kvalitetu klasifikacije
    • Odabir metrike trebao bi se obaviti s fokusom na predmetnu oblast, prethodnom obradom podataka i, eventualno, segmentiranjem (kao u slučaju podjele na bogate i siromašne kupce)

    korisne veze

    1. Kurs Evgenija Sokolova: Seminar o izboru modela (postoje informacije o metrici regresionih problema)
    2. Problemi na AUC-ROC od A.G. Dyakonova
    3. Više o ostalim metrikama možete pročitati na kaggle -u. U opis svake metrike dodana je veza na konkurenciju u kojoj je korištena
    4. Prezentacija Bogdana Melnika zvanog ld86 o obuci na neuravnoteženim uzorcima

    UDK 519.816

    S. V. SEMENIKHIN L. A. DENISOVA

    Omsk State Technical University

    METODA UČENJA MAŠINA RANGE

    ZASNOVANO NA IZMENJENOM GENETSKOM ALGORITMU ZA YRSO METRIKU

    Razmatra se problem rangiranja dokumenata na stranici rezultata pretraživanja informacija i pitanja rangiranja mašinskog učenja. Predlaže se pristup za optimizaciju funkcije rangiranja koristeći metriku kvalitete NOCO zasnovanu na modificiranom genetskom algoritmu. Sprovedeno je istraživanje razvijenih algoritama (na zbirkama testova LETO ^) i pokazana je njihova efikasnost za mašinsko učenje rangiranja.

    Ključne reči: pronalaženje informacija, rangiranje mašinskog učenja, relevantnost, optimizacija, genetski algoritmi.

    1. Uvod. U savremenim sistemima za pronalaženje informacija (ISS), količine podataka kojima sistem upravlja su toliko velike da je ključni zadatak rangiranje relevantnih dokumenata kao odgovor na korisnikov upit za pretraživanje. U ovoj fazi razvoja ISS -a najveće je zanimanje rangiranje strojnog učenja (ML). Postojeći pristupi pranja novca, zasnovani na numeričkim metodama (posebno metodama gradijenta) ili na analitičkim proračunima, imaju niz nedostataka koji značajno utiču na kvalitet pretraživanja informacija i vrijeme potrebno za rangiranje relevantnih dokumenata.

    Na početku istraživanja razmatrani su spiskovi pristupa rangiranju strojnog učenja, od kojih većina koristi metodu gradijentnog spuštanja. U razmatranim radovima ML se svodi na optimizaciju metrike kvalitete pretraživanja (SEQ), ali se koriste samo metrike koje predstavljaju kontinuirane funkcije. Ovo ograničenje često dovodi do činjenice da, kao rezultat optimizacije, funkcija rangiranja ima niže ocjene za mnoge važne prihvaćene pokazatelje (DCG, nDCG, stupnjevani srednji recipročni rang itd.), Koje su diskretne funkcije. U radu se predlaže upotreba genetskih algoritama (GA) u rangiranju nastave za minimiziranje Huberove funkcije gubitka koristeći stručne procjene relevantnosti kao referentne vrijednosti. Također je predložen pristup pranja novca zasnovan na optimizaciji diskretnih metrika kvaliteta pretraživanja informacija.

    2. Izjava o problemu rangiranja mašinskog učenja. U većini modernih sistema za pronalaženje informacija funkcija rangiranja izgrađena je na osnovu n jednostavnih funkcija rangiranja (PRF) i može se napisati kao:

    gdje je SRF¡ ¡ta jednostavna funkcija rangiranja za dokument d i upit q, WCi je težinski koeficijent ¡te jednostavne funkcije rangiranja, n je broj PRF -ova u sistemu rangiranja.

    U toku strojnog učenja za rangiranje korišten je skup dokumenata za pretraživanje B i upita O iz zbirke testova LBTOY. Za sve deO zahtjeve, par se formira sa svakim deD dokumentom. Za svaki takav par IRS određuje vrijednosti relevantnosti koje se koriste za rangiranje rezultata pretraživanja. Da bi se ocijenio kvalitet rangiranja, sistem zahtijeva referentne vrijednosti relevantnosti E za svaki par dokumenta-upit ^, e). U ove svrhe koriste se stručne procjene relevantnosti.

    Za provođenje studije korišten je ISS u kojem se rangiranje vrši na osnovu N = 5 jednostavnih funkcija rangiranja SRFi (WC) l g = 1, N, koje tvore vektorski kriterij optimalnosti:

    gdje je WCe (WC) vektor promjenjivih parametara; (ŠS), (ÂB) su prostori parametara i vektorskih kriterija.

    Primjena genetskih algoritama za rangiranje ML -a omogućava maksimiziranje diskretnih metrika kvaliteta kao što je nDCG. Metrika nDCG za rangiranje dokumenata u tražilici određuje se u skladu s izrazom:

    DCG @ n = X 2 ---

    RF (q, d) = X WC. ■ SRF., I = 1 1 1

    gdje je ocjena (p) prosječna ocjena relevantnosti koju daju stručnjaci dokumentu koji se nalazi na poziciji p na listi rezultata, ocjena; 1 / log2 (2 + p) - koeficijent ovisno o položaju dokumenta (prvi dokumenti imaju veću težinu).

    Tada će normalizirana verzija NDCG biti napisana kao

    N000 @ n = RSD @ n / g,

    gdje je r faktor normalizacije, koji je jednak najvećoj mogućoj vrijednosti 0S [zaštićena e -pošta] n za dati upit (tj. jednako OOO idealnog ranga).

    Dakle, kako bi se optimizirala (maksimizirala) metrika OSS -a, funkcija cilja (YM) bit će zapisana u sljedećem obliku

    3. Metrike kvalitete rangiranja rezultata pretraživanja. Prilikom rangiranja dokumenata u rezultatima pretraživanja, mjerila kvalitete djeluju kao kriterij. S popisa općeprihvaćenih metrika za procjenu kvalitete ISS -a odabrane su tri glavne koje procjenjuju točnost, relevantnost i potpunost pronalaženja informacija.

    1. Kriterijum za tačnost pronalaženja informacija

    gdje je a broj pronađenih relevantnih dokumenata, b je broj dokumenata koji se pogrešno smatraju relevantnim.

    2. Bpref kriterij, koji procjenjuje važnost pronalaženja informacija, koristi se za obradu posla s R relevantnih dokumenata i izračunava se po formuli

    Bpref = - ^ (1 - Nije Re ¡Prije (r) / R). (4)

    Ovdje r označava poznati relevantni dokument, a NonRelBefore (r) - broj poznatih irelevantnih dokumenata rangiranih više od r (u proračunu se uzima u obzir samo prvi R od procijenjenih irelevantnih dokumenata iz ciklusa).

    3. Kriterij potpunosti rezultata pretraživanja

    r = a / (a+ c),

    gdje je a broj pronađenih relevantnih dokumenata, c je broj nenađenih relevantnih dokumenata.

    4. Zbirke testova. U zadatku strojnog učenja rangiranje zahtijeva skup dokumenata i upita sa odgovarajućim ocjenama relevantnosti koje određuju stručnjaci. Ovi podaci se koriste za mašinsko učenje funkcije rangiranja, kao i za procjenu kvaliteta.

    rangiranje rezultata pretraživanja po sistemu. U procesu pranja novca, zbirke testova koriste se kao set za obuku i stoga imaju značajan utjecaj na rezultate. Za istraživanje je korištena testna zbirka dokumenata i zahtjeva LETOR. Ova se zbirka koristi za istraživanje pretraživanja podataka od strane Microsoftovog istraživanja. Tablica 1 prikazuje karakteristike zbirki testova LETOR.

    5. Modificirani genetski algoritam. Za korištenje genetskih algoritama u strojnom učenju za rangiranje, problem mora biti formuliran na način da je rješenje kodirano kao vektor (genotip), gdje svaki gen može biti bit, broj ili drugi objekt. U ovom slučaju, genotip je predstavljen vektorom težinskih faktora za odgovarajuće faktore rangiranja. Uvjet za zaustavljanje izvršavanja genetskog algoritma je pronalaženje optimalnog rješenja, iscrpljivanje broja generacija ili vremena predviđenog za evoluciju.

    Treba napomenuti da su GA najučinkovitije u potrazi za područjem globalnog ekstrema, ali mogu raditi sporo kada je potrebno pronaći lokalni minimum u ovom području. Predloženi način da se izbjegne ovaj nedostatak je stvaranje modificiranog genetskog algoritma (MGA), koji će prijeći na lokalni (brzi) optimizacijski algoritam nakon pronalaska globalne optimalne regije pomoću osnovne GA. Predložena MGA je hibridna metoda zasnovana na klasičnoj GA i Nelder - Mead metodi (simpleks algoritam). Nelder - Mead metoda, često korišteni algoritam nelinearne optimizacije, numerička je metoda za pronalaženje minimuma objektivne funkcije u višedimenzionalnom prostoru. Hibridni MGA algoritam predložen u ovom radu prelazi na Nelder - Mead metodu nakon što su ispunjeni uvjeti za zaustavljanje GA. Blok dijagram MGA algoritma prikazan je na Sl. jedan.

    Prilikom izvođenja istraživanja prihvaćeno je ograničenje broja proračuna funkcije cilja (Nrf = 16.000) prilikom traženja globalnog ekstremnog područja i uvjet za prelazak na lokalni algoritam optimizacije zasnovan na Nelder - Mead metodi (nakon osnovni genetski algoritam izveo je 75% Nrf operacija).

    6. Rezultati. Kao rezultat istraživanja provedenog pomoću algoritma strojnog učenja

    Tabela 1

    Broj dokumenata i upita u zbirkama testova

    Naziv zbirke testova Naziv podsistema Broj zahtjeva Broj dokumenata

    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

    Pirinač. 1. Blok dijagram hibridnog MVL algoritma zasnovan na genetskim algoritmima i Nelder-Mead metodi

    Za rangiranje LTR-MGA dobiva se vektor WC * pondera za funkciju rangiranja. Nadalje, na osnovu podataka iz zbirke testova LETOYA, ocijenjen je kvalitet rangiranja za koji su izračunate metrike kvaliteta. Diskretna metrika rangiranja kvalitete [zaštićena e -pošta] ocjenjuje kvalitetu prvih n dokumenata odgovora sistema. Općeprihvaćene metrike za procjenu kvalitete rangiranja su [zaštićena e -pošta], [zaštićena e -pošta] i [zaštićena e -pošta] Međutim, za detaljnije razmatranje promjena metrike ovisno o vrijednostima [zaštićena e -pošta] za sve n od 1 do 10. Da bi se uporedila efikasnost razvijenog algoritma sa postojećim rješenjima, izvršena je uporedna analiza korištenjem algoritama za rangiranje iz zbirki LETOIA 3.0. Rezultati izvođenja algoritama za zbirke testova TB2003 i TB2004 za metriku NDCG prikazani su na Sl. 2. Rezultati pokazuju da LTR-MGA algoritam nadmašuje testne algoritme, pri čemu su najveće vrijednosti

    su za [zaštićena e -pošta](na nivou prvog dokumenta). Superiornost LTR-MGA algoritma posljedica je činjenice da se, za razliku od funkcija rangiranja testa koje se razmatraju u eksperimentima, u predloženom pristupu optimizacije funkcije rangiranja kao cilj koristi NDCG metrika.

    Kako bi se procijenio kvalitet rangiranja korištenjem predloženog LTR-MGA algoritma, izračunate su vrijednosti metrika kvalitete dokumenata za rangiranje u rezultatima pretraživanja (slika 3). Poređenje rezultata rangiranja (Tablica 2) pri korištenju osnovne funkcije rangiranja, osnovnog LTR-GA algoritma i modificiranog LTR-MGA algoritma ukazuje na prednost potonjeg.

    Osim toga, studija je procijenila vrijeme potrebno za rangiranje MO. Ovo je potrebno kako bi se potvrdilo da je predložena metoda LTR-MGA u ovom pokazatelju superiornija od pristupa koji se temelji na upotrebi tradicionalnih

    Pirinač. 2. Poređenje algoritama mašinskog učenja za rangiranje

    prema metodi NDCG za zbirke testova: lijevo - skup podataka Gov03td, desno - skup podataka Gov04td

    Pirinač. 3. Procjena metrike kvalitete rangiranja za osnovnu formulu rangiranja i algoritme učenja LTR-GA i LTR-MGA

    Metrike kvalitete rangiranja za različite algoritme strojnog učenja za rangiranje

    tabela 2

    Metrika kvalitete ranga Osnovna funkcija rangiranja LTR-GA LTR-MGA Povećanje metričke vrijednosti,%

    Točnost 0.201 0.251 0.267 26.81

    [zaštićena e -pošta](prvih 5 dokumenata) 0,149 0,31 0,339 90,47

    [zaštićena e -pošta](prvih 10 dokumenata) 0,265 0,342 0,362 29,14

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

    Potpunost 0,524 0,542 0,732 39.03

    * Najbolje vrijednosti za odgovarajuću metriku označene su sivom bojom

    onnogo genetski algoritam (LTA-OL). Rezultati usporedbe vremena provedenog na izvršavanju algoritama LTY-OL i LTY-MOL prikazani su u tablici. 3.

    7. Zaključak. Tako su provedene studije pokazale da se pri korištenju predloženog pristupa vrijednosti razmatranih metrika rangiranja u ISS-u povećavaju (u prosjeku za 19,55% u odnosu na LTL-OL algoritam). Ovo potvrđuje da LITA-MOL radi ispravno i značajno poboljšava funkciju rangiranja, drugim riječima, uspješno rješava problem optimizacije. Korišćenjem modifikovanog algoritma

    Zbog primjene metode lokalne optimizacije i uvedenih ograničenja u broju proračuna funkcije cilja, vrijeme strojnog učenja se smanjilo (u prosjeku za 17,71% u odnosu na upotrebu tradicionalnog genetskog algoritma LCHAOL).

    Razvijeni algoritam strojnog učenja za rangiranje LTY-MOL može se koristiti u ISS-u koji koristi model rangiranja zasnovan na kombinaciji jednostavnih funkcija rangiranja. Međutim, neka ograničenja u primjeni predloženog pristupa trebaju se uzeti u obzir. Zasnovano

    Procjena vremena izvršavanja rangiranja strojnog učenja ovisno o veličini uzorka za obuku

    Tabela 3

    Veličina zbirke tekstualnih dokumenata

    Vrijeme izvršavanja LTR-GA

    LTR-MGA Runtime

    Smanjenje vremena izvršenja,%

    Prosječna vrijednost

    * Najbolje vrijednosti za odgovarajuću veličinu zbirke testova označene su sivom bojom

    dobivenih rezultata, otkriveno je da je nakon pranja novca najveći porast zabilježen u metrici kvaliteta rangiranja, čija je vrijednost uzeta kao ciljna funkcija. Istovremeno, druge metrike možda neće imati značajnog poboljšanja, a u nekim slučajevima čak i pogoršati njihove vrijednosti. Kao jedan od mogućih pristupa otklanjanju ovog nedostatka, predlaže se rješavanje problema optimizacije kao višekriterijskog: jednoobrazno poboljšavanje nekoliko osnovnih metrika za rangiranje rezultata pretraživanja, umjesto optimiziranja jednog. Osim toga, u daljim studijama planira se razvoj metodologije za konstruiranje ciljne funkcije zasnovane na linearnoj konvoluciji glavnih mjernih podataka o kvaliteti rangiranja radi poboljšanja procesa traženja informacija.

    Bibliografska lista

    1. Tie-Yan Liu. Učenje rangiranja za pronalaženje informacija // Osnove časopisa i trendovi u pronalaženju informacija. Vol. 3, broj 3. mart 2009. str. 225-331.

    2. Christopher J. C. Burges, Tal Shaked, Erin Renshaw. Učenje rangiranja pomoću gradijentnog silaska // Proces ICML-a "05 Zbornik radova 22. međunarodne konferencije o strojnom učenju. 2005. P. 89-96.

    3. Semenikhin, S. V. Istraživanje pristupa mašinskom učenju za rangiranje dokumenata pomoću sistema pretraživanja zasnovanog na genetskim algoritmima / S. V. Semenikhin // Mlada Rusija: napredne tehnologije u industriji. - 2013. - br. 2. - str. 82 - 85.

    4. Višekriterijumska optimizacija zasnovana na genetskim algoritmima u sintezi upravljačkih sistema: monografija. / L. A. Denisova. - Omsk: Izdavačka kuća OmSTU-a, 2014.- 170 str. -ISBN 978-5-8149-1822-2.

    5. Denisova, L. A. Automatizacija parametarske sinteze upravljačkog sustava pomoću genetskog algoritma / L. A. Denisova, V. A. Meshcheryakov // Automatizacija u industriji. - 2012. - br. 7. - str. 34 - 38.

    6. Huber, Peter J. Robusna procjena parametra lokacije // Anali statistike. - 1964. - br. 53. - str. 73-101.

    7. Semenikhin, S. V. Automatizacija pretraživanja informacija na osnovu višekriterijumske optimizacije i genetskih algoritama / S. V. Semenikhin, L. A. Denisova // Dinamika sistema, mehanizama i mašina. - 2014. - br. 3. - str. 224 - 227.

    8. Tie-Yan Liu, Jun Xu, Tao Qin, Wenying Xiong i Hang Li. LETOR: Reperni skup podataka za istraživanje o sticanju ranga za pronalaženje informacija // SIGIR 2007 Radionica o učenju za rangiranje za traženje informacija. - 2007.- S. 3-10.

    9. Ageev, MS Službena metrika RMIP -a "2004 / MS Ageev, IE Kuralenok // II ruski seminar o procjeni metoda traženja informacija (ROMIP 2004), Pushchino, 2004: tr .; Ed. S. Nekrest'yanova. - Sankt Peterburg: Istraživački institut za kemiju, Državni univerzitet Sankt Peterburg - P. 142-150.

    10. J. A. Nelder, R. Mead, Simplex metoda za minimiziranje funkcija, The Computer Journal 7 (1965). 308-313.

    Svyatoslav Vitalievich SEMENIKHIN, postdiplomski student Odsjeka za automatsku obradu informacija i sisteme upravljanja. Adresa za korespondenciju: [zaštićena e -pošta] DENISOVA Lyudmila Albertovna, doktor tehničkih nauka, vanredni profesor Katedre za automatizovane sisteme za obradu i upravljanje podacima. Adresa za korespondenciju: [zaštićena e -pošta]