一种适用于用户偏好动态演变的个性化推荐算法的制作方法

文档序号:12124768阅读:1226来源:国知局
一种适用于用户偏好动态演变的个性化推荐算法的制作方法与工艺

本发明涉及数据挖掘领域,具体涉及一种基于隐马尔科夫模型的个性化推荐算法。



背景技术:

随着电子商务规模的不断扩大、商品数量和种类的快速增长,用户需要花费大量的时间才能找到自己想要购买的商品。为了解决上述问题,个性化推荐算法得到了广泛的研究,能够为用户提供个性化的决策支持和信息服务,一方面提升了用户体验,另一方面帮助商品快速推广到相关市场。

目前,主要的个性化推荐算法主要包括协同过滤算法、基于效用的推荐算法以及基于知识的推荐算法等一系列静态的推荐算法。此类算法通过对用户信息数据、商品信息数据以及用户历史行为数据分析得出用户偏好信息,通过用户偏好信息来推荐用户可能够感兴趣或者可能购买的商品。

静态推荐算法都是基于用户偏好是静态(即用户偏好不会随时间改变)的假设。但是,现实生活中用户的偏好会随着时间变化,即用户的偏好是动态演变的。因此,可以进一步挖掘用户偏好的演变信息,从而提高个性化推荐算法的准确度。但现有的个性化推荐算法大都没有利用用户偏好的动态演变信息,这是现有个性化推荐算法的一个不足。

此外,现有的基于概率模型的个性化推荐算法在进行模型的参数估计时需要的用户购买记录的样本数量较大。而在实际情况中,很多用户的样本数量都不足够,尤其是新用户或不活跃用户。这是现有个性化推荐算法的另一个不足。



技术实现要素:

针对现有个性化推荐算法存在的不足,本发明提供了一种适用于用户偏好动态演变的个性化推荐算法,该算法包含参数估计算法和商品推荐算法两个部分,其中参数估计算法中采用了本发明提出的一种新的似然函数,采用该似然函数可以解决用户的样本数量不足的问题。本发明所提供的个性化推荐算法实现了用户偏好的动态挖掘,与现有个性化推荐算法相比能够得到更高的准确度。

本发明的特征在于包含以下内容:

1、一种新的似然函数,用于个性化推荐算法中的概率模型的参数估计

为了解决在模型的参数估计中用户样本不充分的问题,本发明提出在模型的参数估计时,对于给定用户u,除了用户u的样本,还把与u相似的所有用户的样本也作为训练样本来构造似然函数,以进行模型参数的最大似然估计。

本发明提出的样本似然函数为:

其中,x是与用户u有关的观测样本,为d(d≥1)维,x可以来源于用户u,也可以来源于和u相似的用户。所有的x构成的集合为Du。θ是待估计的参数集。p(x)是连续概率分布的(联合)概率密度函数。w(x)表示观测样本x的权值,若x来源于用户u,则w(x)=1;若x来源于和u相似的用户,则w(x)为相似程度的函数,具体计算表达式见式(3)。

2、一种基于隐马尔科夫模型的参数估计算法

在本发明提供的个性化推荐算法中,为了挖掘用户偏好动态演变的信息,本发明提出在似然函数(1)中的p(x|θ)采用隐马尔科夫模型。其中,对于特定用户u,样本为顺序统计量,其中表示第i个时刻,用户u所购买的商品集。

不同于原始隐马尔科夫模型(在隐变量ht条件下一个可观测的变量为一维变量),本发明提出,在某一时刻t,一个可观测的变量为长度不定的多维变量,其在隐变量ht条件下的概率密度函数为:

其中,为t时刻商品集合的势,(z|θ,ht)服从泊松分布,服从参数为B的多项式分布。

因此,涉及的参数包括:隐马尔科夫模型中初始状态分布π、状态转移概率分布矩阵A以及多项式分布参数B,即:θ={π,A,B}。

对于上述的参数估计,本发明提供了一种参数估计算法,如图1所示。

该参数估计算法是一个参数θ循环迭代更新算法,参数θ={π,A,B}的更新的具体计算方法见公式(5)、公式(6)和公式(7)。

3、商品推荐算法

在得到模型参数的估计后,本发明提出的商品推荐算法如图3所示。

基于用户过去的一段时间的购物记录,商品v的评分用该商品在下一时刻的概率来计算,其中是估计出的参数值。的具体计算方法见公式(8)。因此,本推荐的商品就是商品评分排名靠前的商品,根据实际情况,如果仅仅只需要推荐一个商品那么就是评分最高的商品,如果推荐需要推荐n个商品则将排名靠前的前n个商品作为集合推荐给用户。

附图说明

图1是本发明所提供的一种适用于用户偏好动态演变的个性化推荐算法的流程图;

图2是图1中S3“参数估计”的算法流程图;

图3是图1中S4“商品推荐”的算法流程图。

下面结合附图对本发明作进一步的详细描述。

Notation

n-推荐商品个数

m-商品个数

h-隐变量

ι-隐变量参数的维度

k-观测样本的时间段的长度

σ-用户相似度阈值

t-观测时刻

τ-迭代次数

g-计数函数名

w-权重函数名

具体实施方式

下面结合附图,对本发明提供的一种适用于用户偏好动态演变的个性化推荐算法做具体说明。

本发明的具体实施方式包括两个主要部分:参数估计(图1中S3)和商品推荐(图1中S4)。

参数估计的算法如图2所示,采用基于本发明提供的一种新的似然概率函数的隐马尔科夫模型。

U={u1,u2,...,ul}表示所有观测样本中所涉及的用户的集合,给定一个用户ui,向量vi用于描述该用户的基本属性,在过去k个时间段内的用户ui观测样本为表示第j个时间段的观测样本子集。用户ui的相似用户集N(ui)={uj|||vi-vj||2<σ,uj∈U}为属性向量的欧式距离小于给定阈值的用户集合,其中,σ是预先给定的阈值用于筛选属性相似的用户。用户ui的模型训练的训练样本集为其中N(ui)j表示用户ui的第j个近邻用户,|N(ui)|表示用户ui的近邻用户集的大小。

用户ui的训练样本的似然函数用式(1)计算,其中表示样本的样本权值,样本权值的计算公式如下:

在本发明提供的个性化推荐算法中,用户观测样本的概率密度函数由隐马尔科夫模型来计算,模型参数θ={π,A,υ}。

一个典型的隐马尔科夫模型包括:隐变量和可见变量两部分,对于每个时刻t,均有一个可见变量和隐变量,对于t时刻的隐变量只依赖于上一时刻t-1的隐变量,t时刻的可见变量只依赖于当前时刻t的隐变量。其中,对于初始时刻的隐变量服从参数向量长度为ι的参数π={π12,...,πι}的多项式分布,即:ht=1~Mutinomi(aπl)。对于t(t>1)时刻的隐变量,其分布依赖于前一时刻,即:

其中,A是从变量ht|ht-1的概率密度函数的参数,A中元素aij表示ht-1=i条件下ht=j的概率,即:p(ht=j|ht-1=i)=aij

本发明提供的基于隐马尔可夫模型的个性化推荐算法中,可见变量的概率密度由公式(2)计算。因此,在上诉的似然函数和隐马尔可夫模型前提下的参数估计算法(即本文提供的基于隐马尔可夫模型的个性化推荐算法)包括参数更新和参数收敛判断。其中,对于给定的用户ui,每次迭代的初始分布的参数更新计算如下:

其中,{πτ,Aτ,Bτ}表示第τ次迭代参数计算的结果。由前向传播算法[1],由前向传播算法和后向传播算法[1]计算得出。

每次迭代的状态转移概率更新公式如下:

其中,表示观测序列的长度。的计算方法由参考文献[1]给出。

每次迭代的生成概率更新公式如下:

其中,函数g计算商品j在商品集中出现的次数。

在得到模型参数的估计后,基于用户过去的一段时间的购物记录,商品i的评分用该商品在下一时刻的概率来计算,的具体计算方法如下:

其中,的具体计算方法由参考文献[1]给出。

因此,本推荐的商品就是商品评分排名靠前的商品,根据实际情况,如果仅仅只需要推荐一个商品那么就是评分最高的商品,如果推荐需要推荐n个商品则将排名靠前的前n个商品作为集合推荐给用户。

下面结合附图具体说明本发明提供的基于隐马尔科夫模型的个性化推荐算法,算法具体包括如下步骤:

S1、初始化候选用户集U‘,即把所有用户都作为候选用户;

S2、从候选用户集U‘选择一个用户u;

S3、对于用户u,执行本发明提供的参数估计算法,具体包括如下步骤:

S3.1、初始化参数集,包括:初始状态分布参数π、状态转移概率分布参数A、多项式分布参数B、参数收敛阈值σ、用户u的观测数据集Du以及推荐商品集大小n;

S3.2、初始化迭代次数,即:τ=0;

S3.3、更新参数π,具体更新公式见式(5);

S3.4、更新参数A,具体更新公式见式(6);

S3.5、更新参数B,具体更新公式见式(7);

S3.6、迭代次数加一,即:τ=τ+1;

S3.7、判断参数估计算法是否收敛,如果算法收敛,则进入步骤S4;否则进入步骤S3.3;

S4、执行本发明提供的商品推荐算法,具体包括如下步骤:

S4.1、初始化商品集;

S4.2、从商品集中选择商品i;

S4.3、计算商品i的评分p(i|θ,Du),具体计算公式见式(8);

S4.4、将商品i从商品集I中删除;

S4.5、判断商品集是否为空集,如果为空集,则进入步骤S4.6;否则,进入步骤S4.2;

S4.6、对所有的商品i,将p(i|θ,Du)排序;

S4.7、p(i|θ,Du)值最大的n个商品的集合即为推荐商品集;

S5、U‘=U‘-u,即将用户u从候选用户集U‘中剔除;

S6、判断候选用户集U‘是否为空集,如果U‘为空集,则算法结束;如果U‘不为空集,则返回步骤S2.

参考文献

[1]Rabiner L,Juang B.An introduction to hidden Markov models[J].IEEE ASSP Magazine,1986,3(1):4-16.

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