◆王玉林 馬 欣 柴爭義
(天津工業大學計算機科學與軟件學院 天津 300387)
基于免疫優化算法的電影個性化推薦
◆王玉林 馬 欣 柴爭義
(天津工業大學計算機科學與軟件學院 天津 300387)
本文針對傳統電影推薦系統中缺乏新穎性的問題,提出一種基于免疫優化算法的求解方法。該算法將準確性和新穎性作為兩個目標函數,通過免疫優化算法的原理,設計了個體編碼、交叉算子以及變異算子。仿真實驗結果表明,免疫優化算法能夠有效地求得最佳解決方案,為用戶提供準確性和新穎性都較高的電影推薦列表。
免疫算法;個性化推薦;電影
隨著信息技術和互聯網的迅速發展,影視資源正逐漸從匱乏的年代走進了過載的時代。目前,無論是觀影用戶還是電影系統都遇到了前所未有的挑戰。用戶為了尋找自己喜歡的電影資源,常常需要頻繁地從海量電影中進行篩選,不僅浪費時間,還找不到感興趣的電影資源,大大降低了用戶的觀看興趣;而對于電影系統,讓電影資源能夠高效地滿足不同品位的用戶,提高電影資源的利用率,也較為困難[1]。因此,一個高效的電影個性化推薦系統就顯得十分重要。
通常情況下,傳統的電影推薦系統主要是向用戶推薦某一類電影,使得推薦準確性提升。但是,容易使得推薦的電影十分相似,出現“千篇一律”的感覺,缺乏新穎性,已經不能滿足用戶的需求。因此,必須得考慮新穎性指標,才能滿足用戶的需求。
電影個性化推薦系統是通過采集并了解用戶的觀看行為興趣偏好以及評分記錄,最終為每一位觀影用戶提供有針對性的“量身定做”式的電影推薦列表。
在電影個性化的推薦系統中,把準確性和新穎性作為兩個目標函數進行優化,此多目標優化問題是一個NP問題,更適合用智能化的方法來求解。本文采用免疫優化算法對電影個性化推薦問題進行求解,向觀影用戶提供一組既準確又新穎、令人滿意的電影推薦列表。
2.1 免疫優化算法
免疫優化算法是一種智能化的算法,它是通過模擬人類免疫系統清除異己,保持健康狀態的原理而產生的。在求解過程中,把問題看作為異己的抗原,把要求的解看作為抗體,通過發生免疫反應,得到最佳的解決方案。免疫優化算法具有無組織自發性、特異性高以及魯棒性強的優點。在全局搜索和局部搜索方面表現十分突出。在尋優問題、安全監測、資源分配等眾多領域有著十分卓越表現和相當大的潛力。
2.2 兩個目標函數
在電影個性推薦系統中,把準確性和新穎性建模成兩個目標函數最大化的問題。準確性作為一個目標函數,能夠衡量出用戶的興趣偏愛以及個人品位,電影的推薦準確性越高,說明推薦越接近用戶的喜好,越能滿足用戶的觀影需求。
新穎性在很大程度上為用戶提供一種全新的感受,觀影的用戶大多數沒有太明確的目標,新穎性越高表示推薦的種類越豐富,越能為用戶發現新的喜好。
2.3 關鍵技術
在電影個性化推薦系統中,個體編碼方式是一個比較關鍵的技術。根據觀影用戶和電影存在多對多的關系,免疫優化算法的一個抗體對應的是電影個性化推薦系統中一條推薦列表,一條推薦列表包含n個推薦電影項目;多條推薦列表組成一個集合,表示為不同的用戶提供不同的推薦,就相當于多個抗體組成一個抗體種群。
在算法中有兩個重要的算子:交叉算子和變異算子。這兩個算子都是為了讓算法的性能更加優秀。在交叉和變異中應該遵循的原則是:完全相同項目的電影項目不能在一個電影推薦列表中列表中多次出現。
交叉發生在兩兩個體之間,兩個個體都相同的項目保持不動;不同的項目執行交叉操作,按照交叉概率確定新的位置。變異算子發生在單個個體中,目的是增加種群的新穎性,使得種群不致于陷入局部最優。
2.4 算法過程
電影個性化推薦中,為多個用戶提供不同的電影推薦列表,是通過抗體種群發生多次迭代,進而產生得到折中最優解。免疫優化算法的具體步驟如下:
步驟1:隨機地產生初始抗體種群A。設置實驗的終止條件。
步驟2:親和度函數計算,對抗體種群A中的抗體進行親和度計算。
步驟3:對抗體種群A實施交叉、變異操作,得到新的抗體種群B。
步驟4:對抗體種群B實施免疫選擇,從中選中top-N個優秀的抗體,得到新的抗體種群,作為下一代候選種群A。
步驟5:判斷終止條件。當滿足終止條件時,輸出最佳方案;否則進入步驟2。
為了驗證基于免疫優化算法的電影個性化推薦系統的效果。本文采用GroupLens Research項目收集的Movielens數據集,在實驗中對參數進行了設置,其中最大迭代數gmax為500,推薦列表長度為10,種群大小N為50,交叉概率為0.8,變異概率為0.1。然后通過運行實驗,取不同的方案的準確性與新穎性的值如表1所示。

表1 推薦算法的準確性與新穎性值
從表1中可以清楚地看出,不同的解決方案的準確性和新穎性是不同的,準確性較高的推薦新穎性相對較低,反之同理。因此,在之間可以找到折中的解,可以為用戶提供準確性和新穎性都較高的電影推薦列表。
本文利用免疫優化算法對電影個性化推薦系統中的準確性和新穎性進行了優化。通過仿真實驗,結果表明了算法能夠很好的電影的推薦最佳方案。隨著用戶和電影資源的不斷增加,個性化推薦系統也將面臨一些新的挑戰,這是下一步繼續研究的內容。
[1]項亮.推薦系統實踐[M].北京:人民郵電出版社,2012.
[2]F Ricci,L Rokach,B Shapira,PB Kantor Recommend-er systems handbook[M].Springer,2011.
[3]孟祥武,劉樹林,張玉潔,胡勛.社會化推薦系統研究[J].軟件學報,2015.