2010-06-03 23 views
5

Aşağıdaki problemi çözmek için araştırmam gereken teknikler/algoritmalar hakkında biraz bilgi arıyorum. Şu anda akustik parmak izi kullanarak benzer çalınan mp3'leri kuran bir algoritma var. Her bir kümede, her dosya için tüm farklı meta verilere (şarkı/sanatçı/albüm) sahibim. Bu küme için veritabanımda varolan bir satıra uyan "en iyi" şarkı/sanatçı/albüm meta verilerini seçmek isterim veya en iyi eşleşme yoksa yeni bir satır eklemeye karar verdim. Bir küme için Veri sınıflandırması için makine öğrenme algoritması.

, genellikle bazı doğru meta vardır, ancak bireysel dosyalar sorunların çoğunu türleri vardır:

  • Sanatçı/şarkılar tamamen misnamed, ya da sadece biraz yanlış yazılmış olan
  • sanatçı/şarkı/albüm eksik, ancak bilgileri geri kalanı
  • şarkı canlı kayıt aslında orada, ama sadece kümedeki dosyaların bazılarını bu şekilde etiketlenir olduğunu. song.mp3 veya sanatçı - - albüm - song.mp3 veya başka varyasyonu

Basit oylama algoritması eserler

  • sanatçı olabilir ki, bazı durumlarda sadece dosya adı içinde çok az meta olabilir Oldukça iyi, ama şu anda sahip olduğumdan daha fazla nüansları alabilen geniş bir veri seti üzerinde çalışabileceğim bir şeyim olmasını isterim. Makalelere veya benzer projelere olan bağlantılar büyük ölçüde takdir edilecektir.

    Teşekkürler!

  • +0

    Büyük soru - İnsanlar burada ile gelip ne olduğunu görmek için ilgileniyorum. Belki bir çeşit karar ağacı öğrenme yaklaşımının bir kümedeki “en iyi” şarkıyı tanımlamaya yardımcı olup olmadığını merak ediyorum. Elbette denetimsiz öğrenim veya makine öğrenimi ile ilgili wiki sayfaları size biraz daha ilham verebilir. – awshepard

    +1

    burada bazı dersler izlerken deneyin: [Makine Öğrenimi Ders] (https://www.coursera.org/course/ml) birçok uygulanabilir teknikleri kapsayacak şekilde. – mlepage

    cevap

    2

    Levenshtein Distance, iki dizge arasındaki "mesafeyi" ölçen bir metriktir. Karakterleri ekleyerek/çıkararak/değiştirerek bir dizeyi diğerine değiştirmek için işlem sayısını sayar.

    Sen yazım hataları ile anlaşma yardımcı olmak için bu algoritmayı kullanabilir. İki dizge çok yakınsa, büyük olasılıkla bir yazım hatası olur. Eğer doğru sorununuzu anlamak

    http://en.wikipedia.org/wiki/Levenshtein_distance

    3

    , sen kümeler halinde, vb şarkıları bölünmesi için mevcut tekniği var ve şimdi dayanan bu kümenin içindekiler "en iyi" örnek seçmek istediğiniz ne olursa olsun tanımlayıcı özellikler.

    Bayesian classifiers'a bir göz atabilirim. Bunlar, verilerinizdeki belirli bir kümenin temel tanımlama özelliklerini çıkarmaya yardımcı olabilir (kümelenmenin açık, iyi tanımlanmış bir taksonomiye dayanmadığını varsayar) ve ayrıca meta verilerde veya diğer parametrelerdeki gürültü ve hataya karşı bir miktar tolerans sağlar. Ardından, verilerinizin ve kümelerinizin niteliğine bağlı olarak, belirli bir kümeden bir veya daha fazla temsili örneği belirlemek için maximum likelihood veya örnekleme yöntemlerini kullanabilirsiniz. Bayesian yöntemleri, eksik veri, örneğin eksik meta veri değerlerinin çıkarılması için de faydalı olabilir. Örnek dağılımı, diğer veri alanlarındaki bilinen değerlere dayalı olarak eksik veriler için olası değerler üretmek için kullanılabilir.

    İlgili konular