传统协同过滤推荐技术存在新用户难以推荐的冷启动问题.尤其在智能电视网络、视频网站等,只有用户信息,没有浏览或评分记录,智能电视电影系统难以有效推荐。而基于内容过滤技术可有效解决新用户冷启动问题对于新用户,ChenLin提出向用户推荐“专家用户”浏览的电影…。施凤仙等提出基于用户属性分类区分用户兴趣度的协同过滤算法按比重分配用户相似性和商品的用户兴趣度。但它们的关系并不一定是线性的。而支持向量机在解决非线性回归问题有着不错的效果。
支持向量机算法在文本分类、模式识别等分类问题有很好的效果,并被引入非线性回归领域,展示了不错的性能。王宏宇建立的基于电影属性支持向量机回归的用户模型131,提高了推荐精度。但只是根据电影的属性和评分,并没有考虑电影的用户属性分类。Liu在GoogleNews用户个性化新闻推荐中,利用用户点击新闻类别的历史记录,建立了用户长期和短期兴趣模型'MahiyeUluyagmm•提出j'基于电影特征集的推荐系统,但并没有有效解决多个特征集结合问题本文根据电影用户历史评分.基于不同年龄段用户对电影喜爱程度不同,电影按用户属性有不同的概申•评分,并采用支持向量机回归结合用户多个属性,本文根据电影用户历史评分,基于电影被不同年龄段用户喜爱程度不同,计算得出电影年龄段概率评分。由于每个电影评分用户数量不同,采用min-max方法标准化概率评分,使数据具有可比性。针对用户不同的属性,如年龄段、职业等,采用支持向量机回归的方法拟合电影不同属性概申-评分,解决不同属性结合的问题。实验采用movielens数据集评测了算法的召回率,并与传统基于电影的knn推荐算法做广对比,实验证明本文采用的方法提高了召回率,并可为新用户产生推荐。
1.理论基础
1.1 min-max标准化
在数据分析之前’通常需要先将数据标准化’利用标准化后的数据进行数据分析不同数a的用户对电影评过分,所以电影的厲性评分概率可能在不同的以间,为了消除这种影响,需要将数据标准化处理,以解决数据指标之间的可比性…本文采川min-max标准化方法,也称为离差标准化,就是对原始数据的线性变换,使结果函数为式中:
为样本数据最小值;&„为样本数据最大值;x为样本数据。
1.2支持向量机回归
回归问题是从训练样本中学习输人输出变量之间的关系/U)。考虑一个训练样本数据集丨Ui,yi),(x2,y2),•••,(xi,y.),"■r{x„yJ)o对于i=l,2,3,其中每个ac,eR"表不样本的输人空间,与其相对应的目标值y,,回归问题的思想是从中学习一个闲数,给定^的值,能够预测y,的值。一般的SVR函数形式为
式中:和6是要寻找的确定最优超平面的参数值,中U)代表了从R”到高维空间的一个非线性变换,^标是找出和6的值,使回归风险系数最小化,回归风险系数为
其中:厂(•)是损失函数,常数C>0,表示对估计偏差的惩罚度,最常用的损失函数Vapnik提出的e-敏感度函数为
此处的H标是确定适当的参数值和6,从而使/GO逼近未知0标函数。如果yu,)与y,的差值的绝对值大于6:,损失函数厂(•)的值等于/U)的估计与期望响应y,的差值的绝对值再减去e,否则损失函数值为0。原问题可以表示为
使用拉格朗日乘子法得到对偶问题是
使用二次优化方法求解和《二进而得出《,。设置偏移量6=0,ft由参数和惩罚因子C就控制了式(10)逼近闲数的VC维丨…
式中:/C(u)表7K核函数
2 基于支持向量机回归的用户多属性推荐算法
2.1 电影对用户属性的概率评分
电影用户评分矩阵,是电影被用户评分的历史记录,而每个用户都有年龄段、职业等属性。电影被某个年龄段的用户评分大小及个数,反映了这个年龄段的用户对电影的喜爱程度。本文用7个年龄段代表人的年龄。借鉴贝叶斯定电影受某个年龄段的喜爱程度可表示为
式中:m.(aget)表示年龄段的先验概率;)表小•电影被用户评分的总个数;m表示电影被这个年龄段评分的总和;而)表示电影对各个年龄段的概申.评分。
求出每个电影对年龄段的概率评分,每个电影被不同用户数量评分,所以用min-max方法标准化电影的属性概申.评分。
伪代码如下:
2.2单属性预测用户对电影的评分
为用户《推荐最喜欢的前iV个电影一根据用户u的年龄段和电影的年龄段概率评分.预测用户对每个电影的评分:根据预测评分大小,为用户推荐预测if分最大的前/V个电影。
2.3支持向量机回归用户多属性模型
不同年龄段A.不同电影,的概申.评分不同。同理,不同职业,电影的概率评分也不同:对于用户,年龄段、职业的组合,决定了用户的喜好,但它们并非是线性的:因而构建一个SVK用户多属性回归模型。
回归模型的输人和输出,从用户对电影t'的年龄段概率评分、职业概率评分到实际评分r,实际评分和概率评分都是标准化后的数据:特定年龄段和职业有着鲜明喜好的用户u.冋归模型能很好的预测其偏好。模型可构建为
式中:r,是用户u给电影i的实际评分,m(ageM)是电影Z对用户年龄段A的概率评分_Zte丨0,丨,…,6j,共7个年龄段。m(ocup,lt+)是电影!_对用户职业s的概率评分。se{0,1,…,181,共19个职业类型。
线性回归模型并不能取得很好的回归效果,召回率甚至小于单个属性概率评分的结果。支持向量机回归通过核函数尺U,*)将数据从输人空间非线性变换到高维空间,从而使得数据在该空间中被转换成线性组合的。用支持向tt机回归的方法构建非线性回归模沏,基于式(10),可构建支持向量机回归的用户多厲性模型
求解模型时,使用序列最小优化方法求解算法,求解该支持向量机回归问题。
2.4多属性预测用户电影评分
为每个用户构建SVR回归模型,并利用模塑,输人用户IW性、电影属性概率评分,输出电影预测评分并排序。
已知用户u的年龄段、职业,预测用户对电影的评分。首先利用用户属性,得出用户对每个电影的年龄段和职业厲性概率评分m(ageI;_)和m(ocu/)Ii)。输人到支持向量机回归模型,得出预测评分6。预测评分最高的前/V个电影推荐给用户。
3实验设计及结果分析
3.1数据集和评测方法
采用mwieiens数据集,943个用户对1682个电影的10万个评分数据。用户的年龄段和职业属性。训练(train)数据集采用全部10万个评分,验证(test)数据集采用20%的评分数据使用C++语言,在Windows平台编写程序,实现了基于支持向僦机回归的用户多属性推荐算法。
智能电视电影系统的最终0的是为用户推荐感兴趣的电影,本文没有采用RMSE指标.而是采用召回率评测为用户推荐前/V个电影.推荐的电影个数和用户实际选择的电影个数的比值,即召回率评测。召回率式为hitCouiits
3.2实验结果及分析
实验首先评测了单个属性前30的召回率。评测用户年龄段属性、职业属性的召回率。出于降低计算复杂度的考虑,随机选择了200个用户的召回率.做了8次重复实验,得出召回率的平均值。召回率结果见表1。
本文使用libsvm工具训练基于支持向量机回归的用户多厲性推荐模®,并预测评分。核函数采用径向基核exp( I2)。需要找出最优的g和惩罚因子C,本文使用网格搜索来寻找最优的g和C。网格捜索就是尝试各种U,C)对值,然后进行交叉验证,找出精确度最高的(g,C)对。网格搜索参数g和C的范围e{0.6,0.8,…,3.0),惩罚因子Ce丨0.02.0.04,,0.10,0.40,0.70,1.00)。详细设置见图1。
比较了本文的算法和基于电影的KNN算法的召回率,基于电影KNN算法的参数A取值100,就是取最相似的100个电影.相似性公式采用。08相关系数。
由图1的网格搜索交叉验证图可知,SVK参数g取1.6,C取0.4时召冋率达到T最大值。
由表1可知,基于支持向量机回归用户多属性推荐算法15.25%的召回率高于单个属性的召回率由表2的实验数据,基于支持向量机冋归用户多属性15.25%的f{W率远卨亍基于电影的KNN推荐算法5.12%的召回率。实验结果表明基于支持向量机回归用户多属性推荐算法提高了召回率,并可为新用户产生有效推荐。
4结论
本文主要对智能电视电影系统新用户难以推荐的冷启动问题进行了深人研究。采用年龄段对电影的概率评分来表示对电影喜爱程度的方法,解决用户按诚性选择电影的M题。采用支持向tt机回归方法训练用户多属性模型,有效解决了用户多属性结合问题。训练数据都用min-max方法标准化,使数据具有可比性由实验结果可知,该基于支持向量机回归用户多属性推荐模型提高了召回宇-,有效解决了新用户推荐的冷启动问题。
作者简介:
赵广杰(1986—),硕士生,CCF会员(E200038900G),研究方向为推荐算法和网络技术应用;尹四清(1964—),副教授,硕士生导师,主要研究方向为自然语言处理和网络信息处理。