基于卡尔曼滤波的混合推荐系统及方法

文档序号:10471190阅读:392来源:国知局
基于卡尔曼滤波的混合推荐系统及方法
【专利摘要】本发明公开了一种基于卡尔曼滤波的混合推荐系统及方法,本发明采用选择性加权的混合推荐方式,首先得到内容过滤和基于物品的协同过滤推荐得到的候选结果,并利用卡尔曼滤波算法对权重进行最优估计,再将初步的推荐结果进行加权混合来产生新的推荐结果。与现有技术相比,本发明能够实时动态更新各推荐组件的权重,并对其进行最优无偏估计;根据系统的反馈优化,持续调整系统状态;显著提高推荐系统的准确率、召回率和覆盖率,有效提高推荐质量,具有推广使用的价值。
【专利说明】
基于卡尔曼滤波的混合推荐系统及方法
技术领域
[0001] 本发明设及一种新的加权混合推荐方法,尤其设及一种基于卡尔曼滤波的混合推 荐系统及方法。
【背景技术】
[0002] 随着当代网络技术和互联网应用的飞速发展,信息过载已经成为无法避免的问 题,如何帮助用户过滤无用信息,发现有价值的信息越来越受到技术人员的关注。无疑个性 化推荐技术已经成为目前解决信息过载问题的有效技术。主要的推荐算法包括:协同过滤 算法、基于内容过滤算法、基于标签的推荐算法、基于隐语义模型的推荐算法等等。但每个 算法都有其长处和短处,单一算法难W适应众多用户的个性化需求。比如基于物品的协同 过滤推荐算法是通过用户的历史偏好数据计算物品之间的相似性,然后将与用户历史兴趣 近似的物品推荐给该用户。其具有冷启动、物品稀疏性等问题。基于内容的推荐算法是给用 户推荐他之前喜欢的物品相类似的其他物品。基于内容的推荐算法难W发现用户的潜在兴 趣,推荐的物品缺乏新颖性。
[0003] 有些系统采用加权方式的混合推荐技术,将协同过滤和基于内容的推荐算法结合 使用来提升推荐结果的质量。在动态权重研究方面,考虑到状态存储等方面的原因,目前的 加权混合算法一般仅根据上一次的推荐结果的反馈来优化权重,并没有考虑结果反馈的持 续影响。运会导致权重状态波动幅度大,系统不稳定,不能很好地解决反应推荐策略的分配 问题。

【发明内容】

[0004] 本发明的目的就在于为了解决上述问题而提供一种基于卡尔曼滤波的混合推荐 系统及方法。
[0005] 本发明通过W下技术方案来实现上述目的:
[0006] 本发明一种基于卡尔曼滤波的混合推荐系统,包括数据预处理模块、协同过滤推 荐模块、内容推荐模块、卡尔曼滤波模块、推荐结果整合模块和反馈优化模块,所述数据预 处理模块的两个数据输出端分别通过所述协同过滤推荐模块和内容推荐模块与所述推荐 结果整合模块的输入端连接,所述推荐结果整合模块的数据输出端与所述反馈优化模块的 数据输入端连接,所述反馈优化模块的数据输出端通过所述卡尔曼滤波模块与所述推荐结 果整合模块连接。
[0007] 本发明一种基于卡尔曼滤波的混合推荐方法,包括W下步骤:
[000引1)卡尔曼滤波
[0009] 卡尔曼滤波主要用于估测离散控制系统的状态,运个系统过程可W用随机差分方 程表示:
[0010] 化= Axk-i+Buk+wk-i [00川观ii方程为:
[0012] zk = Hxk+vk
[OOU] 上面两式中,X读示k时刻的系统状态,uk是系统k时刻的控制量,A和B是系统参数, zk表示k时刻系统的测量值,Η为测量系统的参数,wk/vk是过程/测量的噪声,p(v)~N(0,R), p(w)~N(0,Q),
[0014] 2)建立混合推荐模型
[001引对于用户U,在第i次推荐中,设ItemCF和CB的权重分别citem(i,u)和ccB(i,u),其比 值
为方便,接下来的阐述中,本文将省去U,
[0016]假定x(i)与x(i-l)之间存在线性关系f:
[0017] x(i) = x(i-l)+av(i-l)
[0018] v(i) =x(i-l)-x(i-2)
[0019] 其中α为系统参数,由实验得到,为了增强或减缓比值X的变化;
[0020] 卡尔曼滤波中的系统状态变量可表示为:
[0021] xk= [X化),v(k) ]τ
[0022] 将上一次的后验状态值;嫁~1作为第Κ次的观测量zk:
[0023]
[0024] 模型参数A、H可由线性关系f推出:
[0025]
[0026] 因为系统和测量噪声的初始值对卡尔曼滤波算法的最终结果影响很小,只会影响 算法结果收敛的速度,本文将系统和测量噪声的协方差矩阵根据粗略实验分别设为:
[0027]
[0028] 3)算法过程:
[0029] (1)数据预处理,得到结构化数据;
[0030] (2)进行基于物品的协同过滤推荐(ItemCF)和基于内容的推荐(CB)过程,得到各 个模块的初步推荐结果PltrmCF和PCB ;
[0031] (3)进行卡尔曼滤波过程,预测权重比值Xi;
[0032] 卡尔曼滤波包括预测和更新两个过程:
[0033] a预测:
[0034] 初步权值预测:
[0035]
[0036] 先验误差协方差预测:
[0037]
[0038] b更新修正:
[0039] 卡尔曼滤波增益Kk修正:
[0040]
[0041] 更新权值预测:
[0042]
[0043] 后验误差协方差矩阵更新:
[0044]
[0045] (4)根据修正后的估测比值,计算得到ItemCF和CB算法的权重,并计算最终的推荐 结果;
[0046] (5)验证推荐结果:根据反馈计算ItemCF和CB推荐的商品在用户真正购买的物品 中所占的比重,将其比值作为下一次的观测变量Zk+l。
[0047] 本发明利用基于内容推荐和基于物品的协同过滤推荐产生初步的推荐列表,利用 卡尔曼模型的回归优化特性,计算出两个推荐算法的权重比值,再进一步计算它们各自的 权重,通过加权混合的方式,合成最终的推荐结果,通过用户的反馈和优化,对系统状态进 行更新,修正权重值。
[004引本发明的有益效果在于:
[0049] 本发明是一种基于卡尔曼滤波的混合推荐系统及方法,与现有技术相比,本发明 能够实时动态更新各推荐组件的权重,并对其进行最优无偏估计;根据系统的反馈优化,持 续调整系统状态;显著提高推荐系统的准确率、召回率和覆盖率,有效提高推荐质量,具有 推广使用的价值。
【附图说明】
[0050] 图1本发明的系统模块图;
[0051 ]图2本发明所使用的算法流程图;
[0052] 图3本发明混合推荐中的权重更新过程图。
【具体实施方式】
[0053] 下面结合附图对本发明作进一步说明:
[0054] 如图1所示:本发明一种基于卡尔曼滤波的混合推荐系统,包括数据预处理模块、 协同过滤推荐模块、内容推荐模块、卡尔曼滤波模块、推荐结果整合模块和反馈优化模块, 所述数据预处理模块的两个数据输出端分别通过所述协同过滤推荐模块和内容推荐模块 与所述推荐结果整合模块的输入端连接,所述推荐结果整合模块的数据输出端与所述反馈 优化模块的数据输入端连接,所述反馈优化模块的数据输出端通过所述卡尔曼滤波模块与 所述推荐结果整合模块连接。本发明采用选择性加权的混合推荐方式,将基于内容过滤和 基于物品的协同过滤推荐得到的候选结果进行加权混合,来产生新的推荐结果。加权混合 推荐方式的关键就是准确预测各推荐算法的权重。卡尔曼滤波算法的核屯、正是根据观测的 数据,对系统状态进行无偏估计。本算法使用卡尔曼滤波来预测并修正各个推荐算法的权 重。
[0055] 本发明提出一种基于卡尔曼滤波的混合推荐方法,包括W下步骤:
[0056] 1卡尔曼滤波
[0057] 卡尔曼滤波主要用于估测离散控制系统的状态,运个系统过程可W用随机差分方 程表示:
[0化引 化= Axk-i+Buk+wk-i
[0059] 观测方程为:
[0060] zk = Hxk+vk
[0061 ] 上面两式中,xk表示k时刻的系统状态,Uk是系统k时刻的控制量,A和B是系统参数, zk表示k时刻系统的测量值,Η为测量系统的参数,wk/vk是过程/测量的噪声,p(v)~N(0,R), p(w)~N(0,Q),
[0062] 2建立混合推荐模型
[00创对于用户U,在第i次推荐中,设ItemCF和CB的权重分别citem(i,u)和ccB(i,u),其比 值
%方便,接下来的阐述中,本文将省去U,
[0064]假定x(i)与x(i-l)之间存在线性关系f:
[00化]x(i) =x(i-l)+av(i-l)
[0066] v(i) =x(i-l)-x(i-2)
[0067] 其中α为系统参数,由实验得到,为了增强或减缓比值X的变化;
[0068] 卡尔曼滤波中的系统状态变量可表示为:
[0069] xk= [X化),v(k) ]τ
[0070] 将上一次的后验状态值;咕.V作为第Κ次的观测量zk:
[0071]
[0072] 模型参数A、H可由线性关系f推出:
[0073]
[0074] 因为系统和测量噪声的初始值对卡尔曼滤波算法的最终结果影响很小,只会影响 算法结果收敛的速度,本文将系统和测量噪声的协方差矩阵根据粗略实验分别设为:
[0075]
[0076] 3算法过程(如图2所示):
[0077] (1)数据预处理,得到结构化数据;
[0078] (2)进行基于物品的协同过滤推荐(ItemCF)和基于内容的推荐(CB)过程,得到各 个模块的初步推荐结果PltemCF和PCB ;
[0079] (3)进行卡尔曼滤波过程,预测权重比值xi;
[0080] 卡尔曼滤波包括预测和更新两个过程:
[00川 a预测:
[0082] 初步权值预测:
[0083]
[0084] 先验误差协方差预测:
[0085]
[00化]b更新修正:
[0087] 卡尔曼滤波增益Kk修正:
[008引 Kk ^沪;'沪巧巧沪今巧)-.3
[0089] 更新权值预测:
[0090] 穿》-餐专&如…怒棄;.)
[0091 ]后验误差协方差矩阵更新:
[0092] ^ & 孩 K'V
[0093] (4)根据修正后的估测比值,计算得到ItemCF和CB算法的权重,并计算最终的推荐 结果;
[0094] (5)验证推荐结果:根据反馈计算ItemCF和CB推荐的商品在用户真正购买的物品 中所占的比重,将其比值作为下一次的观测变量Zk+l。
[00M]通过上述步骤,随着推荐次数的增多,根据卡尔曼滤波算法收敛和自回归优化的 特性,系统模型会不断迭代循环优化(如图3所示),就能有效地对两种推荐算法的结果进行 选择性加权,对模块的权重进行无偏估计。因此,可W有效提高推荐系统的准确率和召回 率,显著提高推荐质量。
[0096] W上显示和描述了本发明的基本原理和主要特征及本发明的优点。本行业的技术 人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本 发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,运些变 化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其 等效物界定。
【主权项】
1. 一种基于卡尔曼滤波的混合推荐系统,其特征在于:包括数据预处理模块、协同过滤 推荐模块、内容推荐模块、卡尔曼滤波模块、推荐结果整合模块和反馈优化模块,所述数据 预处理模块的两个数据输出端分别通过所述协同过滤推荐模块和内容推荐模块与所述推 荐结果整合模块的输入端连接,所述推荐结果整合模块的数据输出端与所述反馈优化模块 的数据输入端连接,所述反馈优化模块的数据输出端通过所述卡尔曼滤波模块与所述推荐 结果整合模块连接。2. -种基于卡尔曼滤波的混合推荐方法,其特征在于,包括以下步骤: 1) 卡尔曼滤波 卡尔曼滤波主要用于估测离散控制系统的状态,这个系统过程可以用随机差分方程表 示: Xk - Axk-1+Blik+Wk-1 观测方程为: Zk - Hxk+Vk 上面两式中,xk表不k时刻的系统状态,Uk是系统k时刻的控制量,A和B是系统参数,zk表 示k时刻系统的测量值,Η为测量系统的参数,Wk/vk是过程/测量的噪声,p(v)~N(0,R),p(w) ~N(0,Q), 2) 建立混合推荐模型 对于用户u,在第i次推荐中,设ItemCF和CB的权重分别cItem(i,u)和cCB(i,u),其比值.为方便,接下来的阐述中,本文将省去u, 假定x(i)与x(i-l)之间存在线性关系f: x(i)=x(i-l)+av(i-l) v(i)=x(i_l)_x(i_2) 其中a为系统参数,由实验得到,为了增强或减缓比值x的变化; 卡尔曼滤波中的系统状态变量可表示为: xk=[x(k) ,v(k)]T 将上一次的后验状态值作为第K次的观测量zk: ?W SAAA 七、- Η 模型参数Α、Η可由线性关系f推出:因为系统和测量噪声的初始值对卡尔曼滤波算法的最终结果影响很小,只会影响算法 结果收敛的速度,本文将系统和测量噪声的协方差矩阵根据粗略实验分别设为:3) 算法过程: (1)数据预处理,得到结构化数据; (2) 进行基于物品的协同过滤推荐(ItemCF)和基于内容的推荐(CB)过程,得到各个模 块的初步推荐结果PltemCF和Pcb ; (3) 进行卡尔曼滤波过程,预测权重比值Xl; 卡尔曼滤波包括预测和更新两个过程:(4) 根据修正后的估测比值,计算得到ItemCF和CB算法的权重,并计算最终的推荐结 果; (5) 验证推荐结果:根据反馈计算ItemCF和CB推荐的商品在用户真正购买的物品中所 占的比重,将其比值作为下一次的观测变量z k+1。
【文档编号】G06F17/30GK105824897SQ201610143149
【公开日】2016年8月3日
【申请日】2016年3月14日
【发明人】谢晓赟, 陈浩
【申请人】湖南大学, 湖南麓川信息科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1