趙廣杰,尹四清
(中北大學 a.計算機與控制工程學院;b.軟件學院,山西 太原 030051)
基于支持向量機回歸多屬性智能電視電影推薦
趙廣杰a,尹四清b
(中北大學 a.計算機與控制工程學院;b.軟件學院,山西 太原 030051)
針對智能電視電影推薦領域,新用戶難以推薦問題,提出電影按用戶屬性過濾的推薦模型。該模型結合電影用戶歷史評分,由貝葉斯定理得出每個電影對用戶屬性的概率評分。為用戶推薦電影時,由用戶屬性和概率評分得出電影預測評分列表,進而推薦預測評分較高的電影。針對電影屬性概率評分間并線性的,提出支持向量機回歸的方法,解決用戶多屬性結合的問題。實驗結果表明,該模型提高了召回率。得到結論,該用戶多屬性推薦模型提高了召回率,并能為新用戶推薦。
電影推薦;冷啟動;支持向量機回歸;最大最小值方法
傳統協同過濾推薦技術存在新用戶難以推薦的冷啟動問題,尤其在智能電視網絡、視頻網站等,只有用戶信息,沒有瀏覽或評分記錄,智能電視電影系統難以有效推薦。而基于內容過濾技術可有效解決新用戶冷啟動問題。對于新用戶,Chen Lin提出向用戶推薦“專家用戶”瀏覽的電影[1]。施鳳仙等提出基于用戶屬性分類區分用戶興趣度的協同過濾算法[2]。按比重分配用戶相似性和商品的用戶興趣度。但它們的關系并不一定是線性的。而支持向量機在解決非線性回歸問題有著不錯的效果。
支持向量機算法在文本分類、模式識別等分類問題有很好的效果,并被引入非線性回歸領域,展示了不錯的性能。王宏宇建立的基于電影屬性支持向量機回歸的用戶模型[3],提高了推薦精度。但只是根據電影的屬性和評分,并沒有考慮電影的用戶屬性分類。Liu在Google News用戶個性化新聞推薦中,利用用戶點擊新聞類別的歷史記錄,建立了用戶長期和短期興趣模型[4]。Mahiye Uluyagmur提出了基于電影特征集的推薦系統,但并沒有有效解決多個特征集結合問題。本文根據電影用戶歷史評分,基于不同年齡段用戶對電影喜愛程度不同,電影按用戶屬性有不同的概率評分,并采用支持向量機回歸結合用戶多個屬性。
本文根據電影用戶歷史評分,基于電影被不同年齡段用戶喜愛程度不同,計算得出電影年齡段概率評分。由于每個電影評分用戶數量不同,采用min-max方法標準化概率評分,使數據具有可比性。針對用戶不同的屬性,如年齡段、職業等,采用支持向量機回歸的方法擬合電影不同屬性概率評分,解決不同屬性結合的問題。實驗采用movielens數據集評測了算法的召回率,并與傳統基于電影的knn推薦算法做了對比,實驗證明本文采用的方法提高了召回率,并可為新用戶產生推薦。
1.1 min-max標準化
在數據分析之前,通常需要先將數據標準化,利用標準化后的數據進行數據分析。不同數量的用戶對電影評過分,所以電影的屬性評分概率可能在不同的區間,為了消除這種影響,需要將數據標準化處理,以解決數據指標之間的可比性。本文采用min-max標準化方法,也稱為離差標準化,就是對原始數據的線性變換,使結果值映射到0和1之間,轉化函數為

式中:xmin為樣本數據最小值;xmax為樣本數據最大值;x為樣本數據。
1.2 支持向量機回歸
回歸問題是從訓練樣本中學習輸入輸出變量之間的關系f(x)。考慮一個訓練樣本數據集{(x1,y1),(x2,y2),…,(xi, yi),…r(xn,yn)}。對于i=1,2,3,…,n,其中每個xi∈Rn表示樣本的輸入空間,與其相對應的目標值yi。回歸問題的思想是從中學習一個函數,給定xi的值,能夠預測yi的值。一般的SVR函數形式為

式中:w和b是要尋找的確定最優超平面的參數值,Φ(xi)代表了從Rn到高維空間的一個非線性變換,目標是找出w和b的值,使回歸風險系數最小化,回歸風險系數為

其中:Γ(·)是損失函數,常數C>0,表示對估計偏差的懲罰度,最常用的損失函數Vapnik提出的ε-敏感度函數[5]為

此處的目標是確定適當的參數值w和b,從而使f(xi)逼近未知目標函數。如果f(xi)與yi的差值的絕對值大于ε,損失函數Γ(·)的值等于f(xi)的估計與期望響應yi的差值的絕對值再減去ε,否則損失函數值為0。原問題可以表示為

由式(4),可知受限于

式中:ξi和代表輸出結果上下界的松弛變量。
使用拉格朗日乘子法得到對偶問題是

使用二次優化方法求解αi和αi*,進而得出w。設置偏移量b=0,自由參數ε和懲罰因子C就控制了式(10)逼近函數的VC維[6]

式中:K(xi,x)表示核函數。
2.1 電影對用戶屬性的概率評分
電影用戶評分矩陣,是電影被用戶評分的歷史記錄,而每個用戶都有年齡段、職業等屬性。電影被某個年齡段的用戶評分大小及個數,反映了這個年齡段的用戶對電影的喜愛程度。本文用7個年齡段代表人的年齡。借鑒貝葉斯定理,電影受某個年齡段的喜愛程度可表示為

式中:m(agek)表示年齡段的先驗概率;m(itemi)表示電影被用戶評分的總個數;m(itemi|agek)表示電影被這個年齡段評分的總和;而m(agek|itemi)表示電影對各個年齡段的概率評分。
求出每個電影對年齡段的概率評分,每個電影被不同用戶數量評分,所以用min-max方法標準化電影的屬性概率評分。
偽代碼如下:


2.2 單屬性預測用戶對電影的評分
為用戶u推薦最喜歡的前N個電影。根據用戶u的年齡段和電影的年齡段概率評分,預測用戶u對每個電影的評分。根據預測評分大小,為用戶推薦預測評分最大的前N個電影。

2.3 支持向量機回歸用戶多屬性模型
不同年齡段k,不同電影i的概率評分不同。同理,不同職業,電影的概率評分也不同。對于用戶,年齡段、職業的組合,決定了用戶的喜好,但它們并非是線性的。因而構建一個SVR用戶多屬性回歸模型。
回歸模型的輸入和輸出,從用戶對電影i的年齡段概率評分、職業概率評分到實際評分ri。實際評分和概率評分都是標準化后的數據。特定年齡段和職業有著鮮明喜好的用戶u,回歸模型能很好的預測其偏好。模型可構建為

式中:ri是用戶u給電影i的實際評分,m(agek|i)是電影i對用戶年齡段k的概率評分。k∈{0,1,…,6},共7個年齡段。m(ocups|i)是電影i對用戶職業s的概率評分。s∈{0,1,…,18},共19個職業類型。
線性回歸模型并不能取得很好的回歸效果,召回率甚至小于單個屬性概率評分的結果。支持向量機回歸通過核函數K(xi,x)將數據從輸入空間非線性變換到高維空間,從而使得數據在該空間中被轉換成線性組合的。用支持向量機回歸的方法構建非線性回歸模型,基于式(10),可構建支持向量機回歸的用戶多屬性模型

求解模型時,使用序列最小優化方法求解算法,求解該支持向量機回歸問題。
2.4 多屬性預測用戶電影評分
為每個用戶構建SVR回歸模型,并利用模型,輸入用戶屬性、電影屬性概率評分,輸出電影預測評分并排序。
已知用戶u的年齡段、職業,預測用戶對電影的評分。首先利用用戶屬性,得出用戶對每個電影的年齡段和職業屬性概率評分m(age|i)和m(ocup|i)。輸入到支持向量機回歸模型,得出預測評分r。預測評分最高的前N個電影推薦給用戶。

3.1 數據集和評測方法
采用movielens數據集,943個用戶對1 682個電影的10萬個評分數據。用戶的年齡段和職業屬性。訓練(train)數據集采用全部10萬個評分,驗證(test)數據集采用20%的評分數據。使用C++語言,在Windows平臺編寫程序,實現了基于支持向量機回歸的用戶多屬性推薦算法。
智能電視電影系統的最終目的是為用戶推薦感興趣的電影,本文沒有采用RMSE指標,而是采用召回率評測。為用戶推薦前N個電影,推薦的電影個數和用戶實際選擇的電影個數的比值,即召回率評測。召回率式為

3.2 實驗結果及分析
實驗首先評測了單個屬性前30的召回率。評測用戶年齡段屬性、職業屬性的召回率。出于降低計算復雜度的考慮,隨機選擇了200個用戶的召回率,做了8次重復實驗,得出召回率的平均值。召回率結果見表1。

表1 用戶年齡、職業屬性的召回率 %
本文使用libsvm工具訓練基于支持向量機回歸的用戶多屬性推薦模型,并預測評分。核函數K(xi,x)采用徑向基核exp(-g||x-xi||2)。需要找出最優的g和懲罰因子C,本文使用網格搜索來尋找最優的g和C。網格搜索就是嘗試各種(g,C)對值,然后進行交叉驗證,找出精確度最高的(g,C)對。網格搜索參數g和C的范圍,g∈{0.6,0.8,…,3.0},懲罰因子C∈{0.02,0.04,…,0.10,0.40,0.70,1.00}。詳細設置見圖1。
比較了本文的算法和基于電影的KNN算法的召回率,基于電影KNN算法的參數k取值100,就是取最相似的100個電影。相似性公式采用cos相關系數。

圖1 SVM網格搜索交叉驗證圖
由圖1的網格搜索交叉驗證圖可知,SVR參數g取1.6,C取0.4時召回率達到了最大值。
由表1可知,基于支持向量機回歸用戶多屬性推薦算法15.25%的召回率高于單個屬性的召回率。
由表2的實驗數據,基于支持向量機回歸用戶多屬性15.25%的召回率遠高于基于電影的KNN推薦算法5.12%的召回率。實驗結果表明基于支持向量機回歸用戶多屬性推薦算法提高了召回率,并可為新用戶產生有效推薦。

表2 基于電影的KNN、基于SVM回歸用戶多屬性推薦算法召回率 %
本文主要對智能電視電影系統新用戶難以推薦的冷啟動問題進行了深入研究。采用年齡段對電影的概率評分來表示對電影喜愛程度的方法,解決用戶按屬性選擇電影的問題。采用支持向量機回歸方法訓練用戶多屬性模型,有效解決了用戶多屬性結合問題。訓練數據都用min-max方法標準化,使數據具有可比性。由實驗結果可知,該基于支持向量機回歸用戶多屬性推薦模型提高了召回率,有效解決了新用戶推薦的冷啟動問題。
[1] LIN Chen,XIE Runquan,LI Lei,et al.PRemiSE:personalized news recommendation via implicit social experts[C]//Proc.21st ACM international conference on information and knowledge man?agement.Maui,HI,USA:[s.n.],2012:1607-1611.
[2]施鳳仙,陳恩紅.結合項目區分用戶興趣度的協同過濾算法[J].小型微型計算機系統,2012,33(7):1533-1536.
[3] 王宏宇,糜仲春,梁曉艷,等.一種基于支持向量機回歸的推薦算法[J].中國科學院研究生院學報,2007,24(6):742-748.
[4]LIU J,DOLAN P,PEDERSEN E R.Personalized news recommen?dation based on click behavior[C]//Proc.15th international confer?ence on Intelligent user interfaces.[S.l.]:ACM Press,2010:31-40.
[5]ALPAYDIN E.機器學習導論[M].范明,等,譯.北京:機械工業出版社,2009.
[6] WU X D,KUMAR V.數據挖掘十大算法[M].李文波,等,譯.北京:清華大學出版社,2014.
Movie Recommendation Using SVR Algorithm Combining Different Attributes
ZHAO Guangjiea,YIN Siqingb
(a.Computer and Control Engineering;b.Software School,North University of China,Taiyuan 030051,China)
As the smart TV can hardly recommend for the new users,recommendation model that users’attributes filtering is proposed.Based on the Bayes’theorem,the model uses the ratings to compute items’probability ratings of different attributes.The users’attributes and items’probability ratings are used to recommend for users.As the items’probability ratings are not statistical independence,the SVR is proposed to combining different attributes.The experimental results show that the model improving the recall.The conclusion is users’different attributes filtering model not only provides better recommendation recall,but also can recommend for new users.
movie recommendation;cold start problem;SVR;min-max method
TP393 文獻標志碼:A DOI:10.16280/j.videoe.2015.06.008
【本文獻信息】趙廣杰,尹四清.基于支持向量機回歸多屬性智能電視電影推薦[J].電視技術,2015,39(6).
趙廣杰(1986—),碩士生,CCF會員(E200038900G),研究方向為推薦算法和網絡技術應用;
尹四清(1964—),副教授,碩士生導師,主要研究方向為自然語言處理和網絡信息處理。
許 盈
2014-12-02