Sıralama için makine öğrenme algoritması


10

özelliğine göre tanımlayabileceğim bir dizi elementim var . Böylece:Xn

xben:{cben1,cben2,...,cbenn}|xbenX

buradaki cbenj , j özelliklerine göre eleman i için (sayısal) değerlendirmedir . Böylece öğelerim n boyut uzayında noktalar olarak görülebilir .benjn

Okumalarıma göre, "Bayes Sınıflandırıcısı" gibi bazılarımdan oluşan bir "eğitim seti" kullanmam şartıyla setimin herhangi bir öğesinde bana "evet" ya da "hayır" cevabı verebilecek algoritmalar var setimin elemanları ve algoritmanın beklenen sonucu. Bu verilere dayanarak, algoritma eğitim setinin bir parçası olmayan başka bir öğeyi alabilmeli ve eğitim seti sayesinde öğrendiklerine dayanarak bir "evet" veya "hayır" cevabı verebilmelidir. Beklentiniz (eğitim seti) hakkında bir tür fikriniz varsa, ancak bu sonuca yol açan belirli kurallardan emin değilseniz, bu harika bir şey.

Verilerimle ne yapmak istiyorum "evet" ya da "hayır" cevabı almak değil, ama elemanları içinde bir sıralama tanıtmak istiyorum. Bazıları diğerlerinden daha iyi. Tıpkı Bayes filtresinde olduğu gibi, beklediğim konusunda genel bir fikrim var. Böylece, MLA'ya besleyeceğim öğelerimin bir alt kümesinden alınan bir "eğitim sıralaması" oluşturabilirim. Bu eğitime dayanarak tüm setimi sıralayabilecektir.

Bunu yapmak için iki yaklaşım görüyorum:

  1. Her elemente MLA tarafından bir puan verilecek, daha sonra elementler puana göre sıralanacaktır.
  2. MLA, iki eleman xben ve x_j alabilir ve hangisininxj daha iyi olduğunu belirleyebilir (ikili karşılaştırmalar). Bu karşılaştırma işlemini kullanarak hızlı sıralama kullanın.

Not: bir fonksiyona göre ikili fonksiyonun uygulanması önemsizdir ve bir ikili fonksiyona dayalı olarak, bir skor oluşturmak önemsizdir, dolayısıyla bunlar aynı sonuçlara ulaşmak için sadece iki yaklaşımdır.

MLA'ların bir puanlama fonksiyonu veya çift karşılaştırma fonksiyonu sağlayabilecek örnekleri var mı?

DÜZENLEME: Daha fazla bağlam eklemek için: şu anda öğelerim üzerinde hesaplamalar yaparak her bir öğe için puan (gerçek sayı) üreten bir algoritmaya göre . Oluşturulan sıralama oldukça doğru olsa da, sık sık algoritmayı bir şekilde değiştirmek için değiştirmem gerekiyor çünkü beklediğim şeye göre sıralanmamış bazı öğeleri açıkça görebiliyorum.cbenj

Şu anda tasarım sürecim:

  1. Mükemmel bir sıralamanın ne olacağına dair bir fikir edinin
  2. Böyle öğeleri sıralayacak bir algoritmayı (manuel olarak) türetmeye çalışın
  3. Sonuçları gözlemleyin
  4. Algoritmayı uyarlayın

Bu yüzden MLA'ları düşündüm, çünkü sürecimin başlangıç ​​noktası eğitim verisi olarak kullanılabilecek şeydi. Muhtemelen mevcut rütbeyi alarak başlayabilirim, ihtiyaçlarıma göre eşyaları değiştirebilir ve besleyebilirim.

Yanıtlar:


3

Birçok sınıflandırma algoritması tam olarak aradığınızı yapar, ancak yanıtlarını kullanıcılara ikili (veya n yönlü) bir yargı şeklinde sunar. Örneğin, SVMLight , destek vektör makinesi sınıflandırma algoritmasının bir uygulamasıdır; insanlar bunu genellikle bazı veri kümelerinde ikili kararlar vermek için kullanırlar. Ancak, kaputun altında olan şey, algoritmanın verilere imzalı güven kararları atamasıdır. Bunlar -1.0 ile 1.0 arasında bağlıdır ve verilerinizi sıralamak için kullanmanız gereken şey budur!


2

Regresyon analizini kullanabileceğiniz anlaşılıyor . Ayrıca, eğitim setinizdeki öğelere sahip değilseniz, muhtemelen puanlar (gerçek sayılar) atamanız gerekir. Sıralamayı sadece hedef değeriniz olarak kullanabilmenize rağmen, sadece küçük bir dizi eğitim örneğiniz varsa zayıf bir model elde etmenizi sağlayacaktır.


0

Makine öğrenme algoritmalarından çok fazla şey beklediğinizi düşünüyorum. Bilgisayar, 1. öğenin tek başına 2. öğeden daha iyi olup olmadığına karar veremez. Bir Makine Öğrenimi algoritmasının yapabileceği şey, öğeye 1'den madde 2'den daha iyi olmak için puan verdiğiniz birkaç örnek verirseniz, öğeleri sıralamayı öğrenebilir [1]. Ancak yine de öğelere örnekler verdiğiniz ve eğitim verilerindeki tüm öğeler için madde 1'in madde 2'den büyük olup olmadığı bilgisine sahip olduğunuz bir egzersiz verisine ihtiyacınız vardır.

[1] http://www.cs.cornell.edu/people/tj/svm_light/svm_rank.html


Bağlantı için çok teşekkür ederim. Ve algoritmayı daha sonraki öğeleri sıralayabilmek için bir eğitim seti sağlamam gerektiğini tamamen anlıyorum.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.