外文翻译基于协同过滤和内容预测的改进推荐算法研究Word文件下载.docx
《外文翻译基于协同过滤和内容预测的改进推荐算法研究Word文件下载.docx》由会员分享,可在线阅读,更多相关《外文翻译基于协同过滤和内容预测的改进推荐算法研究Word文件下载.docx(23页珍藏版)》请在冰豆网上搜索。
随着Web2.0和电子商务的迅猛发展,大量的互联网用户产生的海量数据。
互联网用户所面临的问题是如何从如何找到更多的信息,如何找到更有效的信息。
传统的信息检索方法难以满足不同用户的需求。
由于不考虑用户之间的差异,搜索系统为所有的用户将返回相同的结果。
但事实上即使使用相同的关键字,不同的用户会专注于搜索不同的信息。
在此背景下,满足不同用户的不同需求,不同用户的个性化推荐,成为电子商务的新的发展方向和信息提供商。
基于推荐算法的个性化推荐方法成为一个热门的研究课题[1]。
目前,在所提出的推荐技术,协同过滤算法是众所周知的,最流行的和成功的方法。
然而,传统的协同过滤算法存在一些问题,如稀疏性,可扩展性,
“冷启动”和准确性[2]。
基于协同过滤的推荐算法是非常依赖于用户项目分数的。
只有当用户项目评分表产生时,才能实现推荐结果。
但对于一个新项目,当没有人来评估该项目,该项目的分数将被填充。
因此这项目变得乏善可陈,就不可能被推荐。
这个问题导致了新的项目难以启动,这是著名的“冷启动”问题。
为了解决这一问题,本文提出了一种基于协同过滤和内容预测的改进的推荐算法。
当它填充用户项目分数矩阵时,该算法简单地分析了项目的相关内容。
然后利用相关内容对该项目进行评分预测,并通过协同过滤推荐算法的方法进行推荐计算。
2.传统协同推荐算法的步骤
常用的传统的协同算法实现了以下推荐步骤[3,4]。
首先,建立用户项目评分矩阵。
其次,填充矩阵中的空格。
第三,计算用户的相似性,然后查找邻居的用户或项目。
最后,计算和生成推荐结果。
2.1建立项目的用户评分矩阵
首先,用户的偏好必须收集。
用户可以通过各种方式向系统提交自己的偏好。
在收集足够的数据后,该算法处理这些数据。
根据不同的行为分析方法,该算法应用了一些统计方法,如加权或分组实现关于用户偏好的一个二维矩阵,即以用户项目分数的形式。
2.2用户项目评分矩阵的填充
上面提到的方法所产生的分数矩阵是非常稀疏的。
因此,如果相似性计算只依赖于用户的评价分数,不可避免地会有错误。
因此,用户项目分数矩阵通过填写的数据,改变矩阵的密度。
然后在常规分数矩阵,有灌装,模式填充,集群填充几种主要的方法。
本文在传统的协同推荐算法计算中,通过填充方法对用户项目分数矩阵进行填充。
它设置了缺席的得分,一个固定的值,这一般是得分系统的平均值,或是用户的平均得分或项目的平均得分。
2.3计算相似性,发现邻居用户或邻居项目
在填充用户项目分数矩阵后,下一步将是根据相似的用户或用户的信息,计算类似的用户对项目的偏向。
然后该算法基于类似的用户或类似的项目产生推荐。
在最典型的协同过滤算法中有两个分支:
一个是基于用户的协同过滤,另一种是基于项目的协同过滤。
他们有一个共同点是,他们都需要计算的相似性,然后根据相似找到邻居用户或相似的项目的邻居[5]。
常用的计算相似性的方程如下:
(1)余弦相似性的计算公式:
(2)相关相似性的计算公式:
(3)修正的余弦相似度计算公式:
以基于用户的协同过滤为例。
在上述三个方程中,sim(x,y)表示用户X
和用户Y之间的相似性。
Rx,i(或Ry,i)表示由用户X(或Y)对项目i进行评
WeiJiang,LipingYang;
Researchof improved recommendation algorithm based on collaborativefiltering and content prediction[A];
201611thInternationalConferenceonComputerScience&
Education(ICCSE)[C];
IEEE;
P:
598-602
估的评价得分。
I(x,y)表示由用户X和用户Y进行评估的项目的集合。
I(x)或
I(y)表示由用户X或用户Y进行评估的项目的集合。
表示由用户
X(或Y)对项目评估的平均得分。
2.4计算和生成推荐结果
上述计算后,可以实现邻居用户或邻居的项目。
然后,在数据的基础上,任何项目都是通过经典的公式计算用户的推荐值(4)计算推荐值。
最后生成推荐结果。
在上述方程,Py,i表示目标用户y为项目i所给予的推荐值。
Rx,i表示由目标用户Y的最近邻用户X对该项目i的得分进行评估。
k是最近的邻居的数量,它可以直接规定或通过阈值决定,或被认作为前K个其相似性大于阈值的用户。
3.传统算法的改进与优化
针对“冷启动”问题,改进了传统算法中填充分数矩阵的评价方法。
我们主要在以下四个方面对算法进行优化。
利用过滤法建立了基于特征的物品指示矩阵。
一般情况下,协同过滤推荐系统将简单地描述一个项目。
例如,当豆瓣(Xi={A1,A2,...,Aj,...An},有一些关键字或标签来描述它的内容,当Aj表示Xi的j的特征时,Aj是一个布尔值。
如果它等于1,它表明Xi具有此功能,否则,它表明不具备这个功能。
因此,
所有的项目都可以形成一个二进制的二维矩阵。
如表1所示:
表1基于特征的项目指示矩阵
(1)根据项目和用户对项目的评价指标的内容特征的相关性,对项目内容
中的用户评价的权重进行了排序。
项目的特征提取后,我们可以通过用户对项目的评价来分析相应的特征信息来过滤信息。
通过用户的偏好和项目的特征匹配,系统判断它是否可以向用户推荐这个项目。
本文采用Winnow算法[6]来分析电影的评价。
在文本分类领域,Winnow算法的影响是广泛认可。
在Winnow算法中,Xi为布尔特征值。
Winnow设置每个词的权重,然后权重将构成一个线性阈值函数:
∑WiXi>
θ,其中θ是阈值,Wi是初始值为0.5的权重。
用户根据此用户曾经评估过的项目的关键字设置参数。
例如,如果用户已经评估了一个动作类型的电影,这个用户参数将被设置为1,否则将被设置为0。
如果用户对一部电影的评价升级,相应的项目关键字的权重会增加,否则,它的权重会减少。
在训练中,每个用户的每一个项目将被计算,然后这个用户将达到最优权重的总和。
如果这个和小于阈值θ,然而,这个用户的评价得分超过θ,我们将增加每个关键字的权重为双。
如果总数超过θ,然而,用户的评价得分低于θ,我们将分配2个关键字的权重。
如果权重是合适的,他们不会改变。
而在训练集中,权重将被循环调整,直到所有的项目的权重都有正确操作,或将分发一个特定的时间,直到权重不会改变。
训练后,对于每个用户Y,都有一组不同类型的电影Wy,k的权重。
(2)基于内容预测,我们可以实现虚拟用户的评价得分Ry,i。
我们将它的值赋为公式(5),其中ry,i=0表示在用户项目分数矩阵中,由用户y评价的项目i的得分是无效的。
我们执行了一个还没有由用户进行评估的初步预测的新的项目。
然后,我们可以实现每个用户的电影的功能权重(例如用户y)。
因此,对于一个电影i,预测的评价值Py,i生成:
其中Wy,k是由用户
Y评价的第k个类型的电影的权重,和Ik,i是电影的k个特征的值。
(3)我们将过滤不够准确的项目。
基于内容预测的推荐算法填补了用户项目评价矩阵中的空白,并修改了稀疏的用户项目评价矩阵。
因此,准确地说,这个矩阵必须表示用户的偏好,否则,下一个预测值将是非常不准确的。
为了保证预测方法是有效的,我们应该对预测结果进行初步的筛选。
只有当结果是足够精确的,它可以证明训练后产生的权重符合用户的偏好。
我们将执行以下的最佳措施。
a)超前滤波。
我们预先过滤用户。
如果用户的评级数太少,因为如此少的样本数量,然后,我们可以考虑,这是不可能实现准确的预测值。
此用户的评价被认为是无效的。
因此,只有当用户的等级数(RN)超过一定数量,预测可
Researchof improved recommendation algorithm based on collaborativefiltering and
content prediction[A];
产生。
在本文中,RN的值被设置为90到100之间。
b)根据用户的其他评价修改。
我们用相应的比例测量评价。
相应的比例
(CP)是用户的预测结果对应于他的评价这个用户的RN的数目的比率。
只有当足够高的,这个用户的预测值可以被视为准确。
在本文中,CP的值分别设置为
75%和80%。
经过上述步骤的优化,我们可以确定用户的RN是足以被用来实现准确的预测结果。
(4)通过使用用户项目评分矩阵和虚拟用户的评价得分,我们可以实现一个虚拟的用户项目分数矩阵。
在此基础上,利用传统的协同过滤算法中的相似度计算方法,计算相似度的计算方法。
4.试验与评价
4.1数据集和度量
在本文中,我们使用MovieLens数据集进行实验,其中的数据是电影分数从1到5,标志着有看过电影的用户。
MovieLens有两个不同大小的适合不同规模的算法库。
我们选择的数据集MovieLensM1作为本研究的实验数据。
在我们的实验中的评价指标是精度的推荐和覆盖率(CR)。
1)评价精度:
一般情况下,得分预测有两种评价指标,一种是平均绝对误差(MAE),另一种是均方根误差(RMSE) [7,8]。
由于MAE是更受欢迎和更容易理解,本文使用的MAE来评估实验数据。
假设在测试数据集上的目标客户的推荐数据集是Y={yi|i=1,2,...,n},而真正的评级数据集是R={ri|i
=1,2,...,n}。
对于每一个不是0的“预测等级”是满意的公式(6)如下:
其中N是测试数据集之间的项目数由目标用户给出的预测值和真实的评价值都不是0。
当MAE较少时,可以达到更高的推荐精度。
2)覆盖率(CR):
CR是可以预测项目总金额的项目的总数的比率。
因此,假设为用户提供的预测值集是Y={yi|i=1,2,...,n},然后yi≠0的数量是Ki,用户Y的覆盖率为CR=Ki/N。
4.2实验结果与分析
在这一领域的大量的实验论文和研究论文表明,余弦相似性度量方法的预测精度优于其他算法。
因此,本文在不同的参数的情况下,通过使用以下的四种不同的策略进行了比较实验:
a)使用余弦相似的传