赵广杰,尹四清
(中北大学 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