2010-06-03 104 views
5

我正在尋找一些關於我應該研究哪些技術/算法來解決以下問題的指導。我目前已經有了一種算法,可以使用聲學指紋技術對類似聲音的MP3進行聚類。在每個集羣中,我擁有每個文件的所有不同元數據(歌曲/藝術​​家/專輯)。對於該羣集,我希望選擇與數據庫中現有行匹配的「最佳」歌曲/藝術​​家/專輯元數據,或者如果沒有最佳匹配,請決定插入新行。用於數據分類的機器學習算法。

對於集羣,一般有一些正確的元數據,而是單獨的文件有很多類型的問題:

  • 歌手/歌曲完全名不副實,或者只是輕微拼寫錯誤
  • 歌手/歌曲/專輯缺少,但其餘的信息是
  • 該歌曲實際上是一個實況錄製,但只有羣集中的一些文件被標記爲這樣。
  • 可能會有很少的元數據,在某些情況下是文件名,這可能是藝術家 - Song.mp3的,還是藝術家 - 專輯 - Song.mp3的,或另一種變化

一個簡單的投票算法的工作相當不錯,但我想有一些東西可以訓練大量的數據,這些數據可能會比我現在有更多的細微差別。任何鏈接到論文或類似的項目將不勝感激。

謝謝!

+0

偉大的問題 - 我很想看看人們在這裏想出了什麼。我想知道是否某種決策樹學習方法可能有助於確定羣集中的「最佳」歌曲?當然,關於無監督學習或機器學習的wiki頁面可能會給你更多靈感。 – awshepard 2010-06-03 16:06:32

+1

請看這裏的一些講座:[機器學習課程](https://www.coursera.org/course/ml),因爲它們涵蓋了許多適用的技術。 – mlepage 2012-07-16 16:57:58

回答

2

Levenshtein距離是度量兩個字符串之間「距離」的度量。它計算通過添加/刪除/更改字符將一個字符串更改爲另一個字符串的操作次數。

您可以使用此算法來幫助處理拼寫錯誤。如果兩個字符串非常接近,那麼它很可能是拼寫錯誤。

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

3

如果我正確理解你的問題,你有將歌曲等,成集羣的現有技術,現在要選擇一個基於「最佳」的羣集的內容例如無論定義特徵是。

我會看看Bayesian classifiers。這些可能有助於推斷數據中任何給定羣集的關鍵定義特徵(假設羣集不是基於明確的,明確定義的分類標準),還可以爲元數據或其他參數中的噪聲和錯誤提供一些容差。然後,根據數據和羣集的性質,您可以使用maximum likelihood或抽樣方法來確定給定羣集中的一個或多個最具代表性的示例。

貝葉斯方法也可用於推斷丟失的數據,例如缺少元數據值。樣本分佈可用於根據其他數據字段中已知的值生成缺失數據的可能值。