Music Recommendation System with User-based and Item-based Collaborative Filtering Technique(使用基於用戶及

摘要:算法

大數據催生了互聯網,電子商務,也致使了信息過載。信息過載的問題能夠由推薦系統來解決。推薦系統能夠提供選擇新產品(電影,音樂等)的建議。這篇論文介紹了一個音樂推薦系統,它會根據用戶的歷史行爲和口味向用戶推薦歌曲。本文介紹一種基於用戶和物品的協同過濾技術。首先,創建一個用戶-物品相關矩陣來造成用戶集羣和物品集羣。而後,使用這些集羣找出和目標用戶最類似的用戶集羣和物品集羣。最後,系統會根據最類似的用戶和物品集羣來推薦音樂。該算法將在基準數據集Last.fm上進行實施。實驗結果顯示該算法的表現要優於最熱門的基準算法。數據結構

關鍵字:推薦系統;協同過濾;  類似度估計ide

PS:仔細讀了一遍,英文也翻譯了,算法也讀了,花了那麼長時間,倒是這個普通的一個算法,很失望。工具

1.引言測試

進入電子商務和互聯網時代後,信息開始如血液般流動。推薦系統是一種解決信息過載問題的工具。推薦系統由兩種實體:用戶和物品所組成。用戶就是網上商店的顧客,物品就是商品。現今有大量推薦系統的應用,例如電影推薦系統,書籍推薦系統,音樂推薦系統等。這篇論文將會討論音樂推薦系統。在音樂推薦系統中,用戶就是聽衆,物品就是歌曲。大數據

音樂無處不在。每一個人只要點擊鼠標就能傾聽數之不盡的音樂。隨着歌曲,樂隊和藝術家的數量愈來愈多,聽衆很難作出選擇。用戶想要找到合本身音樂口味的歌曲。音樂推薦系統就是在這種狀況下誕生了。Many services like Pandora, Spotify, and Last.fm [1] have come up in order to provide recommendations to users.Netflix組織了百萬歌曲數據集挑戰賽,但願參賽者可以設計出在Last.fm數據集上具備良好表現的推薦系統。要求對音樂的選擇基於用戶對某些藝術家的口味,偏心和信任。爲一個軟件或者一部機器量化全部這些因素是很難的。所以找到真正使用戶感興趣,合乎用戶口味的歌曲是很難的。Every music recommendations system works on a given set of assumptions in order to provide effective recommendations。翻譯

文學領域的兩種標準推薦系統是協同過濾推薦系統和基於內容的推薦系統。協同過濾基於其餘用戶的行爲進行推薦,而基於內容的系統基於物品的內容進行推薦。設計

論文的其他部份內容組織以下:3d

第二部分解釋相關研究,第三部分討論算法,第四部分討論算法的效果,第五部分進行總結和指明將來的研究方向。blog

2.相關研究

2.1 用戶-物品相關矩陣

協同過濾技術基於用戶-物品相關矩陣這種數據結構。在這種數據結構中記錄着每一個用戶和每種物品之間的相關性。

其中Sij是用戶i(Ui)聽歌曲j(Ij)的次數。

2.2 協同過濾技術

協同過濾技術是推薦系統中最經常使用的技術。協同過濾技術的基本思想是:若是用戶的口味不變,則他過去喜歡的東西,他在將來也會喜歡。

協同過濾技術能夠分爲如下兩類。

2.2.1 基於用戶的協同過濾

這種方法的主要思想是找到與當前目標用戶最相近的全部用戶,而後嘗試推薦目標用戶可能會喜歡的物品。

2.2.2 基於物品的協同過濾

 基於物品的協同過濾方法是基於物體的屬性而不是用戶的屬性。它會根據用戶對某物品的評測行爲生成物品的特徵。使用的類似度評測方法有歐氏距離,谷本系數和基於對數似然的類似度。對於任一給定的物品,它將與全部用戶有過行爲的物品計算類似度,由此決定是否將該物品推薦給該用戶。這種方法在常常有新物品加入系統時很是有用。

3 算法

這部分會描述數據標準化技術,類似度計算,基於用戶的方法和基於物品的方法,並造成用於推薦的用戶集羣和物品集羣。

3.1 類似度計算

類似度計算用於尋找所給目標用戶的最近鄰居。如下是文學領域中的一些類似度計算方法。類似度計算方法能夠根據數據類型進行分類。

歐氏距離測量方法是最經常使用的,用於顯示用戶與用戶之間或物品與物品之間的距離是否相近。

數學公式以下:

d(p,q)爲p和q之間的距離,表示兩個用戶或兩個物品之間的距離。其中物品和用戶用n維的向量來表示(n是物品的數量)。

3.2 數據標準化技術

數據標準化技術是數據挖掘中的一種標準方法。它經過轉換數據或正則化數據使全部的屬性具備相同的權重。最經常使用的標準化技術是長度歸一化和均方根歸一化。

3.3 推薦方法

該論文推薦實現音樂推薦系統的一種方法。該方法使用的是基於模型的協同過濾。模型是根據基於用戶的協同過濾和基於物品的協同過濾構建的。而後這個模型被用於給測試用戶推薦音樂。

3.3.1 數據預處理

初步的數據處理做用在用戶-物品相關矩陣上。首先對用戶-物品矩陣進行二進制化,以下圖所示:

第二步預處理是正則化。

長度歸一化和均方根歸一化用於正則化二進制用戶-物品相關矩陣。

表格3展現使用長度歸一化的用戶-物品矩陣,表格4展現使用均方根歸一化的用戶-物品矩陣:

3.3.2 模型創建

模型創建的輸入數據是用戶-物品相關矩陣。每一行被看作一個用戶向量,每一列被看作一個物品向量。使用基於層次閾值的聚類算法創建用戶和物品模型。使用圖二中的僞代碼造成用戶模型(建立若干個類似用戶集羣),使用圖三中的僞代碼造成物品模型(建立若干個類似物品集羣)。

測試數據分別做爲用戶模型和物品模型的輸入,根據用戶集羣和物品集羣進行推薦。推薦算法展現在圖4中。

相關文章
相關標籤/搜索