◆王玉林 马 欣 柴争义
(天津工业大学计算机科学与软件学院 天津 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.