基于BP神经网络与隐马尔科夫模型的推荐算法

2017-12-06 05:43宰祥顺
关键词:三元组概率状态

胡 文,宰祥顺

(哈尔滨商业大学 计算机与信息工程学院,哈尔滨 150028)

基于BP神经网络与隐马尔科夫模型的推荐算法

胡 文,宰祥顺

(哈尔滨商业大学 计算机与信息工程学院,哈尔滨 150028)

针对个性化推荐系统中用户偏好的学习与高维稀疏数据处理问题.受到隐马尔可夫模型(HMM)结构特征启发,采用一种考虑上下文的两阶段用户偏好收集推理策略的个性化推荐算法.选择MD算法对系统历史评分信息进行挖掘处理,提取用户偏好分布频繁三项集作为隐含状态,将用户评分项目序列看作观测状态,从而抽象为一个HMM模型,结合BP神经网络进行第一阶段的HMM模型的用户偏好学习与推理.然后根据第一阶段的学习训练生成最优推荐集合.实验结果表明基于HMM的推荐算法比传统推荐算法具有更好的适应性和推荐质量.

推荐算法;BP神经网络;隐马尔可夫模型

随着移动互联网与信息技术的快速发展,电子商务数据呈现指数级增长,社会完全进入了一个大数据时代[1],推荐系统为用户提供产品或服务的个性化建议在电子商务的发展中越来越重要,并被应用于大多数电商网站,如京东和淘宝等允许用户对商品进行评价,并根据评价信息产生推荐项目.一般来说,推荐系统根据系统历史数据挖掘并结构化用户评分数据和商品评分分布.然后根据用户历史评分数据对未评分项目进行评分预测.基于这种预测系统向用户生成项目推荐[2].大量的算法应用于推荐系统中并在电子商务领域起到巨大的作用,其中协同过滤算法(Collaborative Filtering,CF)应用最成功,应用领域最广[3].

然而协同过滤算法对近邻用户数量和用户质量敏感,易受攻击样本干扰,没有较强的鲁棒性[4-5].而传统HMM推荐算法由于受到自身假设前提的约束,难以进行有效的训练,既不能兼顾每个HMM对其对应的目标有很强的预测能力和不同HMM模型之间有很好的差异性这两方面[6].针对HMM存在问题,本文采用一种融合BP神经网络与隐马尔可夫模型(Hidden Markov Model,HMM)的推荐算法,首先对原始评分数据集进行频繁三元组的数据预处理并作为HMM隐含状态,然后将用户项目序列作为观察符号序列并输入至BP网络模型进行粗分类,最后根据分类结果进行HMM模型的训练.本文BP网络的作用函数采用Sigmoid函数,而HMM采用随机梯度下降法进行参数迭代更新.由于BP网络优异的抗干扰能力,减少了原始特征中噪声对预测结果的影响,并利用的他输出符号作为HMM的输入数据,不仅提高了HMM在推荐算法中的预测能力,而且保证了系统中不同HMM之间的差异最大化,从而提高了整个推荐系统的性能.

1 基于BP-HMM的推荐算法

基于BP-HMM的推荐算法最显著的特点如下:1)在常量时间内生成推荐,推荐速度快;2)这是一种域独立方法,参数初始化后不需要先验知识学习;3)基于用户项目评分的三元关系模型进行预测训练.模型训练预测主要分两个阶段:模型建立阶段和推荐预测阶段.

1.1 HMM模型

HMM的形式化表示为λ=(A,B,π),其中A为模型状态概率转移分布矩阵,A={aij},aij=P{qt+1=j|qt=i},qt为模型状态,且qt∈{1,2,…,N},qt∈{1,2,…,N} ,B为观察符号概率分布矩阵,B={bj(ot)},bj(ot)=P(ot|qt=i},ot,为观察符号,而π为模型出事概率分布向量π={πi},πi=P{q1=i} 模型参数取值范围分别是i,j=1,2,…,N,t=1,2,3…T,N为HMM的状态数目,T为观察序列的长度,并且在HMM中λi对应于HMMi.

1.2数据预处理

根据用户历史评分数据将数据表示为用户、项目、评分的一个三元组关系图,用该三元组关系形式化式化表示用户评分的上下文环境.在用户评分数据库中提取用户评分分布S′={U,M,R} 其中U={u1,u2,…,un}表示用户集合,M={m1,m2,…,mn}表示用户下评分项目集合,R={r1,r2,…,rn}表示用户项目评分集合.每一个三元组S′代表着数据集中的一个上下文关系.通过对历史数据的预处理挖掘出三元组序列S′,并将结果作为HMM模型训练样本.三元组数据处理流程如下.

步骤1:用户项目序列提取,主要筛选出每个用户的评分项目序列SRi,首先收集用户的评分集Si,用户数据集定义如下.

定义1:用户ui数据集合Si的形式化表示为:

Si={{UserItemmsi,p},rsi,j}

其中:rsi,j表示集合Si中用户ui的评分值为j,msi,p表示集合Si项目的评分顺序.

表1表示用户评分数据集合.例如,用户评分集S2表示用户u2向项目m2,3,m2,4评分值为r2,3.当收集到用户数据并且消除噪声之后,就可以提取出用户的项目评分序列.如表 1,SL1:((m1,1⟹m1,2⟹m1,3);(m1,1⟹m1,4)),SL2:(m2,3⟹m2,4),SL3:((m3,2⟹m3,3);(m3,4⟹m3,5)) , 其中SLi表示用户ui的项目序列.

表1 用户数据集合

步骤:2:三元组数据提取,这一阶段主要工作是提取用户评分频繁三元组数据提取,首先概念的定义如下.

定义2:用户对项目的评分S=(U1,R1,M1,G)是由U1∈U,M1,R1∈RU1∈U,组成的最频繁三元组.

通过文献[8]中MD方法,输入用户评分集合S,提取出最频繁的三元组用户评分分布上下文.如R1={{u1,u2,u3),(m1,m2),(r4)},表示用户{u1,u2,u3)}对项目(m1,m2)具有相同的评分r4.通过这一阶段获取的用户项目序列和评分上下文三元组数据作为下一阶段BP神经网络与HMM混合模型的输入.

1.3 HMM模型训练

1.3.1 监督学习算法估计初值

隐马尔科夫模型包含两种状态:可观测状态和隐含状态.这一阶段将上一阶段获取的用户项目序列作为观测状态,上下文三元关系作为隐含状态.因此给定了隐含状态St={st1,…stns},表示项目集合M={m1,…mnm},评分集合R={r1,…,rnr},用户集合U={u1,…,unu}的不同评分值.其中ns总状态数量,nr是总评分数量,nm是总项目数量,nu是总用户数量.SLi是状态序列,因此HMM模型λ=(A,B,B′π)定义如下.

π=[…πi…]初始状态概率,其中πi=P(sti)是状态sti作为状态序列SLi第一个元素出现的概率.

B=[…bj(r)…]评分概率分布,其中bj(r)=P(r|stj)表示用户在状态stj条件下评分值为r的概率.

B′=[…bk(m)…]项目概率分布其中bk(m)=P(m|stk)表示在状态stj条件下,给项目m评分的概率.

A=[…aij…] 概率转移矩阵,其中aij=P(stj|sti)表示当前由状态sti转移到状态stj的概率.

针对该形式化的HMM模型,下一步要学习出模型参数(A,B,B′,π).本文采用MMI准则进行HMM的参数更新,先进行小样本下的有监督学习参数估计,根据有监督训练结果初始化状态概率向量(πi),评分概率[bj(r)],项目概率[bk(m)] ,状态转移概率[aij].有监督学习算法如下:

SLc=Ui∈1,…t{Ei}所有与项目相匹配的状态序列Ei为与指定项目对应的状态.

φ(stj)为状态序列SLc中从stj开始的子序列

其中:NC为stj在SLc中出现的次数.CS(sti,stj)为序列SL中状态stj转移到sti的次数.

1.3.2 BP-HMM无监督学习训练

经过预处理阶段处理产生观察符号序列SLi,并输入到BP网络.使用BP网络负责HMM 训练,由此弥补HMM在分类方面的不足.观察符号序列经过 BP网络识别后,输出为观察符号的后验概率.图1描述了BP网络模型,BP 网络的作用函数采用Sigmoid函数.训练通过BP算法实现,在”真”的状态下输出1,其他状态输出0[9].

神经网络的输入序列是网络的连续观察序列O={o1,o2,…,oT} 输出序列为HMMi模型中第k个状态在观察序列ot时的后验概率P(qk|ot), 作为HMM输入,对HMM1识别器进行参数更新.

1)HMM模型矩阵B,B′的更新

图1 BP网络模型

根据贝叶斯定律,可得矩阵元素更新公式为

2)参数π,A的更新

采用MMI优化转正对这两组参数进行更新,设Ω为当前网络可能的全部HMM的集合,Ω1为网络连续观察符号序列O所属模式类的HMM集合,P{Ω1|O,Ω}为Ω1在给定网络连续观察符号序列O的后验概率.根据MMI准则,训练过程应使后延概率最大化,因此定义最小化参量J.

求解时,采用HMM评估算法中前向和后向评估算法,定义如下:

前向算法,

al(j)=πjbj(ol)

后向评估算法

βT(i)=1

1.3.3 HMM模型训练算法步骤

步骤1 采用监督学习算法估计模型参数值;

步骤2 根据步骤1 估计结果,对参数A,B,B′,π初始化;

步骤3输入训练样本 “观察符号序列O”,进行BP网络的识别处理

步骤4基于BP网络的输出对HMM中矩阵B,B′初始分布向量π,矩阵A更新;

步骤5重复步骤3~步骤4,直到样本训练完毕;

步骤6 判断条件|θn+1-θn|是否满足,若满足则结束迭代,否则重复步骤3~6.

1.4用户评分分布预测

当模型训练更新完成之后,就可以根据当前模型进行商品推荐.这一阶段主要是任务是根据用户项目序列识别出该项目的上下文,然后预测HMM模型状态的下一次评分行为.在用户项目评分预测的过程中主要考虑两个连续阶段:匹配与当前项目上下文相关的HMM模型状态和预测一下时刻状态的最相近的评分分布.

预测阶段主要识别出最相近HMM模型状态评分分布,即用户评分三元组.通过计算每个HMM的状态Mati=πi×bi(m)其中πi是初始状态概率向量,bi(m)观测m在sti条件下的概率.因此取得最大值的Mati就代表着项目m的最相关上下文.所以当前上下文中的评分就作为推荐评分输出.

2 实验结果分析

本节通过与其他两种推荐算法进行对照试验验证算法的可靠性.分别通过基于用户的的形同过滤推荐算法(UC-CF)和基于项目的协同过滤推荐算法(IC-CF)[10].UC-CF和IC-CF分别是基于相似用户产生相似购买行为和相似产品具备相似受众用户群体的推荐.

1) UC-CF通过计算用户评价向量的余弦相似度,采用k近邻方法产生推荐.

USim(ua,ui)=USim(ra,ri)

选取与待推荐用户余弦夹角最小的k个用户集合Sac.Sac中用户对项目mc的评分期望计算向量rac,计算公式如下.

2) IC-CF通过计算项目间的余弦相似度,产生推荐.

ISim(mc,mi)=USim(rc,ri)

选取与目标商品最相似的k个商品集合Smc.通过计算用户ua对集合Smc中商品评价期望产生推荐.

在数据集MovieLens上实验验结果如图2、3.

图2 召回率对照试验结果

图3 准确率实验结果

通过实验结果可以看出基于BP-HMM的推荐算法比IC-CF和UC-CF具有更好的召回率,通过图3可以得出BP-HMM比IC-CF和UC-CF具有更精准的推荐质量[11].

3 结 语

针对个性化推荐系统中用户偏好学习策略及相应的推荐算法设计中问题进行了详细研究,采用一种考虑用户上下文频繁三项集的BP神经网络与隐马尔科夫模型的推荐算法.通过第一阶段的数据预处理提取出用户上下文三元组数据,来进行BP-HMM模型的学习训练.然后根据用户项目对应上下文状态进行BP-HMM模型的评分预测,从而生成最优推荐结果集合.通过两组试验对比分析验证了本文采用的推荐算法具有良好的适应性和推荐质量表现.

[1] 宫夏屹, 李伯虎, 柴旭东, 等. 大数据平台技术综述[J]. 系统仿真学报, 2014, 26(3): 489-496.

[2] 吴佳炜. 关于协同过滤推荐算法的研究文献综述[J]. 商, 2016(29): 224-224.

[3] 王兴国. 基于协同过滤的推荐算法研究[J]. 无线互联科技, 2016(3):114-115.

[4] GOWRI R,KUMAR A,ARVIND M J,etal.An overview of clustering algorithm and collaborative filtering method through E-commerce data perspective [C]//International Journal of Engineering Research and Technology,ESRSA Publications,2015.

[5] 周泓宇, 梁 刚, 杨 进, 等. 协同过滤推荐算法比较研究[J]. 现代计算机, 2016(7): 16-19.

[6] 董跃华,邓文龙. 基于BP-HMM的词性标注方法的研究[J]. 计算机工程与设计, 2014, 35(4): 1424-1428..

[7] 周朴雄, 张兵荣, 赵龙文. 基于BP神经网络的情境化信息推荐服务研究[J]. 情报科学, 2016, V36(3): 71-75.

[8] ADOMAVICIUS G, SANKARANARAYANAN R, SEN S,etal. Incorporating contextual information in recommender systems using a multidimensional approach [J]. Acm Transactions on Information Systems, 2005, 23(1): 103-145.

[9] 谢光军, 秦江敏, 杨江平. 一种基于BP—HMM的字符识别方法[J]. 计算机工程与应用, 2002(05): 94-96+163.

[10] 黄 涛, 黄 仁, 张 坤. 一种改进的协同过滤推荐算法[J]. 计算机科学, 2016, 43(S1): 400-403.

[11] 葛 利,戈力娟,胡 晶.多方法融合的EEG信号特征提取及分类研究[J].哈尔滨商业大学学报:自然科学版,2017,33(2):192-195,2001.

ResearchonrecommendationalgorithmbasedonBPneuralnetworkandhiddenMarkovmodel

HU Wen, ZAI Xiang-shun

(School of Computer and Information Engineering, Harbin University of Commerce, Harbin 150028, China)

According to the personalized recommendation system user preference learning and high dimensional sparse data processing. Inspired by hidden Markov model’s (Hidden Markov Model, HMM) structure,this paper introduced a two stage user preference context collection reasoning strategy of personalized recommendation algorithm. Chose the MD algorithm to extract the information of the system history score, extracts the frequent three items of the user preference distribution as the implicit state, and considers the user′s scoring sequence as the observation state, which is abstracted into a HMM model, user preference learning and reasoning for the first stage of the HMM model combined with BP neural network. Then according to the training of generating optimal first stage recommendation set. The experimental results showed that the recommended algorithm HMM based on the traditional recommendation algorithm had better adaptability and recommendation quality.

recommendation algorithm; BP neural network; hidden Markov model

2017-01-26.

研究生创新科研基金项目(JSCX2015-384HSD)

胡 文(1957-),男,博士,教授,博士生导师,研究方向:嵌入式技术,电子商务.

TP393

A

1672-0946(2017)05-0551-05

猜你喜欢
三元组概率状态
第6讲 “统计与概率”复习精讲
第6讲 “统计与概率”复习精讲
概率与统计(一)
概率与统计(二)
特征标三元组的本原诱导子
关于余挠三元组的periodic-模
状态联想
一个时态RDF存储系统的设计与实现
生命的另一种状态
坚持是成功前的状态