kaiyun官方注册
您所在的位置: 首页> 通信与网络> 业界动态> 差分进化神经网络集成的用户偏好模型构建

差分进化神经网络集成的用户偏好模型构建

2016-05-17
作者:杨凤萍1,张大斌1,2
来源:2016年微型机与应用第08期

  杨凤萍1,张大斌1,2

  (1.华中师范大学 信息管理学院,湖北 武汉 430079;2.华南农业大学 数学与信息学院,广东 广州 510642)

摘要用户偏好模型的构建是推荐成功与否的基础。通过产品特征属性与用户特征属性的映射,建立用户偏好模型,引入神经网络集成的机器学习方法来模拟偏好模型。为了提高用户偏好模型的泛化能力,提出用负相关学习算法并行训练成员神经网络,采用差分进化算法对成员网络进行优化,从而有效降低网络集成的泛化误差,提高模型精度。通过Movielens数据仿真,并与单个BP神经网络、GASEN、核密度神经网络集成等模型实验结果进行对比分析,其均方差明显减少,验证了差分进化神经网络集成的用户偏好模型具有较好的泛化能力,能客观反映用户偏好,从而取得更好的推荐效果。

  关键词个性化推荐;用户偏好;负相关;神经网络集成; 差分进化

 0引言

  随着对个性化推荐模型理解的逐层深入,人们开始广泛关注用户的情感语义以及用户对物品喜爱的不确定性和模糊性[1]。用户偏好模型的构建成为个性化推荐的关键部分,其中用户偏好的不确定性和描述上的模糊性成为用户偏好度建模的难点。学者们采用BP神经网络构建用户偏好模型,初步取得了一些成果[2]。然而由于BP神经网络存在参数多、建模难、泛化性差等问题,单个BP神经网络构建的用户偏好模型结果表现并不稳定,难以客观反映用户的偏好。因此,本文引入神经网络集成的机器学习方法来构建用户偏好模型,通过Movielens数据仿真,并与单个BP神经网络、GASEN、核密度神经网络集成等模型实验结果进行对比分析,其均方差明显减少,验证了差分进化神经网络集成的用户偏好模型具有较好的泛化能力,能客观反映用户偏好,从而取得了更好的推荐效果。

1用户偏好模型

  用户偏好模型可以反映用户对产品特征的偏好程度,下面通过产品特征属性与用户特征属性的映射来建立用户偏好模型。

  1.1产品特征属性矩阵

  用户对产品的喜好可以通过产品特征属性表现出来,产品的特征属性矩阵可表示如下:

1.png

  其中,Pik表示产品i的特征属性,Pik=0,产品i不具有特征hk

  1,产品i具有特征hk;n表示产品特征的个数;m表示产品的总数。当新增产品时,可以向Pm×n中添加一条记录。

  1.2用户特征属性偏好模型

  用户u对产品特征属性的偏好可以用矩阵Hu=[h1,h2,…,ht]表示,hi的取值范围为[0,1],1表示最喜欢,0表示最不喜欢。用户u对第i个特征属性的偏好hui定义如下:

2.png

  其中,m为用户评价过的所有产品数,n为具有第i个特征向量的用户评价过的产品数(n≤m),Ij表示用户u对产品的评分。因此用户u对所有产品的特征属性偏好模型yu可定义为:

  yu=P×HTu(3)

  从式(3)可以看出用户对产品的喜好程度可以由产品所具有的特征属性决定。然而,由产品的特征属性到用户对该产品的喜好程度的映射是非线性、复杂的,用传统的统计模型难以准确得到。因此,本文采用神经网络集成的机器学习方法来模拟用户偏好模型。

2差分进化神经网络集成模型

  传统的神经网络集成算法是对子神经网络进行顺序的和单独的训练,子网络之间没有任何的交互,从而造成子神经网络之间具有较强的相关性且训练时间较长。而研究表明,差异度较大的子神经网络可以提高集成的泛化能力,因此在训练子神经网络时要尽量增大子神经网络的差异度。

  本文引入负相关学习算法并行训练子神经网络,减弱子网络之间的相关性以改善集成后网络系统的性能。对成员神经网络的集成,采用差分进化算法对成员网络的权重进行优化选择,能够有效地降低网络集成的泛化误差。

 2.1集成个体的生成

  负相关学习法是通过在各子神经网络的误差函数中加入一个相关性惩罚项来并行地训练这些子网络,每一个子网络训练的目的都是促使整个神经网络集成能够取得最好的训练结果。

  负相关学习算法的主要步骤[3]如下:

  假定有 N个样本的训练集S:

  S={(x(1),d(1));(x(2),d(2));…;(x(n),d(n))}(4)

  其中,x是神经网络的输入向量,d是对应的期望输出向量。

  (1)计算集成中各子神经网络的输出Fi(n),从而得到整个集成的输出F(n):

5.png

  其中,M表示集成网络中子网络的个数,n表示训练样本个数 。

  (2)通过子神经网络的输出和集成的输出可以定义惩罚函数如下:

  Pi(n)=(Fi(n)-F(n))∑Mj≠i(Fj(n)-F(n))(6)

  (3)在集成中子网络的误差函数中添加上面构建的惩罚函数,新误差函数表示如下:

78.png

  Δw=-α[(Fi(n)-d(n)-λ(Fi(n)-F(n))]Fi(n)w(9)

  其中,λ 是用来调整惩罚强度的,0≤λ≤1。

  (4)通过BP算法和提出的新误差函数来并行地训练神经网络并调整权值。

 2.2集成结论的生成

  设N个训练样本的实际输出为{yn,n=1,2,…,N},神经网络集成个体是M个由负相关学习算法并行训练得到的神经网络组成的,第i个子网络的预测值为{in,n=1,2,…,N,i=1,2,…,M},ein=yn-in为第i个子网络的第n个预测误差。wi为第i个子网络的权重系数,满足约束条件wi≥0,且∑Mi=1wi=1。则神经网络的集成输出为n=∑Mi = 1wiin,en=yn-n=∑Mi=1wiein为第n个集成预测的预测误差。记w=(w1,w2,…,wM)T为权系数向量,Ei=(ei1,ei2,…,eiN)T为第i个子网络的预测误差向量,e=(E1,E2,…,EM)为预测误差矩阵。则集成预测误差平方和为Q=∑Ni = 1e2n =wTEw,其中E=eTe。当预测误差信息矩阵E给定后,可以通过式(10)所示的模型求解集成权重向量w。

  minQ=wTEws.t.RTMw=1(10)

  其中,RM是元素全为1的M维列向量。

  由式(10)可知,这是一个非线性优化问题,用常规方法处理较为困难。

  受遗传算法启发而产生的差分进化算法(Differential Evolution Algorithm,DE),作为进化算法的一个分支,自提出以来就以其收敛性好、容易实现、模型简单、控制参数相对较少等优点受到人们的关注,已被广泛应用于机器学习、运筹管理以及多目标优化等领域。因此,本文采用基于两阶段变异交叉策略的差分进化算法[4]求解上述问题。

  定义差分进化算法的适应度函数为:

  f(w)=Q=wTEw

  具体操作过程如下:

  (1)种群初始化。采用反向混沌搜索方法来初始化种群,每个个体由{w1,w2,…,wM}组成,wi为[0,1]上均匀分布的随机数。

  (2)对种群个体进行归一化处理,按照适应值将种群分为比较好的子种群M1和比较差的子种群M2。

  (3)对较好子种群M1的个体,采用DE/wbest/1/bin的变异策略和交叉1策略进行差分进化。

  (4)对较差子种群的M2个体,采用DE/best/1/bin的变异策略和交叉2策略进行差分进化。

  (5)对个体进行归一化,重新产生比较好的子种群和比较差的子种群,并跳到步骤(3),持续进行5代,重新开始子种群的并行搜索。

  (6)合并2个子种群,并重新产生较好子种群M3和较差子种群M4。

  (7)对子种群M3和M4的操作同M1和M2。

  (8)合并2个子种群,并且按照适应度值排序。若当前迭代次数小于设定的最大迭代次数,则转至步骤(2),否则转至步骤(8)。

  (9)结束寻优,把进化到最后一代中的最优个体归一化后,便得到使训练误差最小化的最优集成权系数。

  2.3算法性能分析

  为了测试算法性能,本文选择几个比较流行的神经网络集成算法与差分进化神经网络集成(Differential Evolution Ensemble,DEE)算法进行比较,分别是遗传神经网络集成算法(GAE)、周志华提出的选择神经网络集成算法(GASEN)[5]、平均神经网络集成算法(AGE)和核密度神经网络集成算法(KDE)[6],并把所有成员网络的平均误差(MEAN)作为单个BP神经网络的误差比较。所选的测试集是两个常用于神经网络集成算法测试的回归分析型数据集,分别如下:

  (1)数据集1(Friedman#2)。每个输入向量含有4个分量,根据式(11)产生。

  y=x21+(x2x3-(1x2x4))2(11)

  其中,x1服从[0,100]上的均匀分布,x2服从[40π,560π]上的均匀分布,x3服从[0,1]上的均匀分布,x4服从[1,11]上的均匀分布。

  (2)数据集2(Multi)。每个输入向量含有5个分量,根据式(12)产生。

  y=0.79+1.27x1x2+1.56x1x4+3.42x2x5+2.06x3x4x5(12)

  其中,xi(i=1,2,…,5)服从[0,1]上的均匀分布。

  每个数据集包含1 000个示例,采用5倍交叉验证方法。成员神经网络全部采用3层前馈型神经网络结构,隐层神经元节点设为10,成员网络的规模设为30,采用负相关学习算法并行训练,两个数据集的绝对平均泛化误差如表1所示,差分进化算法和遗传算法求解权重的迭代过程如图1所示。

001.jpg

  由图1的收敛曲线可以看出,在求解权值集成系数的迭代过程中,差分进化算法在种群初始化、收敛速度和寻优能力都比遗传算法好,能够求解出使训练误差更低的权值集成系数,从而取得更好的泛化能力。

  从表1可以看出,虽然表中的集成算法的绝对平均泛化误差大小有所差异,但是所有的集成算法的误差都远远小于单个BP神经网络(MEAN)的误差,说明了神经网络集成的有效性。此外,本文提出的DEE算法在数据集上取得的绝对平均泛化误差是最小的,证明了DEE算法的有效性。

2.4用户偏好模型训练

  由上节实验分析可知,本文提出的DEE算法相对于单个BP神经网络具有更好的非线性映射能力和泛化能力,因此采用DEE算法进行用户偏好模型的构建。

  首先,构建单个BP神经网络的用户偏好模型,该模型采用3层网络构建。第一层输入层用来输入产品的特征向量,因此输入层神经元个数是产品特征向量的维数;第二层隐层为用户对这些产品特征的偏好程度数据,每个神经元被用来表征对产品的某个特征值的喜爱程度,因此其个数也与产品特征向量的维数相同,即与输入层神经元个数相同;第三层输出层输出用户对该产品的评分值,因此输出层神经元个数为1。

  DEE用户偏好模型的子神经网络采用上述BP神经网络的结构,基于用户偏好的模糊性和多样性,引入负相关学习方法并行训练M个成员网络,得到该用户的M个偏好模型,最后用差分进化算法求解出最优集成权重,把用户的M个偏好模型集成得到最后的用户偏好模型。用户偏好的DEE模型流程图如图2所示。

002.jpg

3实例分析

  本文采用Movielens数据集验证DEE用户偏好模型的有效性。Movielens数据集中电影的特征属性为18个,因此将成员神经网络的输入层神经元个数和隐层的神经元个数均设为18个,输出层神经元设为1个。为了更好地体现模型的有效性,本文选择评分记录数据相对多的4169号用户,该用户有2 313条评分记录。将前2 000个记录作为训练样本,后313个作为测试样本。软件方面使用MATLAB2008a编程,随机初始化神经网络模型的权值和阈值,训练30个子神经网络进行集成。此外,为了验证DEE模型的有效性和鲁棒性,独立训练模型10次,实验的均方差如图3所示,具体误差数值如表2所示。

004.jpg

003.jpg

  由图3和表2的实验结果可以看出,首先,几种集成模型相对于单个BP神经网络的均方差较小,说明集成模型在用户偏好模型训练中具有更好的泛化能力,稳定性高,从一定程度上解决了单个BP神经网络在用户偏好模型中表现的不稳定性。从均方差来看,数据集中表现最好的模型是本文提出的DEE模型,其次是GAE模型,而GASEN、KDE、AGE模型表现相对不够稳定,平均误差相差不大。综上所述,本文提出的DEE模型在用户偏好模型训练中能够显著减少均方差,具有更好的泛化能力,能够客观地反映用户的偏好,从而提高了推荐的准确率。

4结论

  基于用户偏好的模糊性和复杂性,本文首次引入神经网络集成的机器学习方法来构建用户偏好模型。首先通过产品特征和用户偏好的映射建立了用户偏好模型,然后为了提高模型的泛化能力,提出了一种基于差分进化的负相关神经网络集成算法(DEE)构建用户偏好模型,最后通过Movielens数据集进行仿真。实验结果表明,DEE用户偏好模型具有更好的泛化能力,且结果表现稳定,从一定程度上解决了单个BP神经网络存在的模型精度差、结果表现不稳定等问题,验证了DEE用户偏好模型的有效性。

参考文献

  [1] 牟向伟, 陈燕.基于模糊描述逻辑的个性化推荐系统建模[J].计算机应用研究,2011,28(4):14291433.

  [2] 辛菊琴, 蒋艳, 舒少龙.综合用户偏好模型和BP神经网络的个性化推荐[J].计算机工程与应用,2013,49(2):5760,96.

  [3] Liu Y, Yao X. Ensemble learning via negative correlation[J].Neural Networks, 1999, 12(10): 13991404.

  [4] 张大斌, 江华, 徐柳怡,等.基于两阶段变异交叉策略的差分进化算法[J].计算机工程,2014,40(8):183189.

  [5] Zhou Zhihua, Wu Jianxin, Tang Wei. Ensembling neural networks: many could be better than all[J]. Artificial Intelligence,2002, 137(12): 239263.

  [6] NIKOLAOS K, DEVON K, SVEN F. Neural network ensemble operators for time series forecasting[J]. Expert Systems with Applications,2014, 41(9):42354244.


本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306116;邮箱:aet@chinaaet.com。
Baidu
map