Navchannya sıralaması. Her türlü makine öğreniminden önce evrensel pidhіd (mayzhe)

Makine öğreniminin başında, modellerin gücünü tahmin etme ve farklı algoritmaları eşleştirme, seçim ve analiz gibi metrikler seçilir - bir veri bilimcisinin çalışmasının yönetilemez bir parçası.

Bu yazıda, sınıflandırma görevlerinde doğruluk için bazı kriterler görebilir, bir metrik seçerken neyin önemli olduğunu ve yanlış olabileceğini tartışabiliriz.

Sınıflandırma görevleri için metrikler

Temel işlevleri göstermek için sklearn Ve ilk olarak, metrikleri ayarlayın, ilk istatistik kursunda tanıdığımız telekom operatörünün müşterilerinin girdilerine göre veri setimizi kazanacağız.

Gerekli kütüphanelere bir göz atın ve verilere hayran kalın

pd gibi pandaları içe aktarın matplotlib.pyplot benzeri arsayı matplotlib.pylab'dan içe aktarın, rc'yi içe aktarın, sklearn gibi sns gibi denizde doğanları içe aktarın. sklearn.metrics'den hassas_recall_curve'u içe aktar, sklearn.model_selection'dan sınıflandırma_reportunu içe aktar train_test_split'i içe aktar df = pd.read_csv("../../data/telecom_churn.csv")

Df.kafa(5)


Verilerin yeniden gübrelenmesi

# İkili sütunların katı bir şekilde eşlenmesi # ve yapay kodlanmış durum (basitlik açısından, ahşap modellerde bu şekilde çalışmamak daha iyidir) d = ("Evet": 1, "Hayır": 0) df["Uluslararası plan"] = df ["Uluslararası plan"].map(d) df["Sesli posta planı"] = df["Sesli posta planı"].map(d) df["Churn"] = df["Churn"].astype(" int64" ) le = LabelEncoder() df["Durum"] = le.fit_transform(df["Durum"]) ohe = OneHotEncoder(sparse=Yanlış) encoding_state = ohe.fit_transform(df["Durum"].values.reshape (- 1, 1)) tmp = pd.

Doğruluk, kesinlik ve hatırlama

Metriklerin kendilerine geçmeden önce, bu metrikleri sınıflandırma affı açısından tanımlamak için önemli bir kavramı tanıtmak gerekir. karışıklık matrisi(pardon matrisi).
İki sınıfımız ve bir cilt nesnesinin varlığını sınıflardan birine aktaran bir algoritmamız olduğunu varsayalım, o zaman sınıflandırmanın af matrisi saldırgan bir rütbe gibi görünecektir:

Gerçek Pozitif (TP) Yanlış Pozitif (FP)
Yanlış Negatif (FN) Gerçek Negatif (TN)

Burada – nesne üzerindeki algoritmanın referansı ve – nesne üzerindeki sınıfın referans işaretidir.
Bu şekilde, sınıflandırma afları iki türdür: Yanlış Negatif (FN) ve Yanlış Pozitif (FP).

Af algoritmasına ve motivasyon matrisine giriş

X = df.drop("Churn", axis=1) y = df["Churn"] # Tren ve test üzerindeki seçimi bölün, tüm metrikler test veri kümesinde değerlendirilir X_train, X_test, y_train, y_test = train_test_split(X , y , stratify=y, test_size=0.33, random_state=42) # Logistic regression sığdır lr = LogisticRegression(random_state=42) lr.fit(X_train, y_train) # Uyandırma matrisi işlevini hızlandır, normalize=Yanlış, title="( !LANG: (!LANG:Karışıklık matrisi", 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="karışıklık matrisi") plt.savefig("conf_matrix.png") plt.show()!}!}


Kesinlik

Sezgisel olarak mantıklı, açık ve hatta şiddet içermeyen metrik є doğruluk - algoritmaya verilen doğru cevapların bir parçası:

Bu metrik, eşit olmayan sınıflara sahip yöneticiler için uygundur ve örnek üzerinde gösterilmesi kolaydır.

Diyelim ki spam filtre robotunu değerlendirmek istiyoruz. 90'ı sınıflandırıcımız tarafından doğru olarak derecelendirilen (Doğru Negatif = 90, Yanlış Pozitif = 10) ve 5'i de doğru olarak derecelendirilen 10 spam listemiz (Doğru Olumlu = 5, Yanlış Negatif = 5) olmak üzere 100 spam olmayan listemiz var.
Todi doğruluğu:

Ancak, tüm sayfaları istenmeyen posta olmayan olarak öngöreceğimiz için daha yüksek bir doğruluk alırız:

Aynı zamanda, modelimiz kesinlikle güç iletme yeteneğine sahip değil, bu yüzden listeleri spam olarak etiketlemek istedik. Podolat bize tüm sınıflar için ortak olan metriklerden okremih pokasnikіv yakostі klasіv'a geçişi dopomozhe yapıyor.

Hassasiyet, geri çağırma ve F-ölçümü

Robotun kalitesini ve cilt algoritmasını değerlendirmek için, ölçüm hassasiyetini (doğruluk) ve geri çağırmayı (tekrarlamayı) sunuyoruz.

Kesinlik, sınıflandırıcı tarafından pozitif olarak adlandırılan ve aynı zamanda pozitif olarak adlandırılan nesnelerin bir parçası olarak yorumlanabilir ve geri çağırma, pozitif sınıfın nesnelerinin bir parçası olarak gösterilir ve pozitif sınıfın bilinen nesneleri algoritmayı bilir.

Kesinliğin tanıtılması, tüm nesneleri tek bir sınıfa kaydetmemize izin vermez, bu nedenle her durumda Yanlış Pozitif'i büyütmemiz gerekir. Geri çağırma, algoritmanın başlangıçta bu sınıfı gösterme yeteneğini ve kesinlik - bu sınıfı diğer sınıflardan ayırt etme yeteneğini gösterir.

Daha önce de belirttiğimiz gibi, sınıflandırma afları iki türdür: Yanlış Pozitif ve Yanlış Negatif. İstatistiklerde, ilk tür af, 1. tür af, diğeri ise 2. tür af olarak adlandırılır. Görevimiz birinci türe abone atamak, birinci türü affetmek, gidene sadık bir abone kabul etmek, ancak sıfır hipotezimiz abonelerin hiçbirinin gitmediği gerçeğine dayanıyor, ancak hipotezi görüyoruz. Görünüşe göre, farklı türden bir af, giden abonenin bir "izni" olacaktır ve bir af, sıfır hipotezini kabul edecektir.

Kesinlik ve geri çağırma, sınıfın spivvіdnoshennia'sı ve dengesiz titreşimlerin zihinleri için bu zastosovnі nedeniyle doğruluk temelinde yalan söylemez.
Çoğu zaman gerçek uygulamada, iki ölçü arasındaki optimal (vekil için) dengeyi bilmek gerekir. Klasik popo, müşterilerin randevularının atanmasıdır.
Şaka yapamadığımız çok açık Tümü müşteriler bir tek x. Ancak müşteri kazanımı için bir strateji ve kaynak tasarladıktan sonra, kesinlik ve geri çağırma için gerekli eşikleri seçebiliriz. Örneğin, sabahları yalnızca yüksek öncelikli müşterilere odaklanabilir veya sessiz kalarak kaynakları çağrı merkeziyle paylaşarak daha verimli olabilirsiniz.

Ses, algoritmanın hiperparametrelerini optimize ederken (örneğin, sıralama sırasında GridAramaCV) bir metrik kazanır, bu nedenle test seçiminde bunu takdir ediyoruz.
Kesinlik ve geri çağırmayı kalite kriterinin bir araya getirilmesinde birleştirmenin birkaç farklı yolu vardır. F-ölçümü (yarım) - orta harmonik kesinlik ve hatırlama:

Bu şekilde, doğruluk değerini metriklerde ve aynı ortalama harmonikte atarız (2 çarpanıyla, yani bazen kesinlik = 1 ve hatırlama = 1 ana)
F ölçüsü, 1'e eşit olan ve sıfıra yakın olan doğruluk ve doğrulukla maksimuma ulaşır, bu, argümanlardan birinin sıfıra yakın olduğu anlamına gelir.
sklearn, manuel bir _metrics.classification işlevine sahiptir bildiri cilt sınıfının yanı sıra cilt sınıfının kopya sayısı için geri çağırma, hassasiyet ve F-set.

Rapor = sınıflandırma_report(y_test, lr.predict(X_test), target_names=["Yağlanmayan", "Ağırlıklı"]) print(rapor)

sınıf hassas hatırlamak f1 puanı destek
olmayan 0.88 0.97 0.93 941
çalkalanmış 0.60 0.25 0.35 159
ort/toplam 0.84 0.87 0.84 1100

Burada, gerçek uygulamada geçerli olan dengesiz sınıfların zamanlarında, vir_vnyuvannya spіvvіdnoshennia sınıfları için veri setinin parça parça modifikasyon tekniğine girmek genellikle gerekli olduğuna dikkat edilmelidir. їx zengindir ve sizi rahatsız etmeyeceğiz, göreviniz için doğru olanı seçme yöntemlerine hayran kalabilirsiniz.

AUC-ROC ve AUC-PR

Bir konuşma konuşma algoritmasını (kural olarak, bir sınıfa aittir, ok div. SVM) bir ikili etikete dönüştürürken, eşik olup olmadığını seçmekten sorumluyuz, 0 ise 1'dir. optimal, örneğin, sınıfların bariz dengesi durumunda.

Modeli belirli bir eşiğe bağlı kalmadan bir bütün olarak değerlendirmenin yollarından biri AUC-ROC (veya ROC AUC) - alan ( A rea sen alt C urve) af eğrisinin altında ( r alıcı Ö perating C karakteristik eğri). Bu eğri, True Positive Rate (TPR) ve False Positive Rate (FPR) koordinatlarında (0.0) ile (1.1) arasında bir çizgidir:

TPR zaten bizim tarafımızdan biliniyor, bu doğru, ancak FPR, algoritmanın negatif sınıftaki nesneler için yanlış aktarıldığını gösteriyor. İdeal bir durumda, eğer sınıflandırıcı af vermezse (FPR = 0, TPR = 1), daha yalnız olan eğrinin altındaki alanı alırız; farklı bir şekilde, sınıflandırıcı sınıflar arasındaki farkı açıkça görürse, AUC-ROC 0,5'e yükselecek ve sınıflandırıcı aynı sayıda TP ve FP görecektir.
Grafikteki cilt noktası, etkin eşiğin seçimini doğrular. Bu durumda eğrinin altındaki alan, algoritmanın doğruluğunu (daha büyük - daha kısa), daha da önemlisi, eğrinin kendisinin dikliğini gösterir - TPR'yi en üst düzeye çıkarmak, FPR'yi en aza indirmek istiyoruz ve bu nedenle eğrimiz ideal olarak noktayı bükebilir ( 0,1).

ROC eğrileri oluşturma kodu

sns.set(font_scale=1.5) sns.set_color_codes("sessiz") plt.figure(figsize=(10, 8)) fpr, tpr, eşikler = roc_curve(y_test, lr.predict_proba(X_test)[:,1], pos_label=1) lw = 2 plt.plot(fpr, tpr, lw=lw, label="ROC eğrisi") plt.plot(, ) plt.xlim() plt.ylim() plt.xlabel("Yanlış Pozitif Oran ") plt.ylabel("Gerçek Pozitif Oran") plt.title("ROC eğrisi") plt.savefig("ROC.png") plt.show()


AUC-ROC kriteri, dengesiz sınıflar için kararlıdır (spoiler: ne yazık ki, her şey o kadar açık değildir) ve pozitif bir nesnenin sınıflandırıcı negatif nesne olarak derecelendirilme olasılığı olarak yorumlanabilir.

Aşağıdaki göreve bakalım: 1 milyon belgeden 100 ilgili belgeyi seçmemiz gerekiyor. Makine tarafından öğrenilen iki algoritmamız var:

  • algoritma 1 90'ı ilgili olan 100 belgeyi kontrol edin. bu şekilde,
  • Algoritma 2 90'ı ilgili olan 2000 belgeyi kontrol edin. bu şekilde,

Her şeyden çok, rakibimizdeki Yanlış Pozitiflerin en azı olan ilk algoritmayı seçerdik. İki algoritma arasındaki Yanlış Pozitif Oranı arasındaki Ale farkı deniz kabuğu küçük - sadece 0,0019. AUC-ROC'nin True Negative yerine False Positive'in bir kısmını kazanması ve görevlerde bu kadar önemli bir başka (daha büyük) sınıfımız olmaması nedeniyle, algoritmalar eşleştirildiğinde yeterli bir resim veremiyoruz.

Durumu düzeltmek için doğruluk noktasına dönüyoruz:

  • algoritma 1
  • Algoritma 2

Burada, iki algoritma arasındaki farkın tam olarak 0.855 olduğu not edilmiştir!

Hassasiyet ve geri çağırma, aynı zamanda, AUC-ROC'ye benzer şekilde, eğrinin altındaki alanı tanımasını teşvik etmek için tasarlanmıştır.


Burada, PR eğrisinin altındaki alanın küçük veri kümelerinde, yamuk yöntemi kullanılarak hesaplanan aşırı iyimser olabileceğinizi ancak bu tür veri kümeleri için yeterli olduğunu görebilirsiniz. AUC-ROC ve AUC-PR karşılıkları hakkında ayrıntılar için lütfen burayı ziyaret edin.

Lojistik Kayıp

Maliyetin lojistik fonksiyonunun maliyetine değer, şu şekilde öne çıkıyor:

burada nesne üzerindeki algoritmayı, nesne üzerindeki sınıfın doğru işaretini ve seçimin boyutunu takip etmek gerekir.

Maliyetin lojistik fonksiyonunun matematiksel yorumu hakkında bir rapor, doğrusal modeller hakkındaki yazının bir parçası olarak zaten yazılmıştır.
Bu ölçüm, iş liderleri tarafından nadiren kullanılır, ancak genellikle kaggle yöneticileri tarafından kullanılır.
Sezgisel olarak, yanlış iletim için bir ceza yoluyla doğruluğu en üst düzeye çıkarma hedefi olarak mantık kelimesinin en aza indirilmesini gösterebilirsiniz. Ancak, logloss'un sınıflandırıcıyı hatalı olduğu için cezalandırdığını da belirtmek gerekir.

Örneğe bakalım:

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)) " % logloss_crutch(1, 0,5)) >> Aşınmamış sınıf 0.693147 ile Logloss print("wwn sınıfı ve wirn_crutch %f ile Logloss" % logloss_crutch(1, 0.9)) >> wwwn sınıfı 1 ve w ile Logloss" Enjekte edilen sınıfta Logloss ve yanlış anahtar %f" % logloss_crutch( 1, 0.1)) >> Enjekte edilen sınıfta Logloss ve yanlış anahtar 2.302585

Anlamlı bir şekilde, yanlış sınıflandırma türüyle mantık ne kadar çarpıcı bir şekilde büyüdü!
Otzhe, bir nesne için af, oylamada aynı affı verebilir. Bu tür nesneler genellikle wiki olarak kullanılır, bu nedenle filtrelemeyi ve net görmeyi unutmayın.
Her şey yerli yerine oturuyor, bu yüzden mantık grafiğini çizin:


Zemin gerçeği = 1 ile algoritma sıfıra ne kadar yakınsa, af değeri o kadar büyük ve eğrinin büyümesi o kadar diktir.

Önerildi:

  • Zengin sınıf sınıflandırması zamanlarında, deri sınıfının metriklerini saygıyla takip etmek ve çözümün mantığını anlamaya çalışmak gerekir. yönetici, metrik optimizasyon değil
  • Farklı eşit olmayan sınıflar için, o metriğin oluşumu için sınıfların dengesini seçmek gerekir, böylece sınıflandırma kalitesinin doğru bir şekilde görüntülenmesi sağlanır.
  • makalelerin hazırlanmasında yardım için mephistopheies ve madrugado.

GoTo yaz okulu giriş testi görevinin hazırlanması sürecinde, ana sıralama ölçütlerine ilişkin Rusça pratik açıklamamın pratik olduğunu gösterdik (görevin görevi, neredeyse onaylanmış bir sıralama göreviyle ilgiliydi - teşvik etmek için bir öneri algoritması). E-Contenta'da bizler aktif olarak farklı sıralama ölçütlerini kazanıyoruz, bu yüzden bu makaleyi yazarak daha anlaşılmaz olanı düzelttik.

Sıralamanın yöneticisi her yerde suçlanıyor: web sayfalarını rastgele bir sırayla sıralama, haberlerin kişiselleştirilmesi, video önerileri, ürünler, müzik ... Tek kelimeyle, konu sıcak. Є doğrudan makine öğreniminden özel navit, sıralamada algoritmaların geliştirilmesiyle meşgul olduğu için, kendi kendine öğrenme - sıralamayı öğrenme. En çeşitli algoritmalar arasından seçim yapmak ve en iyisine yaklaşmak için hesabın doğruluğunu hesaba katmak gerekir. Sıralama ve timetsya kalitesinin en geniş metrikleri hakkında daha fazla.

Kısaca sıralama yöneticisi hakkında

Sıralama - bir seti sıralama görevi elementler h_rkuvan їх alaka. En uygun nesne. Örneğin, bilgi arama görevinde nesne istektir, öğeler tüm belgelerdir (onlara gönderilen) ve alaka düzeyi belgenin taleple ilgisidir, öneri nesnesinin görevinde nesne içeriktir, öğeler en çok tavsiye edilen içeriktir (ürünler, video, müzik) ve alaka düzeyi, içeriğin hızlı satın alınmasının (satın alma/beğenme/inceleme) yaratıcılığıdır.

Resmi olarak, N nesneye ve M öğeye bakarız. Nesne için öğeleri sıralama algoritmasının çalışmasının sonucu - tse fermantasyon, sanki cilt öğesi önemliymiş gibi, nesne öğesinin alaka düzeyini karakterize eder (nesne ne kadar önemliyse, nesne o kadar alakalı) . Bu durumda, vag yazmak, bir dizi öğe üzerinde bir permütasyon ayarlar (lütfen kişisel olmayan öğelerin sıralandığını unutmayın) ve bunları vag'deki değişiklikler için sıralayın.

Sıralamanın kalitesini değerlendirmek için, algoritmanın sonuçlarını eşleştirmenin mümkün olacağı bir ana “standart” olması gerekir. Belirli bir nesne için öğelerin "doğru" ilişkisini (- öğe mükemmel uyuyor, - alakasız) ve ayrıca gerçek permütasyonun kendisini (düşme için) karakterize eden alaka düzeyinin referans işlevine bakalım.

Kurtulmanın iki ana yolu vardır:
1. Tarihsel verilere dayanmaktadır. Örneğin, içerik önerileri sırasında bir göz atabilir (beğeniler, satın almalar) ve 1 () atayabilir ve reshte - 0 yapabilirsiniz.
2. Uzman değerlendirmesine dayalıdır. Örneğin, bir cilt sorgulaması talebinde bulunmak için, belgelerin sorguyla alakasını manuel olarak değerlendirmek için bir değerlendirme ekibinden yararlanabilirsiniz.

Varto, aşırı değerler olan 0 ve 1'den daha fazlası varsa, o zaman permütasyona bakılmaması gerektiğini ve sadece bunlar için kişisel olmayan ilgili unsurları koruyacağını belirtir.

Doğruluk sıralamasının meta metrikleri- alaka düzeyini ve uygun permütasyonu değerlendirmek için algoritma tarafından ne kadar kaldırıldığını belirlemek doğru alaka değerleri. Ana metriklere bakalım.

Ortalama ortalama hassasiyet

K'de ortalama ortalama hassasiyet ( [e-posta korumalı]) en popüler sıralama metriklerinden biridir. Sob razіbratisya, bunun nasıl çalıştığını, "temellerden" öğreneceğiz.

Not: "*kesinlik" metrikleri, yalnızca iki değer aldıklarında ikili problemlerde galip gelir: 0 ve 1.

K'de Hassasiyet

K'de hassasiyet ( [e-posta korumalı]) - K elemanlarındaki doğruluk - bir nesnenin sıralamasının doğruluğunun temel metriği. Sıralama algoritmamızın dış görünüm öğesi alaka düzeyi puanları gördüğünü varsayalım. Aralarından en büyüğü olan ilk öğeleri seçerek, ilgili olanlardan bazılarını seçebilirsiniz. K'de en iyi soygun hassasiyeti:

Saygı: pozisyona dayalı permütasyonun sonucu olan eleman anlaşılır. Yani, - maksimumu olan bir eleman , - şimdiye kadar i değerinden sonra başka bir elemanı olan bir eleman.

K'de ortalama hassasiyet

K'de kesinlik - metrik, bu uygulamayı anlamak için basittir, ancak önemli bir nedolіk olabilir - "üstteki" öğelerin sırası uygun değildir. Yani, on elementten birden fazlasını tahmin edersek, o zaman şarapların hangi yerinde olduğu önemli değil: ilkinde veya gerisinde - şans eseri olsun. Bununla, ilk seçeneğin oldukça kısa olduğu açıktır.

Tsey nedolіk nіvelyuє metrik sıralaması K'de ortalama hassasiyet ( [e-posta korumalı]) , maliyetli bir meblağ olarak [e-posta korumalı] k ve 1 ila K endeksleri için sadece ilgili elemanlar için, K ile bölünür:

Bu yüzden, eğer üç unsur benimle alakalıysa, ancak dünyanın geri kalanında biliniyorlarsa, o zaman sadece ilk sırada olduklarını tahmin ettiler ve eğer her şeyi tahmin ettilerse, o zaman.

Simdi ben [e-posta korumalı] diş içindeyiz.

K başına ortalama ortalama hassasiyet

K'de ortalama ortalama hassasiyet ( [e-posta korumalı]) - en başarılı sıralama ölçütlerinden biri. V [e-posta korumalı]і [e-posta korumalı] Sıralamanın kalitesi, okremy nesnesi (koristuvach, poshukovogo zaputu) için tahmin edilir. Pratikte, nesneler kişisel değildir: yüz binlerce koristuvachiv'den, milyonlarca poshukovyh içeceğinden haklı olabiliriz. Fikir [e-posta korumalı] bozmak için yemin etmek [e-posta korumalı] cilt nesnesi ve ortalama için:

Saygı: fikir tamamen mantıklı, öyleyse tüm coristuvachi'lerin eşit derecede gerekli ve eşit derecede önemli olduğunu varsayalım. Öyle değilse, basit bir ortalamanın değiştirilmesi, çarpılarak daha canlı hale getirilebilir. [e-posta korumalı] vіdpovіdnu yogo "önem" vagu üzerinde cilt nesnesi.

Normalleştirilmiş İndirgenmiş Kümülatif Kazanç

Normalleştirilmiş indirimli kümülatif kazanç (nDCG)- Bir başka genişletilmiş kalite sıralaması metriği. Yak ben vipadku z [e-posta korumalı], Gelelim temel bilgilere.

K'de Kümülatif Kazanç

Bir nesneye ve en önemli unsura tekrar bakalım. K'de kümülatif kazanç ( [e-posta korumalı]) - muzaffer basit bir fikir gibi temel sıralama metriği: bu konuyla ilgili hangi öğeler, daha sonra daha güzel:

Bu metrik açıkça eksiklikler olabilir: normalleştirilmemiştir ve ilgili öğelerin konumunu sağlamlaştırmaz.

Saygılarımla, vіdmіnu'da ne var [e-posta korumalı], [e-posta korumalı] Referans alaka düzeyinin farklı ikili olmayan değerlerini de kazanabilirsiniz.

K'de İndirimli Kümülatif Kazanç

K'de indirimli kümülatif kazanç ( [e-posta korumalı]) - K noktasındaki kümülatif kazancın modifikasyonu, öğenin alaka düzeyini konum numarasının ters logaritmasına karşılık gelen değerle çarparak listedeki öğelerin sırasını artırır:

Not: Yalnızca 0 ve 1 değerlerini kabul ettiğinden, o zaman , formül daha basit görünüyor:

İndirgemenin bir işlevi olarak logaritmanın varyasyonu, bu tür sezgisel karşılaştırmalarla açıklanabilir: listenin koçanındaki konumların sıralamasına bakıldığında, ikinci kategorinin daha düşük konumları olan zengin bir şekilde daha güçlü görünüyorlar. Bu nedenle, bir arama motoru söz konusu olduğunda, 1 ve 11 konumları arasında, sayı doğrudur (çıkartma konumlarında arama görünümünün ilk tarafında daha az ileri gitme olasılığı daha düşüktür) ve özellikle çok az kişi bunlara ulaşabilir. Qi subjektif mirkuvannya, logaritmanın yardımıyla mucizevi bir şekilde geri döner:

İndirgenmiş kümülatif kazanç, ilgili öğelerin konumlarının şekli sorununu ortadan kaldırır, ancak günlük normalleşme sorununu daha da karmaşık hale getirir: aralıklarda değişiyorsa, değer net görünmüyor. Virishiti tsyu sorunu poklikana gel metrik

K'de Normalleştirilmiş İndirgenmiş Kümülatif Kazanç

Adını nasıl tahmin edebilirsin, K'de normalleştirilmiş indirimli kümülatif kazanç ( [e-posta korumalı]) - normalleştirilmiş bir sürüm gibi başka bir şey yok [e-posta korumalı]:

de - ce maksimum (I - ideal) değerdir. Oskіlki mi domilis, o zaman scho anlam kazanır.

Bu sayede listedeki elemanların konumlarının görünümünde azalma ve aynı zamanda değeri 0 ile 1 aralığında artış göstermektedir.

Saygı: ile analoji için [e-posta korumalı] tüm nesnelerin ortalamasını alarak porahuvati yapabilirsiniz.

Ortalama karşılıklı sıralama

Ortalama karşılıklı sıra (MRR)- genellikle galip gelen başka bir kalite sıralaması metriği. Kendinize şu formülü sorun:

de - karşılıklı sıralama inci nesne için - daha değerli olan günlük değeri için daha da basit ilk doğru tahmin edilen elemanın yarası.

Öğelerin aralığında ve konumunda ortalama karşılıklı sıralama değişiklikleri. Şarabın yalnızca bir unsur için çalışması üzücü - bir tanesi açıkça abartılıyor, tüm adımlara acımasızca saygı duyulmuyor.

Sıra korelasyonuna dayalı metrikler

Okremo, katsayılardan birine dayanan kalite sıralaması metriklerini görmek için var. sıra korelasyonu. İstatistikte, sıralama korelasyon katsayısı aynı korelasyon katsayısıdır, bu aynı değer değildir, sıralamalarından (sıralamalarından) daha küçüktür. Sıra korelasyon katsayılarının en geniş aralıklarından ikisine bakalım: Spirman ve Kendell katsayıları.

Kendell'in sıra korelasyon katsayısı

Bunlardan ilki, mutluluk şöleninin sebeplerinden biri olan Kendell'in korelasyon katsayısıdır.
(kullanılmadım) permütasyon çiftleri - aynı (farklı) sırada verilen permütasyonlar gibi eleman çiftleri:

Spirman'ın sıra korelasyon katsayısı

Diğeri Spearman'ın sıra korelasyon katsayısıdır - aslında, sıra değerlerine dayalı olarak Pearson'ın korelasyonuna en az benzeyendir. Herhangi bir orta zemin olmadan saflardan tersine çevrilebilecek bir formül bulmak kolaydır:

de – Pearson korelasyon katsayısı.

Sıra korelasyonuna dayalı metrikler zaten bize eksiklikler verebilir: öğelerin konumunu korumazlar (daha düşük [e-posta korumalı], Çünkü korelasyon, en yüksek dereceye sahip K öğeleri için değil, tüm öğeler için değerlenir). Bu nedenle, kazanmak nadiren pratiktir.

Kademeli davranış modeline dayalı metrikler

O zamana kadar, koristuvach gibi olanlara (nesnenin kenarına - koristuvach'a baktık) yoma unsurlarını savunanlara gömülmedik. Aslında, örtük olarak, deri elemanına bakan bir eklemi patlattık. bağımsız diğer unsurlara bakmak - bir tür "naїvnіst". Aslında elementler en çok yanaklarda coristuvach olarak görülür ve coristuvach ilerleyen elemente bakanlar memnuniyetle karşılarına yatarlar. Popoya bir göz atalım: arama motorunun isteği üzerine, belgenin çaçasını savunan sıralama algoritması istenir. 1. ve 2. konumdaki belgelerin son derece alakalı olduğu ortaya çıktıysa, 3. konumdaki belgeye bakma olasılığı azdır, çünkü İlk ikisinden memnun kalacaksınız.

Koristuvach'ın davranışının benzer modelleri, size sunulan öğelerin türetilmesi sırayla ele alınır ve öğeyi öncekilerin alaka düzeyine düşmek için gözden geçirmek mümkündür. basamaklı.

Beklenen karşılıklı sıralama

Beklenen karşılıklı sıralama (ERR)- Kademeli modele dayalı bir kalite sıralaması metriği örneği. Kendinize şu formülü sorun:

düşme sırası için de rütbe razumієtsya. Bu metrikle ilgili en önemli şey imovirnosti'dir. їх rozrahunku vykoristovuyutsya kaskad modeli ne zaman:

de - ymovirnist o koristuvach rütbe ile nesne ile tatmin olacaktır. Değerler, değere göre değerlenir. Yani, bize göre, basit bir seçeneğe bakabiliriz:

hangi gibi okunabilir: öğenin konuma göre göreceli alaka düzeyi Sonunda, bir tutam kahverengi silan yapacağız

UDC 519.816

S.V. SEMENIKHIN L.A. DENISOVA

Omsk Devlet Teknik Üniversitesi

MAKİNE BAŞLANGIÇ SIRALAMASI YÖNTEMİ

IPCO METRİK İÇİN DEĞİŞTİRİLMİŞ BİR GENETİK ALGORİTMA TEMELİNDE

Bilgi arama sonuçları ve sıralamanın makine öğreniminin gücü tarafında belgelerin sıralama sırası gözden geçirildi. PIDHID, değiştirilmiş bir genetik algoritmaya dayalı olarak IOS kalite metriğinin varyasyonu ile sıralama işlevini optimize etmek için önerildi. Algoritmaların geliştirilmesine yönelik bir çalışma (HETO^ test koleksiyonları üzerinde) yapıldı ve bunların makine öğrenimi sıralaması için etkinlikleri gösterildi.

Anahtar kelimeler: bilgi arama, makine öğrenimi sıralaması, uygunluk, optimizasyon, genetik algoritmalar.

1. Giriş. Günümüzün bilgi-bulmaca sistemlerinde (IPS) sistemin çalıştığı veriler vardır, katlar büyüktür, bunlar coristuvacha'nın dürtme isteğine cevap verebilmek için ilgili belgelerin sıralamasının kilit görevleridir. IPS'nin geliştirilmesinin bu aşamasında, en büyük ilgi makine öğrenimi (MO) sıralamasındadır. Іsnuyuchi, sayısal yöntemlere (zocrema, gradyan yöntemlerine) veya analitik çalışmalara dayanan MO'ya gider, ilgili belgelerin sıralanması için gerekli olan bilgi sorusunun ve zamanlamanın kalitesine bir dizi nedolіkіv, yakі suttєvo enjekte edebilir.

Araştırmanın koçanında, gradyan iniş yönteminin seçildiği sıralamanın makine öğrenimine ulaşmak için listelere bakıldı. Bu robotlarda MO, arama kalitesi metriğinin (MCP) optimizasyonuna getirilir, ancak yalnızca kesintisiz işlevlerle temsil edilen metrikler kazanır. Maliyeti, optimizasyonun bir sonucu olarak, sıralama fonksiyonunun kabul edilen önemli göstergelerin (DCG, nDCG, Graded Mean Reciprocal Rank, vb.) fonksiyonlar. Robotlar, referans değeri olarak uzman uygunluk değerlendirmelerinin elde edilmesiyle Huber'in girdilerinin işlevinin en aza indirilmesi için bir sıralamanın tanıtılmasıyla genetik algoritmaları (GA) kullanmaya teşvik edilir. Bu nedenle, bilgi araştırması kalitesinin ayrık ölçümlerinin optimizasyonu temelinde MO'ya hızlı bir şekilde sunuldu.

2. Makine öğrenimi sıralaması sorununun ifadesi. Çoğu modern bilgi itme sistemi için, sıralama işlevi n basit sıralama işlevine (PRF) dayalı olacaktır ve şu şekilde yazılabilir:

de SRF¡ - ¡-d belgesi için basit bir sıralama fonksiyonu ve d girişi, WCi - ¡-oї basit sıralama fonksiyonunun katsayınız, n - sıralama sistemindeki PRF sayısı.

Makine öğrenimi sırasında, sıralama bir dizi arama belgesi B ve LBTOYA'nın test koleksiyonundan Hakkında istekleri tarafından sıralandı. Tüm uygulamalar için deO, bir cilt belgesi deD ile bir çift oluşturulmuştur. Böyle bir cilt bahsi için, IPC, görsel türlerin sıralaması için puanlanan alaka düzeyine göre belirlenir. Sıralamanın kalitesini tahmin etmek için sistem, cilt bahisi belge-zap ^, e) alaka düzeyi E'nin bir referans değerine ihtiyaç duyar. Bu nedenle, ilgili uzman değerlendirmeleri puanlanır.

IRS vicoristan analizini gerçekleştirmek için sıralama, optimallik vektör kriterini karşılamak için N = 5 basit sıralama fonksiyonu SRFi(WC)l r = 1, N temelinde gerçekleştirilir:

de WCе (WC) - değişen parametrelerin vektörü; (ShS), (YB) - parametrelerin kapsamı ve vektör kriterleri makul.

MO sıralaması için genetik algoritmaların geliştirilmesi, nDCG gibi ayrık kalite ölçümlerinin maksimize edilmesini sağlar. Arama sistemindeki belgeleri sıralamak için nDCG metriği, şu noktaya kadar önemli ölçüde değişiklik gösterir:

DCG@n=X2---

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

degrade(p) - sonuçlar listesinde p konumunda sıralanan belgeye uzmanlar tarafından verilen ortalama alaka puanı, gradee; 1/log2(2 + p) - belge konumunda yatırılması gereken katsayı (ilk belgeler daha önemli olabilir).

NDCG sürümü normalleştirilmişse, şu adresten kaydolun:

[e-posta korumalı] n = VZG@P/g,

de g - 0С'nin mümkün olan maksimum değerine eşit olan normalleştirme faktörü [e-posta korumalı] n bu istek için (böylece TOV ideal olarak sıralanır).

Bu şekilde, POCO metriklerini optimize etmek (maksimize etmek) için, saldırganda hedef fonksiyon (YM) yazılır.

3. Shukovoi vidachi'ye göre sıralama kalitesine ilişkin metrikler. Belgeleri sıralarken, kalite metrikleri arama kriterlerinin rolünü oynar. IRS'nin kalitesini değerlendirmek için küresel olarak kabul edilen metrikler listesinden, bilgi aramanın doğruluğunu, alaka düzeyini ve eksiksizliğini değerlendiren üç ana metrik seçildi.

1. Bir bilgi aramasının doğruluğu için kriterler

de a - bilinen ilgili belge sayısı, b - af tarafından ilgili olduğu kabul edilen belge sayısı.

2. Bilgi aramanın uygunluğunu değerlendiren Bpref kriteri, R ile ilgili belgelerle bir görevin işlenmesi için seçilir ve formüle göre hesaplanır

Bpref = - ^ (1 - Yeniden Olmayan ¡Önce(r)/R). (4)

Burada, r sembolü ilgili bir belgeyi belirtir ve NonRelBefore(r) daha yüksek, r'den daha düşük sıralanan alakasız belgelerin sayısıdır (sayma yapılırken, her çalışma için yalnızca ilk R dereceli alakasız belgeler verilir).

3. Arama görünümünün eksiksizliği için kriterler

r = a/(a+c),

de a – Bulunan ilgili belge sayısı, h – Bulunamayan ilgili belge sayısı.

4. Test koleksiyonları. Makine öğrenimi sıralaması görevi, uzmanlar tarafından atanan en alakalı uygunluk değerlendirmelerinden gelen bir dizi belge ve talep gerektirir. Değişen işlevlerin makine öğrenimi için ve kalitenin değerlendirilmesi için veri sayıları değiştirilir.

arama sistemine göre sıralama MO sürecinde, ilk seçim olarak test koleksiyonları seçilir ve bu nedenle sonuçlar üzerinde önemli bir etkisi olabilir. Araştırmayı yürütmek için LETOR'dan bir test belge ve talep koleksiyonu topladık. Bu koleksiyon, Microsoft Research tarafından araştırma alanındaki önceki araştırmalara verilmiştir. Masada 1, LETOR test koleksiyonlarının özelliklerini gösterir.

5. Genetik algoritmanın modifikasyonları. Makine öğrenimi için genetik algoritmaların seçimi için, sıralama görevi böyle bir sırada ayarlanabilir, böylece karar belirli bir vektör (genotip) için kodlanmıştır, bir gen bir bit, bir sayı veya bir başkası ile kodlanabilir. nesne. Bu şekilde, genotip, sıralama faktörlerinin katsayılarınızın vektörü ile temsil edilir. p align="justify"> Genetik algoritmanın entelektüel taneleri є znahodzhennya optimal çözüm, evrime dahil edilen nesillerin veya saatlerin sayısını çıkararak.

GA'nın küresel ekstremum alanında en etkili olduğu, bu bölgedeki yerel minimumun bilinmesi gerekiyorsa, direncin tam olarak uygulanabileceği unutulmamalıdır. Bu eksikliği önlemenin yolunun önerisi - temel GA'nın yardımı için global optimum alana ulaştıktan sonra yerel (swidcoded) bir optimizasyon algoritmasına dönüştürülebilen değiştirilmiş bir genetik algoritmanın (MGA) oluşturulması. Klasik GA ve Nelder-Mead yöntemine (simpleks algoritma) dayalı hibrit bir yöntem kullanan robotik MGA'da önerme. Nelder'in yöntemi - Genellikle doğrusal olmayan optimizasyon algoritmasını kazanan Mead, zengin bir dünyada minimum hedef işlevini bulmak için sayısal bir yöntemdir. Bu robotik hibrit algoritma MGA'nın proponasyonu, Nelder'in yöntemine geçer - GA dişlerinin beyin yıkanmasından sonra Orta. MGA algoritmasının blok diyagramı, Şek. bir.

Hesaplama sonunda, global ekstremum alanına bakıldığında hedef fonksiyonun (Nrf = 16 000) hesaplama sayısı ile takas yapılması ve buna dayalı olarak yerel optimizasyon algoritmasına zihin geçişinin yapılması kabul edilmiştir. Nelder-Mead yöntemi (ve ayrıca temel genetik algoritma olarak %75 N'dir).

6. Sonuçlar. Makine öğrenmesi algoritmasına yardımcı olmak için yapılan araştırma sonucunda

tablo 1

Test koleksiyonları için belge ve talep sayısı

Test koleksiyonu adı Alt sistem adı İstek sayısı Belge sayısı

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

Pirinç. 1. Genetik algoritmalara ve Nelder-Mead yöntemine dayalı hibrit MVL algoritmasının akış şeması

Sıralama LTR-MGA, sıralama işlevi için WC* katsayılarının bir vektörünü aldı. Ardından, LETOJA test koleksiyonundan elde edilen verilere dayanarak, kalite metriklerinin hesaplanmasının gerçekleştirildiği sıralamanın kalitesinin bir değerlendirmesi yapıldı. Kalite sıralamasının ayrık metriği [e-posta korumalı] sistemdeki ilk belgelerin kalitesini değerlendirir. Sıralamanın kalitesini değerlendirmek için küresel olarak kabul edilen metrikler є [e-posta korumalı], [e-posta korumalı]і [e-posta korumalı] Daha detaylı inceleme için itiraz edin [e-posta korumalı] 1'den 10'a kadar tüm n türleri için. Genişletilmiş algoritmanın net çözümlerle verimliliğini artırmak için, LETOIA 3.0 koleksiyonlarında verilen farklı sıralama algoritmalarından bir sıralama analizi yapıldı. NDCG metriği için TB2003 ve TB2004 test koleksiyonları için algoritmik modifikasyonun sonuçları Şekil 2'de gösterilmektedir. 2. Sonuçlar, LTR-MGA algoritmasının test algoritmalarından daha iyi performans gösterdiğini ve en yüksek değerlerin olabileceğini gösteriyor.

için toplanmak [e-posta korumalı](İlk belge düzeyinde). LTR-MGA algoritmasının avantajı, NDCG metriğinin kendisinin, sıralama fonksiyonunu optimize etmek için önerilen bir yaklaşımda hedef fonksiyonunun kalitesine göre sıralanmasıdır.

Önerilen LTR-MGA algoritmasını eşleştirirken sıralamanın kalitesini tahmin etmek için, arama motorundaki belgelerin sıralamasının kalite metriklerinin değerleri hesaplandı (Şekil 3). Farklı bir temel sıralama işlevi, temel LTR-GA algoritması ve değiştirilmiş LTR-MGA algoritması ile sıralama sonuçlarının (Tablo 2) olasılığı, geri kalanın üstünlüğünü gösterir.

Ayrıca gün sonunda MO sıralaması için gerekli saat tahmini verildi. LTR-MGA önerme yönteminin, muzaffer geleneklere dayanan herhangi bir pidhid gösterisinde altüst olduğunu doğrulamak gerekir.

Pirinç. 2. Makine öğrenimi sıralamasında algoritma eşleştirme

test koleksiyonları için NDCG metriğine göre: zlіva - veri toplama Gov03td, sağ elini kullanan - veri toplama Gov04td

Pirinç. 3. Temel sıralama formülü ve öğrenme algoritmaları LTR-GA ve LTR-MGA için sıralama kalitesi metriklerinin değerlendirilmesi

Çeşitli makine öğrenimi algoritmaları için değişen kalite ölçümleri.

Tablo 2

Değişken kalite metriği Temel sıralama işlevi LTR-GA LTR-MGA Değişen metrik değeri, %

Doğruluk 0,201 0,251 0,267 26,81

[e-posta korumalı](ilk 5 belge) 0,149 0,31 0,339 90,47

[e-posta korumalı](ilk 10 belge) 0,265 0,342 0,362 29,14

Bpref 0.303 0.316 0.446 51.49

Toplam 0,524 0,542 0,732 39,03

* Belirli bir metrik için en iyi değeri gördük

genetik algoritma (LTL-OL). Tablo 3.

7. Visnovok. Bu şekilde yapılan çalışmalar, farklı bir proponated yaklaşımla, IRS'deki sıralama metriklerinin değerlerinin arttığını göstermiştir (ortalama olarak% 19,55, LTYA-OL algoritmasına eşittir). Bu, LTYA-MOL'un doğru çalıştığını ve sıralama işlevini önemli ölçüde iyileştirdiğini kanıtlar, böylece optimizasyon görevini başarıyla ihlal eder. Değiştirilmiş bir algoritmanın yardımı için

hedef fonksiyonun hesaplama sayısına göre değişimin tanıtımının yerel optimizasyon yönteminin hesaplanması için, makine öğreniminin saati azaldı (ortalama olarak,% 17.71, geleneksel genetik yönteminkine eşittir) algoritma LTYL).

LTYA-MOL sıralamasının makine öğrenimi için algoritmanın bölünmesi, IPS'deki sıralamaya dayanabilir, böylece sıralama modeli, sıralanan basit işlevlerin bir kombinasyonuna dayanır. Bununla birlikte, bir sonraki adım, önerilen yaklaşımın zastosuvannya'sı için fon değişiminin diyakozlarını rehabilite etmektir. Dayalı

İlk seçimin büyüklüğüne göre nadas alanındaki makine öğrenmesi sıralamasının saatinin değerlendirilmesi

Tablo 3

Belgelerin metin koleksiyonunu genişletme

Kötü Saat LTR-GA

Kötü Saat LTR-MGA

Bekleme saatindeki değişim, %

Ortalama değer

* Renkli olarak, test koleksiyonunun belirli bir boyutu için en iyi değer görülür

Sonuçlar çıkarıldığında, MO'dan sonra en büyük artışın, değeri bir hedef fonksiyonu olarak kabul edilen sıralamanın kalitesinin ölçütü olabileceği ortaya çıktı. O saatte, diğer metrikler önemli bir artışa neden olabilir ve bazı durumlarda değerlerini artırabilir. Ununennya tsgogo nedolіku transfer virishuvati optimizasyon görevine olası yaklaşımlardan biri olarak zengin kriterler olarak: arama motoru türünün sıralamasının ana metriklerinin sayısını eşit olarak artırın, birini değiştirin. Ek olarak, daha sonraki çalışmalarda, bilgi arama sürecini iyileştirmek için ana sıralama kalite metriklerinin doğrusal bir gruplandırmasına dayalı bir hedef fonksiyonu oluşturmak için bir metodoloji geliştirilmesi planlanmaktadır.

bibliyografik liste

1. Tie-Yan Liu. Bilgi Erişimi Derecesine Başlarken // Bilgi Erişiminde Dergi Temelleri ve Eğilimler. Cilt 3, sayı 3. Mart 2009. S. 225-331.

2. Christopher J.C. Burges, Tal Shaked, Erin Renshaw. Gradient Descent'i kazanmaya hazırlanıyor // Proceeding ICML "05 Makine öğrenimi üzerine 22. uluslararası konferansın bildirileri. 2005. S. 89-96.

3. Semenikhin, S. V. Genetik algoritmalara dayalı bir dürtme sistemi ile belge sıralamasının makine öğreniminde ilerleme / S. V. Semenikhin // Rusya genç: ileri teknolojiler - ön planda. - 2013. - No. 2. - S. 82 - 85.

4. Bakım Sistemlerinin Sentezinde Genetik Algoritmalara Dayalı Kriter Bazlı Optimizasyon: monografi. / L.A. Denisova. - Omsk: OmDTU'nun Görünümü, 2014. - 170 s. - ISBN 978-5-8149-1822-2.

5. Denisova, L. A., Meshcheryakov, V. A. Genetik algoritmanın varyasyonuna dayalı kontrol sisteminin parametrik sentezinin otomasyonu / L. A. Denisova, V. A. Meshcheryakov - 2012. - No. 7. - S. 34 - 38.

6. Huber, Peter J. Konum Parametresinin Sağlam Tahmini // İstatistik Annals. - 1964. - No. 53. - S. 73-101.

7. Semenikhin, S.V., Denisova L.A. Zengin kriterli optimizasyon ve genetik algoritmalara dayalı bilgi araştırmalarının otomasyonu / S.V. Semenikhin, L.A. Denisova // Sistem, mekanizma ve makinelerin dinamiği. - 2014. - No. 3. - S. 224 - 227.

8. Tie-Yan Liu, Jun Xu, Tao Qin, Wenying Xiong ve Hang Li. LETOR: Fiziksel kayıt için görselleştirme için Benchmark Veri Kümesi // Tartışma için nesne referansı için SIGIR 2007 Atölyesi. - 2007. - S. 3-10.

9. Агєєв, M. S. Official metrics Р0МІП "2004 / М. С. Агєєв, I. Е. Kuralenok // II Rus Bilgi Arama Yöntemlerinin Değerlendirilmesi Semineri (ROMIP 2004), Pushchino, 2004: tr.; ed. І S. Nekrestyanova.- St. Petersburg: St. Petersburg Devlet Üniversitesi NDI Kimyası.- S. 142-150.

10. J.A. Nelder, R. Mead, Fonksiyon minimizasyonu için bir tek yönlü yöntem, The Computer Journal 7 (1965). 308-313.

SEMENIKHIN Svyatoslav Vitaliyovych, "Bilgi işleme ve yönetim için otomatik sistemler" bölümünün yüksek lisans öğrencisi. Listeleme adresleri: [e-posta korumalı] DENISOVA Lyudmila Albertivna, Teknik Bilimler Doktoru, "Bilgi İşleme ve Yönetim için Otomatik Sistemler" Bölümünde Doçent. Listeleme adresleri: [e-posta korumalı]

Çoğu zaman bir sistem analistinin pratiğinde, ne FRD olur, konuşmalar yapılır, ne resmileştirilmez. Popo güçlü bir tip olabilir:

  • Program pratsyuvati shvidko'dan suçlu
  • Ek, az trafik tasarrufu sağlamaktan suçlu
  • Video materyali akredite edilebilir.

FRD'de "є gibi" kaydedilen Takі vomogi, є zhahlivym zherel sorunları zgodom. Böyle bir vimogun resmileştirilmesi, analistin daimi başkanıdır. Analisti görevi iki şekilde kırmaya çağırın: Başın arkasında “eşdeğer” bir biçimsel güç var, sonra parçalanma sürecinde (bir vekilden, o konuda bir uzmandan) getiriliyor. Böyle bir biçimsel gücün diğer gücün yerini alabileceği kadar. Görünüşe göre Vzagali, işlevsel olmayan vimog'u ortadan kaldırdık; sistemin “ne” için suçlanacağı değil, “nasıl çalışacağı” anlamına gelir. Eğer öyleyse, "robit gibi" belirli bir yak_snoy özelliği ile formüle edilebilir.

Bu, sistem analistinin matematiksel aygıtta iyi şanslar getirdiği ve aynı zamanda yardımcısına "matematiği" açıklaması gerektiği tezinin önsözüydü. Ve şimdi örneğe bakalım.

Sınıflandırma görevi hakkında

Amazon Omakase'e benzer bir içeriğe dayalı reklamcılık sistemi olan FRD'yi yazdığımızı varsayalım. Gelecekteki sistemimizin modüllerinden biri bir bağlam analizcisi olacaktır:

Çözümleyici, web sayfasının metnini girdi olarak alır ve bağlamsal bir analiz gerçekleştirir. Soymak için şaraplar gibi olanlar, özellikle bizi gıdıklamazlar; çıkışta bir dizi ürün kategorisi seçmemiz önemlidir (hangi siparişin atandığı anonim). Dali, bu kategorilere göre sadece bannerlar, ürün teklifleri (Amazon gibi) gösterebiliyoruz. Bizim için analizör hala siyah bir ekran, böylece gücü (belge metninin önüne) koyabilir ve hesaba katabiliriz.

Zamovnik, isterseniz, “bağlamın iyi anlaşılmasının” bir analizcisidir. Bunun ne anlama gelebileceğini formüle etmemiz gerekiyor. Bağlam hakkında şöyle konuşalım, tobto. analizör tarafından döndürülen aynı kategori seti hakkında. Belge (web sitesi) tek numaradan anonim bir sınıfa ayarlanmışsa bir sınıflandırıcı atayabilirsiniz; farklı sınıf - ce emtia kategorisinde. Sınıflandırıcılar genellikle metinlerin işlenmesinde kullanılır (örneğin, spam filtreleri).

Değerlendirme Metrikleri

Sınıflandırma görevine yol açacak olan değerlendirme ölçütlerine bir göz atalım. Kabul edilebilir, ne biliyoruz doğru belge sayısı kategorisi. Varsayımsal analizörümüze göre saldırgan bir rütbeye göre gruplandırılmıştır:

  • Gerçek pozitif ( gerçek pozitifler) - bu kategori, çıkışta yakі mi ochіkuli pobachiti ve otrimali
  • Hibno-pozitif ( yanlış pozitifler) - çıkışta suçlu olmayan kategoriler ve çıkışta dönen analizör їх pomilkovo
  • Hibno-negatif ( yanlış negatifler) - kategoriler, yakі mi'nin puanlama hataları var, ancak analizör їх önemli değil
  • Gerçek negatif ( gerçek negatifler) - çıkışta ve analizörün çıkışında suçlu olmayan kategoriler, gün içinde koku kesinlikle doğrudur.

Buna, doğru ifadeleri bildiğimiz isimsiz belgelerin (tarafların) test seçimi diyoruz. Cilt kategorisine göre maruz kalma sayısı nasıl iyileştirilir (vurmadan bağımsız olarak) çiftler belge - kategori), kanonik plaka rozpodіlu vіdpovіdey alıyoruz:

Tablonun sol sütunu o kategorideki (varlığını çıkışta görebildiğimiz) belgelere göre “doğru”, haklar yanlış. Tablonun üst satırı sınıflandırıcı için pozitiftir (pozitif), alt satır ise negatiftir (bizim durumumuzda, sınıflandırıcı için kategori boştur). Tüm çiftlerin sayısı kaçtır? belge - kategori bir n, o zaman konuşmanın bir önemi yok, şo

Artık bir ikamenin yardımını bir zagalda bir bakışta (yanlış girişlerin sayısı sıfıra eşittir) ve hangi satırda yazmak mümkündür. Bununla birlikte, pratikte, bu tür sistemler kullanılmaz ve analizör, zrozumіlo, pratsyuvatime bir test numunesi gibi affedilir. Af sayısını anlamak, doğruluk (doğruluk) ölçütü konusunda bize yardımcı olacaktır:

Sayı defterinde, matrisin köşegeni - sayı sayısını bölen toplam doğru giriş sayısı. Örneğin, 10 olası cevaptan 9'unu doğru cevaplayan analizci %90'lık bir tahmine sahip olabilir.

Metrik F 1

İyi bir marka atama görevi olan doğruluk ölçümlerinin yanlışlığının kıçını kullanalım. İzin verilebilir, metinde birkaç coşkulu marka bilmecesi eklemek istiyoruz. Marka adı (Timberland, Columbia, Ted Baker, Ralph Lauren vb.) ile belirtilen, yöntemi belirlenecek olan sınıflandırma görevine bir göz atalım. Aksi takdirde, metinde dünya iki gerçeklik sınıfına bölünmüş gibi görünüyor: A - Vzuttevy markası, B - Diğer her şey.

Şimdi basitçe B sınıfını (Diğer her şey) dönüştüren virojen sınıflandırıcısına bakabiliriz. her neyse varlıklar. Hangi sınıflandırıcı için, gerçekten olumlu görüşlerin sayısı 0'a eşittir. Konuyu düşünelim, ancak internette bir metin okurken, genellikle brendi sesini duyuyoruz? Görünen o ki, metnin %99,9999'unun sonbaharda olması şaşırtıcı değil. popüler markalar tarafından değil. 100.000 seçimi için aşağıdaki matrise bir göz atalım:

99990 / 100000 = %99,99 olan doğruluğu hesaplayalım! Daha sonra, aslında hiçbir şeyi soymayan sınıflandırıcı tarafından kolayca yönlendirildik, ancak çok sayıda doğru ifade var. Aynı zamanda atanan markanın atanmasını ihlal etmediğimiz de tam olarak anlaşıldı. Sağda, metnimizdeki doğru öz, başka bir deyişle, güçlü bir şekilde seyreltildiği için, sınıflandırma için herhangi bir önemi olamaz. Tüm popoya baktığımda, diğer ölçümleri geçme ihtiyacını tamamen anladım. Örneğin, anlam tn açıkçası є "smіtєvim" - vono nachebto doğru görüş, ale genişlemesi anlamına gelir tn sonuç olarak, güçlü bir şekilde "prinіchuє" katkısı tp(ki bu bizim için önemli) formül doğruluğunda.

Şunlar gibi hassasiyet (P, kesinlik) dünyasına önemli ölçüde:

Ne kadar hatırladığınız önemli değil, doğruluk dünyası karakterize eder, olumlu bulguların sınıflandırıcısından alınan puanlar doğrudur. Doğruluk ne kadar yüksek olursa, af isabetlerinin sayısı o kadar az olur.

Doğruluğun prote dünyası, sınıflandırıcıyı döndürmede hepsi doğru olanlar hakkında bir açıklama yapmaz. Bu yüzden dünya yeniden çağrıldı (R, hatırlama):

Dünya, puanlamadan en olumlu sonuçları "tahmin eden" sınıflandırıcının yapısını sürekli olarak karakterize ediyor. Saygılarımla, bu af-olumlu görüşler bu metriğe katkıda bulunmaz.

Kesinlik ve Geri Çağırma, sınıflandırıcının nihai özelliklerini ayrıca “farklı kesimlerden” verir. Bu tür sistemler tarafından tüm saati iki ölçüm arasında dengeye getirmesi istendiğinde ses. Geri Çağırmayı iyileştirebildiğiniz için, sınıflandırıcı daha iyimser hale gelir, böylece af-olumlu yanıtların sayısını artırarak Kesinliği artırabilirsiniz. Eh, eğer sınıflandırıcınızı eklerseniz, daha "kötümser" olur, örneğin, sonuçları filtrelerseniz, o zaman artan Hassasiyet ile, doğru eşleşmelerin sayısının reddedilmesi yoluyla anında Geri Çağırmayı bırakacaktır. Bu nedenle, sınıflandırıcıyı karakterize etmek için, metrik F1 olarak adlandırılan bir değer seçmek uygundur:

Aslında, basitçe P ve R değerlerinin harmonik ortalamasıdır. F 1 metriği maksimum 1'e (%100) ulaşır, yani P = R = %100 olur.
(Virojen sınıflandırıcımızın F 1 = 0 olduğunu düşünmek önemli değil). F 1 değeri, bu tür sistemler için en geniş ölçülerden biridir. F 1'in kendisi, analizörümüzün eşik seviyesini FRD'de formüle etmek için galip geleceğiz.

F 1 sınıflandırmasını hesaplamak için iki ana yaklaşım vardır.

  • Özet F 1: tüm sınıfların sonuçları, F 1 metriğinin hesaplandığı tek bir tabloda derlenir.
  • Orta F 1: cilt sınıfı için kendi olasılık matrisimizi ve kendi F 1 değerimizi oluşturuyoruz, sonra tüm sınıflar için basit aritmetik ortalamayı alıyoruz.

Başka bir yol gerekli mi? Sağda, farklı sınıflar için seçenekler arasındaki fark değiştirilebilir. Bazı sınıflar için birkaç uygulamamız olabilir, ancak bazıları için çok sayıda uygulamamız olabilir. Bir "büyük" sınıfın metriklerinin sonucunda, tek bir global tabloya bağlı olarak, satırı "tıkanır". Bir durumda robotik sistemin kalitesini büyük veya küçük tüm sınıflara eşit olarak değerlendirmek isterseniz, diğer bir seçenek daha kısadır.

Başlangıçta bu test vibrka

Tüm farklılıkları gördüğümüz için, tek bir seçimdeki sınıflandırmaya daha yakından baktık. Tanımlamaya çalıştığımız bağlam analizörüne ulaşmak gibi, her şey biraz daha katlanabilir görünüyor.

Nasampered, emtia kategorilerini düzeltebiliriz. Durum, eğer F 1'in değeri garanti edilirse ve sınıfların kendi içinde toplanması genişletilebilirse, pratik olarak bir çıkmaz sokaktır. Buna dodatkovo atanır, sabitleme kategorilerini tanır.

Daha uzakta olduğunu bildiğimiz için belirli bir seçim için F 1 değerini hesaplıyoruz. Tsya vibirka çağrısı denir ilk. Ancak sınıflandırıcının bu veriler üzerinde nasıl davranacağını bilmediğimiz için bilmiyoruz. Bu amaçlar için, sözde muzaffer arayın vibrka testi, diğer isimler altın set. İlk titreşim ile test titreşimi arasındaki fark tamamen spekülatiftir: Bir çaça kullanabilseniz bile, onu başlangıçta kesebilir ve bize uygun şekilde titreşimi test edebiliriz. Ancak kendi kendine hareket eden sistemler için doğru ilk titreşimi oluşturmak daha da kritiktir. Yanlış seçilmiş dipçikler robotik sisteme takılabilir.

Tipik bir durum, sınıflandırıcı ilk seçimde iyi bir sonuç gösteriyorsa ve test seçiminde kesinlikle başarısız oluyorsa. Temelleri makine bazında sınıflandırmak için algoritmamız olarak (ilk seçimde bırakılacak), onu bir katlama "yüzer" şeması için değerlendirebiliriz. Bütün hediyeyi kim için uyguluyoruz, 10 parça için diyelim. Viluchaemo pershu, algoritmayı öğrenmek için vikoristovuemo її kısmı; Dışarıda kalan uygulamaların %90'ı test seçimi olarak galip gelir ve F 1 değeri hesaplanır. Bir arkadaşın ve kazananın bir bölümünü bir ilk gibi hatırlayalım; F 1 ve benzeri diğer değerleri kabul ediyoruz. F 1 sonuçlarından 10 çıkardık, artık sonuç olacağı için aritmetik ortalama değerlerini alıyoruz. Tekrar ediyorum, yol nedir (yani başlıklar aynı çapraz kat doğrulama) makine öğrenimine dayalı daha az algoritma anlayışı vardır.

FRD yazısına dönersek, kötü bir durumumuz olduğunu not ediyoruz. Giriş verilerini toplayamayabiliriz (İnternetteki tüm web siteleri) ve elbette sitenin içeriğini değerlendirmenin bir yolu yoktur. bir insanın kaderi. Bu şekilde seçimimiz sadece elle şekillendirilebilir, üstelik kaprisli döşemede oldukça bayattır (ve karar kimin hangi kategoriye kabul edileceğine dair karardır). F 1 dünyasını diğer hisse senetleri üzerinden değerlendirebiliriz ama F 1'i tanıyamayız. İnternetin her tarafı için. Bu nedenle, potansiyel olarak denetlenmeyen veri kümeleri (web siteleri, bu tür zengin olanlar gibi) için “denetimsiz yöntem” kullanılmalıdır. Bu nedenle, bir vipadkovy sıralamasında, bir dizi uç (yan) seçin ve bunlardan operatör (kişi) doğru kategoriler (sınıflar) haline gelir. Daha sonra sınıflandırıcıyı seçilen izmaritlerde deneyebiliriz. Vermek, saygı duymak, uygulamayı seçtiklerimizi tipik, algoritmanın doğruluğunu yaklaşık olarak tahmin edebiliriz (Precision). Bu Geri Çağırma ile değerlendirme yapamıyoruz (seçtiğimiz uygulamaların sınırları dışında kaç tane doğru tip bulunduğunu bulmak mümkün değil), bu nedenle F 1 'i hesaplayamıyoruz.

Bu sırayla, bilmek istediğimiz gibi, Algoritmanın tüm olası giriş verileri üzerinde nasıl çalıştırılacağı, Precision değerinin yakın olduğu bu durumda değerlendirilebilecek en iyi şeydir. Tüm yılları kazanmak için F 1'in ortalama değerini hesaplayabilirsiniz. tsієї vybirki'den.

Bir kese içinde mi?

Ve sonuç olarak, şöyle çalışmamız gerekecek:

  1. İlk vibirka'yı düzeltin. İlk seçim, muhatabın "doğru" bağlam hakkındaki ifadesi tarafından istenecektir.
  2. Analizörümüzün kategori setini düzeltin. Önemsiz bir sınıf kümesi için F 1'i sayamaz mıyız?
  3. Görmenin gücünü tanımlayın: Analiz cihazı, içeriğin %80'den az olmayan ortalama F 1 değerinden belirlenmesinden sorumludur.(Örneğin)
  4. Milletvekiline açıkla.

Nitekim böyle bir sistemi FRD yazmak kolay değil (özellikle son nokta), ancak mümkün. Bu gibi durumlarda F 1 eşik değerine gelince, benzer sınıflandırma görevleri için F 1 değerini değiştirmek mümkündür.

Dış görünüm listesinin ortasındaki öğelerde. Kısmi sıra, kaplama öğesi için değerlendirmenin belirtilmesi yoluyla belirlenir (örneğin, "ilgili" veya "ilgili değil"; daha fazla veya daha az iki derecelendirme seçebilirsiniz). Meta sıralama modelleri - en yüksek sıralamaya sahip (şarkı söyleme anlamında) yeni veriler üzerinde ilk seçimde sıralama yöntemini yaklaşık olarak tahmin eder ve artırır.

Bir sıralamaya başlamak - hızla büyüyen genç araştırma alanını, 2000'li yıllardaki vinil, bilgi araştırma galerisine artan ilgiyle, makine öğrenimi yöntemlerini sıralamaya kadar durdurmak daha iyidir.

Ansiklopedik YouTube

  • 1 / 5

    Bir sıralama modelinin başlatıldığı saatin altında ve robotlar durumunda, dış görünüm çifti belge talebi, belgenin gücünü karakterize eden sayısal bir sıralama işaretleri (sıralama faktörleri veya sinyalleri olarak da adlandırılır) vektörüne çevrilir. bu karşılıklı mavinin. Bu işaretler üç gruba ayrılabilir:

    Aşağıda, LETOR veri seti için bu galeride yaygın olarak kullanılan sıralama işaretlerinin bir listesi bulunmaktadır:

    • TF, TF-IDF , BM25 girişlerinin değerleri ve belgenin farklı bölgelerinin girişlerinin hareketli modeli (başlık, URL, gövde metni, mesaj metni);
    • Belge bölgelerinin IDF toplamını genişletin;
    • PageRank ve HITS gibi bu tür sıralama algoritmalarının farklı varyantları tarafından alınan belgenin sıraları.

    değişen metrikler

    Bir dizi değerlendirici puanına göre sıralamada robotik algoritmaların kalitesini değerlendirmek ve geliştirmek için bazı ölçütler oluşturun. Çoğu zaman, değişen modelin parametreleri, bu metriklerden birinin değerini maksimize edecek şekilde ayarlanmalıdır.

    Metrikleri uygula:

    Algoritmaların sınıflandırılması

    "Learning to Rank to Rank for Information Retrieval" adlı makalesinde ve tematik konferanslardaki konuşmalarında, Microsoft Research Asia'dan Tai-Yan Liu, sıralama görevini geliştirmek ve sınıflandırmalarını üç muzaffer olarak düzenlemek için o sırada mevcut yöntemleri analiz etti. bu işlev iyi verildiğinde:

    Akış pidhid

    notlar

    1. Tie Yan Liu (2009) Bilgi Alma için Sıralamayı Öğrenme, Bilgi Erişiminde Temeller ve Eğilimler: Cilt. 3: Hayır 3, s. 225-331, ISBN 978-1-60198-244-5, DOI 10.1561/1500000016. T. Liu'nun WWW 2009 konferansındaki konuşmasından mevcut slaytlar.