基于epsilon反馈算法的推荐系统冷启动方法与流程

文档序号:12735387阅读:1006来源:国知局
基于epsilon反馈算法的推荐系统冷启动方法与流程

本发明涉及一种推荐系统的新用户冷启动方法,属于计算机信号处理领域。



背景技术:

随着电子商务以及社交媒体的流行,现有的电子商务和社交媒体网站通常都面临着严重的信息过载问题。推荐算法作为解决信息过载的有效手段之一,利用用户与网站的交互记录为用户推荐其可能喜欢的物品。但是当新用户登录到系统中时,由于他们没有或者只有少量购买记录或浏览记录,推荐系统很难为他们进行合理的推荐。推荐系统如何为新用户进行推荐的问题称为新用户冷启动问题

传统的推荐算法有协同过滤算法、基于内容的推荐算法以及混合推荐算法三种。协同过滤算法可以利用用户的行为记录,计算用户之间的相似度或者物品之间的相似度来进行推荐。但由于新用户没有或者只有少量的行为记录,协同过滤算法难以为新用户进行很好的推荐。基于内容的推荐算法首先提取用户或者物品的特征,根据用户之间或者物品之间特征的相似度来进行推荐。但是新用户进入系统时可能没有任何特征或者只有少量特征可以提取,因此基于内容的推荐算法也很难奏效。混合推荐算法是指将多种推荐算法有机地结合起来以达到扬长避短的效果,但实际应用表明混合推荐算法也不能很好地解决新用户冷启动问题。

目前有很多学者对新用户冷启动问题进行了深入的研究,提出了若干解决冷启动问题的算法。其中,最简单的算法采用随机推荐方式,当新用户进入系统中时,推荐算法在物品库中随机选择若干个物品推荐给用户,这种方法没有利用用户与系统的任何交互信息,推荐结果往往无法令用户满意。此外还有人提出了基于偏好的推荐算法,算法利用当前登录用户的偏好信息,搜索出一批与当前登录用户相近的用户,然后通过领域相关度、评价相似度等对前面的相似用户进行筛选,选择出与当前登录用户最相近的一批用户,根据这批筛选出的用户的偏好信息为登录用户进行推荐。该算法相对于传统协同过滤算法在冷启动问题上有一定改进,但是还不能解决完全没有任何信息的新用户冷启动问题。

在这种情况下,在线地利用用户反馈并且根据用户反馈不断地提高算法的推荐效果就变得非常重要。Epsilon-greedy算法能够充分的使用用户反馈不断地提高算法的推荐效果,但是传统的Epsilon-greedy算法的epsilon参数值是固定的。如果epsilon较小,算法在短时间内不容易“探索”到用户的潜在兴趣导致算法的收敛速度很慢,但是随着时间的增长在“探索”到用户的兴趣后,能以很大的概率去利用已经“探索”到的用户兴趣进行推荐,从而达到更好的推荐效果。如果epsilon较大,虽然算法能够更快的收敛,在较短时间内“探索”到用户的兴趣,但是在“探索”到用户兴趣后仍然保持很大的概率去“探索”,而不是根据已经“探索”到的用户兴趣进行推荐,这会导致算法的推荐效果差。



技术实现要素:

发明目的:针对传统Epsilon-greedy算法中epsilon值设置困难的问题,本发明提出一种基于epsilon反馈算法的推荐系统冷启动方法,利用免疫反馈模型来动态调整epsilon的值,使算法能够更快地收敛。

技术方案:本发明提出一种基于epsilon反馈算法的推荐系统冷启动方法,将免疫反馈模型引入Epsilon-greedy算法,利用免疫反馈模型动态调整epsilon概率值,具体包括如下步骤:

步骤1:将所有的物品当前用户的点击情况初始化为0,即让每个要推荐给用户的物品没有先验知识;

步骤2:根据用户点击推荐物品的结果更新epsilon概率值,并根据更新的epsilon值选择物品推荐给用户。

所述步骤2选择物品推荐给用户的具体方法为:

2.1)记录每次为用户推荐的物品、用户是否点击了此物品以及此物品被点击的次数,如果用户点击了算法推荐的物品返回1,如果用户没有点击算法推荐的物品则返回0,计算第t次为用户推荐之前用户点击推荐物品的平均次数reward(t)以及第t-d次为用户推荐之前用户点击推荐物品的平均次数reward(t-d),d是正整数,reward(t)的计算公式如下:

reward(t)=click(t)/recommended(t)

公式中,click(t)为用户在t时刻前的点击率,recommended(t)为在t时刻前为用户推荐物品的总数;

2.2)根据reward(t)和reward(t-d)的差值Δreward计算为用户推荐时epsilon-greedy中的epsilon概率值,公式如下:

epsilon(t)=Kp[1-γ{epsilon(t-d)-epsilon(t-d-1)}2]Δreward

epsilon(t)为第t次为用户推荐时epsilon的参数值,epsilon(t-d)-epsilon(t-d-1)为第t-d次以及第t-d-1次为用户推荐时epsilon的参数值,参数Kp控制免疫系统对抗原的反应速度,参数γ控制免疫系统的稳定;

2.3)生成一个0-1之间的随机值,如果随机值大于步骤2.2得到的epsilon值,在所有的物品中随机的选择一个物品推荐给用户,如果生成的随机值小于步骤2.2得到的epsilon值,选择记录的被点击次数最高的物品推荐给用户。

优选地,所述参数d推荐取值为1。

有益效果:本发明利用免疫反馈模型的变化使epsilon值能够在短时间内快速升高,让算法快速收敛,同时又能够在算法收敛时让epsilon快速降低,以较小的概率去“探索”用户其他偏好,利用已经“探索”到的用户偏好为用户进行推荐,以达到更好的推荐效果。和现有算法相比,本发明在平均点击率、点击总数以及选择到最优值的概率3个指标上的表现都更优。

附图说明

图1为免疫反馈机制的原理图;

图2为本发明的方法流程图。

具体实施方式

下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

Epsilon-greedy算法为新用户推荐时,每次为用户推荐一个物品,并且根据用户实际的点击情况对此物品的推荐准确度评分,根据已知的评分,决定下一轮推荐哪件物品,是继续推荐用户反馈评分较高的物品,还是随机给用户进行推荐,前者称为“发现”后者称为“探索”。Epsilon-greedy算法每次以epsilon的概率去“探索”,以1-epsilon的概率去“发现”。

免疫反馈模型是人免疫系统中的一种反馈机制,这种反馈机制同时完成两项任务:一、对出现的抗原快速反应,二、使免疫系统快速达到稳定平衡,这种机制就叫做免疫反馈。免疫反馈机制的原理如图1所示,人体的免疫细胞大致分为Killer T细胞和B细胞两种,它们都来自于骨髓。Killer T细胞是吞噬入侵的抗原。B细胞的主要功能是产生多种抗体,以抗体来中和入侵的抗原。当抗原物质(细菌、病毒)入侵人体后,会同时刺激辅助T细胞和抑制T细胞。一方面辅助T细胞能够协助B细胞产生抗体,促进Killer T细胞的生成。另一方面,抑制T细胞也会抑制B细胞产生抗体,抑制Killer T细胞的生成。通过免疫系统中辅助T细胞和抑制T细胞之间的相互作用,使免疫系统实时的处在抗原和抗体的动态平衡之中。这种动态平衡使得免疫系统能够对入侵的抗原做出快速反应,并且使免疫系统迅速达到平衡。

本发明提出利用免疫反馈模型来动态调整epsilon,使算法尽快收敛的同时又能达到很好的推荐效果。在免疫反馈系统中,当抗原入侵机体后,在抗原的刺激下抗体数量迅速上升;随着抗体数量的增多,抗体会抑制自身的增长使抗体数量迅速下降使免疫系统保持平衡。在用户刚进入系统的时候,会使epsilon值迅速升高,以尽快的“探索”用户的偏好所在。随着用户与系统交互次数的增多,epsilon的值也会迅速的降低,以更好地利用已“探索”到的用户偏好。根据免疫反馈模型,每次为用户进行推荐,免疫反馈模型都会为epsilon-greedy算法生成一个epsilon参数值,使Epsilon-greedy算法能够动态的调整“探索”、“发现”的概率,让算法尽快的收敛,为新用户进行更好的推荐。

本发明提出的基于epsilon反馈算法的推荐系统冷启动方法,将免疫反馈模型引入Epsilon-greedy算法来解决新用户冷启动问题,算法的具体流程如下:

步骤1:将所有的物品当前用户的点击情况初始化为0,即让每个要推荐给用户的物品没有先验知识;

步骤2:根据用户点击推荐物品的结果更新epsilon概率值,并根据更新的epsilon值选择物品推荐给用户,具体方法为:

2.1)记录每次为用户推荐的物品、用户是否点击了此物品以及此物品被点击的次数,如果用户点击了算法推荐的物品返回1,如果用户没有点击算法推荐的物品则返回0,计算第t次为用户推荐之前用户点击推荐物品的平均次数reward(t)以及第t-d次为用户推荐之前用户点击推荐物品的平均次数reward(t-d),优选情况下参数d取值为1,reward(t)的计算公式如下:

reward(t)=click(t)/recommended(t)

公式中,click(t)为用户在t时刻前的点击率,recommended(t)为在t时刻前为用户推荐物品的总数。

2.2)根据reward(t)和reward(t-d)的差值Δreward计算为用户推荐时epsilon-greedy中的epsilon概率值,公式如下:

epsilon(t)=Kp[1-γ{epsilon(t-d)-epsilon(t-d-1)}2]Δreward

epsilon(t)为第t次为用户推荐时epsilon的参数值,epsilon(t-d)-epsilon(t-d-1)为第t-d次以及第t-d-1次为用户推荐时epsilon的参数值,参数Kp控制免疫系统对抗原的反应速度,参数γ控制免疫系统的稳定。

2.3)生成一个0-1之间的随机值,如果随机值大于步骤2.2得到的epsilon值,在所有的物品中随机的选择一个物品推荐给用户,如果生成的随机值小于步骤2.2得到的epsilon值,选择记录的被点击次数最高的物品推荐给用户。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1