1. 引言
1.1. 研究现状与意义
如今,随着科技的飞速进步和互联网技术的日益完善,全球已步入一个即便身处家中也能洞悉天下事的全新时代,实现了全球资源与信息的无障碍共享与交流。然而,面对网络上纷繁复杂、琳琅满目的信息,用户难以获得他们所需的信息,特别是当人们的需求只能通过少量搜索词来描述时,这种自我信息筛选困难变得尤为突出。人们要想从中筛选出感兴趣或有价值的内容变得越来越具有挑战性。
正是在这样的背景下,网络推荐算法应运而生,作为信息过滤器的一种,近年来已经被看作是解决信息过载的一种重要方法,它为每一个用户提供定制的个性化推荐结果,并且随着时间的推移,它们在我们日常生活中的身影愈发频繁。因此,拥有好的网络推荐算法不仅能够大大提升用户体验,同时对于服务提供商来说也是有着积极的作用的[1]。
但网络推荐算法可能造成信息茧房与过度推荐,算法往往根据用户的历史行为和偏好进行内容推荐,这可能导致用户被过度推荐相似的内容,限制了用户接触新信息的范围,形成“信息茧房”。所以我们引入多样性的算法进行网络预测,相较于传统的基于内容的推荐、协同过滤和混合推荐[2],神经网络可以通过非线性的网络结构,学习得到关于用户和物品的海量特征数据,得到深层次的特征表示,可以有效缓解传统推荐系统中的信息茧房与过度推荐问题[3]。
网络推荐算法还存在算法透明度与可解释性不足的问题,推荐算法通常依赖于复杂的机器学习模型,其决策过程对用户来说是不透明的,这可能导致用户对推荐结果的不信任。而基于距离的向量匹配技术的原理相对直观,实现起来较为容易,并且所需的计算量相对较低,具有一定的自适应能力。于是我们基于距离的匹配,针对不同的用户推送个性化的商品,能有效的解决算法透明度与可解释性不足的问题。
ANN (人工神经网络)方法具备诸多显著优势[4]。重要的是其分类准确性高,能够确保结果的精准度。其次,它拥有强大的并行分布处理能力,能够高效地处理和分析大量数据。此外,ANN还具备出色的分布式储存与学习能力,能够存储并学习复杂的模式和信息。最后,它还具备联想记忆功能,能够基于已有信息进行联想和推断。因此,我们可以利用人工神经网络技术对影响顾客购买行为的多种因素进行动态且深入的分析,进而为不同顾客提供个性化的商品推荐。通过ANN的高效相似度计算和特征映射能力,推荐系统的准确性和用户体验均得到了显著提升。
1.2. 研究现状
个性化推荐技术[5]起源于早期的协同过滤算法,这一算法随后被应用于个性化新闻推荐领域,并推动了多次推荐系统大赛的举办,极大地促进了推荐系统的发展。在电子商务领域,如亚马逊、淘宝、京东等网站,个性化推荐技术也得到了广泛的应用和推广。例如,淘宝页面上的“销售排行榜推荐”主要是基于整个网站购物群体的热度和销量进行的推荐,尚未实现真正的个性化。而“与您浏览过的商品相关的推荐”则是淘宝采用的一种基于物品的推荐算法,它会根据用户之前喜欢的物品,推荐与之相似的其他物品。借助推荐系统,消费者平均可以减少5.1次商品查看次数,从而更快地找到心仪的商品,购物效率得到显著提升。由此可见,个性化推荐技术的研究具有非常重要的意义[6]。
1.3. 研究内容
本文主要对基于收藏物品次数,物品及相关物品加购次数,浏览物品及相关物品次数,通过ANN (人工神经网络)方法来预测购买相关物品的次数,及每个物品的浏览时间,解决信息茧房与过度推荐的问题[7]。重点关注于多层人工神经网络模型,购买模型和基于距离的向量匹配算法相结合,并在模型中提出高效且准确的个性化推荐系统。本文提出感知器模型,进而提出多层人工神经网络,进行网络预测,解决用户反馈难以进行个性化推荐的问题,并以此提出一种基于距离的向量匹配算法,针对不同用户推送个性化的商品。本文的主要研究内容如下:
(1) 网络预测。传统的推荐在计算网络中各个用户的影响力时,使用的都是评分数据这种显性影响。本文基于多层神经网络模型来学习用户的历史行为数据,如收藏物品次数,物品及相关物品加购次数,浏览物品及相关物品次数等,提取用户偏好的深层次特征,进行预测,该预测模型相比于现有主流模型有明显提升。
(2) 个性化推荐。通过购买模型和神经网络模型将实现个性化服务的动态调整,神经网络可以通过在线学习和增量学习的方式,实时地调整模型参数,反映用户最新的偏好。同时,基于距离的向量匹配算法,根据用户的实时反馈动态调整推荐策略,提供更加个性化的服务,并提高了算法透明度与可解释性。
2. 数据处理
2.1. 数据输入
我们统计了在淘宝上购买商品的用户的各种行为的数据。这里的神经网络属于监督学习的模式,因此把数据分为训练数据与测试集见图1。
Figure 1. Training data and test sets
图1. 训练数据与测试集
我们通过收藏物品次数,物品及相关物品加购次数,浏览物品及相关物品次数来预测购买相关物品的次数,及每个物品的浏览时间。
2.2. 数据预处理
将数据映射到区间,这样可以统一单位,使神经网络收敛更快,训练时间更短。不管输入数据范围大还是小,在模式分类中作用适中。使激活函数区分度大。
[SamIn, minp, maxp, tn, mint, maxt] = premnmx (p, t);
n:p矩阵按行归一化后的矩阵;
minp,maxp:p矩阵每一行的最小值,最大值;
tn:t矩阵按行归一化后的矩阵;
mint,maxt:t矩阵每一行的最小值,最大值;
通过以上步骤,将矩阵p, t归一化到[−1, 1],数据预处理对数据进行归一化,统一了模型的量纲,将各个指标进行综合评价。
3. 模型理论
本文主要做的是购买模型与人工神经网络模型,下面进行介绍。
3.1. 感知器模型
假设模型有三个输入的布尔变量(x1, x2, x3)和一个输出变量y。其规则为:
在感知器模型中,每个输入节点均经由一个加权链路与输出节点相连。这些节点实质上扮演着神经元的角色,其中,加权链路模拟了神经元之间神经突触连接的强度。
训练一个感知器模型:
1) 不断调整每一条链的权值,直到训练数据的输入输出关系能拟合为止;
2) 感知器对输入的数据加权求和;
3) 减去偏置因子t;
4) 考察结果的符号,得到输出值。
所以根据上面的感知器模型,输出计算公式为:
(1)
注:输入节点仅负责将接收到的数值直接传递给输出链路,而不进行任何转换处理。相反,输出节点则充当一个数学计算单元的角色,它会计算所有输入加权值的总和,并从这个总和中减去一个偏置项。最终,根据计算结果的符号(正或负),输出节点会决定产生相应的输出值。
更具体的感知器输出模型:
(2)
其中
是输出链的权值,而
是输入属性,当参数为正时输出+1,当参数为负时输出−1。更简洁的形式为:
(3)
其中w0为−t,x0为1,而w. x则是权值向量w和输入属性向量x的点积。单层的感知器只能处理线性问题。
3.2. 多层人工神经网络
多层ANN要比感知器模型复杂的多[8],复杂性来源于:
(1) 在神经网络结构中,输入层与输出层之间可能穿插着多个中间层级,这些层级被统称为隐藏层,其中的元素则被称为隐藏层。在前向传播神经网络中,每一层的结点仅与直接相邻的下一层结点相连。而只有在循环神经网络中,才允许结点在同一层内相互连接,或者某一层的结点能够连接到其前面的任意一层结点。多层前馈人工神经网络举例见图2。
Figure 2. Multilayer feedforward artificial neural network
图2. 多层前馈人工神经网络
(2) 还有许多激活函数(隐藏层用激活函数代替)
所以这些附加的复杂性使得人工神经网络可以对更加复杂的输入输出问题进行建模。就像是异或问题,用两个超平面进行分类,其把输入空间划分到各自的类。而感知器只能构造一个超平面,无法找最优解,则用两层前馈神经网络解决。假如把每个隐藏结点都看作一个感知器,根据各感知器的结果,可得出决策边界与神经网络拓扑结构见图3。
Figure 3. Decision boundary and neural network topology
图3. 决策边界与神经网络拓扑结构
学习Ann模型的权值需要一个有效的算法,该算法在训练数据充足时可以收敛到正确的解,就是把网络中的每个隐藏节点或输出节点看作一个独立的感知器单元使用与权重更新公式
相同的权值更新公式,显然这种方法行不通,因为缺少隐藏节点的真实输出和的先验知识,这使得很难确定个隐藏节点的误差项
。
利用梯度下降法的神经网络权重调整策略,ANN(人工神经网络)学习算法的核心目标是求解出一组最优的权重参数w,最小化误差平方和:
误差平方和是权重w的函数,因为它是由隐藏节点和输出节点的预测输出 (这些预测输出是权重的函数)与实际值之间的差异计算得出的,他的函数图显示了一个误差曲面,该曲面是两个参数,w1和w2的函数。当
是参数w的线性函数式,通常显示出这种误差曲面,将其带入公式,则误差函数变成参数的二次函数,就很容易找到全局最小解。
然后利用激活函数来描述层与层输出之间的关系,从而模拟各层神经元之间的交互作用。常用的激活函数有:
1) 阙值型(用于简单分类的MP模型中)
(4)
2) 线性型(一般用在输入神经元与输出神经元)
(5)
3) S型(常用于隐含层神经元)
,c为常数,进行调整输出幅度。
如果是多层感知器的话,就可以既处理线性问题,又处理非线性问题。
3.3 购买模型与神经模型
3.3.1. 对顾客购买行为进行分析建模
个性化推荐是现在电子购物的优势,但要想为用户提供有效的推荐,必须要首先分析他们的购买行为,通过他们的购买行为,进行更有效的推荐。现在我们对一些消费行为进行统计,最后对会购买相关物品的次数,以及将浏览的时间进行预测。
下图为对个性化推荐进行建模见图4:
Figure 4. Model personalized recommendations
图4. 对个性化推荐进行建模
3.3.2. 构建神经网络
1、构造ANN拓扑结构,初始化网络权值和神经元的阈值;
2、规范输入数据;
3、前向传播:计算隐层神经元和输出层神经元的输入和输出。
对于输入层的单元j,其输出
直接等于其接收到的输入值
。而对于隐藏层以及之后的每一层中的每个单元,它们的净输入和输出则是根据特定的公式进行计算得出的。
(6)
:由上一层单元i到单元j的连接权值
:上一层单元的输
:单元j的偏置
4、利用后向传播算法更新权值与偏差值,对输出层的每个单元计算误差值:
(7)
向后传播(即由输出层向输入层)误差:
(8)
其中
为后层单元j到前层单元k连接的权值,对网络中的每个权值进行更新:
(9)
对网络中每个单元的偏差值进行更新:
(10)
L:学习率
学习率对神经网络的学习速率具有直接影响。当网络中所有权重的变化量
均小于预设的阈值时,可以认为学习过程已经达到稳定状态,此时可以终止整个训练过程。
3.3.3. 基于距离的向量匹配算法
此算法通过计算要买的物品与用户浏览,收藏,加购的偏好的综合距离,将距离最小(即用户最感兴趣)的N件商品推荐给用户
(1) 将诸多偏好行为抽象成一个行为向量,每个行为为一个分量;
(2) 分别计算每个商品与用户偏好行为向量各分两间的距离
,其中
表示行为向量分量k的值,
表示某个件商品对应分量的值,在计算
时,应根据各类数值的特性来选取恰当的距离度量函数;
(3) 利用带权平均距离公式计算向量之间的综合距离,以此作为向量之间差别的度量。
(11)
4. 实证分析
4.1. 模型的选择
本算法采用静态定制和动态更新相结合的方法设定行为选项,阙值与权值。首先给定一个初始行为,再根据顾客的浏览,购买记录,对偏好,阙值与权值进行动态调整。
2、设定网络的起始参数,涵盖最大训练轮数、隐藏层神经元数量、网络学习速度以及期望的训练误差;
3、对网络权值和神经元阈值进行初始化;
训练过程是按照数据批次逐一进行的,其中,每行数据代表一个维度并被逐一输入。
4、对输入数据进行规范化;
5、前向传播阶段:依据既定公式,逐层计算并得出隐藏层及输出层神经元的输入与输出值;
6、后向传播阶段:遵循相应公式,对网络的权值和阈值进行迭代修正,直至满足预设的终止条件。该算法借助特定的评估函数来判断前向传播的结果,并借助反向传播流程对网络参数进行调整和优化,从而实现监督学习的功能。多层人工神经网络传播的对象其实就是误差,传播的目的是为了得到所有层的估计误差,后向是说由后层误差推导前层误差。
多层ANN (人工神经网络)算法的核心思想在于:通过利用输出层的误差来推算前一层的误差,并依次向前递推,逐层估算更早层的误差,这一过程被形象地称为误差的反向传播,最终得到网络中每一层的误差估计。
这里使用的激活函数为
4.2. 实验结果
根据预处理的数据进行实验,得出实际购买数和网络预测购买数,实际每个物品浏览时间和网络预测物品浏览时间的拟合图见图5:
Figure 5. Network prediction vs. actual fitting diagram
图5. 网络预测与实际拟合图
预测结果如下:
本实验根据收藏宝贝次数,购买相关物品次数,浏览此物品与相关物品数量,来预测某用户将要购买物品数量,及他将在每个物品浏览时间。首先SSE比较小,也就是误差平方和比较小,说明拟合的比较好。从图中可以看出,随着选取测试数据集(即顾客购买个数)的不断增加,拟合的程度递增且总体分布保持较好的情况。由此可见本算法有效地实现了个性化推荐功能。
其次将网络预测的数量与时间再与实际测试集相对比发现:网络预测某用户2010年的购买相关物品数量是13.4809,而实际上他2010年购买物品数量为13。网络预测某用户2011年的购买相关物品数量是14.5655,而实际上他2011年购买物品数量为14。网络预测某用户2010年每个物品浏览时间是48.5909,而实际上他2010年每个物品浏览时间为48。网络预测某用户2011年每个物品浏览时间是49.4377,而实际上他2011年每个物品浏览时间为47。由图和数据发现,网络预测与实际情况拟合程度比较高。说明ANN方法可以推断出许多隐藏的数据关系,而且精度比较高。而且我们发现,网络购物呈逐年上升的趋势。
本文基于多层神经网络模型来学习用户的历史行为数据,如收藏物品次数,物品及相关物品加购次数,浏览物品及相关物品次数等,提取用户偏好的深层次特征,进行预测,顾客购买测试数与浏览时间记录测试数的推荐成功概率见图6,推荐成功概率比较高,说明该预测模型相比于现有主流模型有明显提升。
Figure 6. Recommended success curve of purchase volume and browsing time
图6. 购买量与浏览时间推荐成功曲线
最后利用基于距离的向量匹配算法,然后导入数据,画出折线图发现:随着测试数的增加,不论是浏览时间还是购买量的推荐成功的概率都很高,并且越来越高,由此可见,本算法不仅能有效的解决算法透明度与可解释性不足的问题,而且可以给用户提供较好的个性化推荐。
4.3. 比较分析
最新的网络推荐算法包括基于内容和协同过滤的混合推荐方法,循环神经网络(RNN)及长短时记忆网络(LSTM)等。混合推荐算法融合了基于内容和协同过滤的推荐策略,以实现优势互补。然而,这种融合并非易事,因为它需要处理数据的多模态性、异构性、大规模性以及分布不均等问题。这些问题使得混合推荐算法的研发和应用依然面临着巨大的挑战。
LSTM也有它的局限性,LSTM引入了门控机制和长期记忆机制,需要更多的参数和计算量,计算复杂度高。LSTM的复杂性使得其内部运行机制不太直观,难以解释网络的决策过程。LSTM有更多的参数需要训练,因此需要更多的数据来避免过拟合。
为测试所提方法的可行性,设计一次实验分析。实验中以淘宝购买用户为研究对象,获取收藏物品次数,物品及相关物品加购次数,浏览物品及相关物品次数数据库,以该数据库为研究对象,选择登录频率较高的100人为推荐对象,测试不同方法的推荐效果。分别使用混合推荐方法,长短时记忆网络(LSTM)及本文方法针对用户进行对比测试。针对100个推荐对象,测试3种不同方法的个性化推荐结果准确率见图7所示。
Figure 7. Accuracy of recommendation results
图7. 推荐结果准确率
通过图6可知,本文方法针对100个用户的推荐结果准确率均达到90%以上;其他两种方法的推荐结果准确率则随着用户数量的增加降低至90%以下。以上数据证明本文方法的推荐浮动较小,推荐准确率较为稳定。
5. 结论
本文提出来一种基于ANN方法的个性化推荐算法,并结合购物APP的个性化推荐实例给出了算法的具体实现。在推荐系统中,通过ANN方法对用户浏览,收藏,加购的权值进行动态分析和计算,来预测购买相关物品的次数,及每个物品的浏览时间,解决信息茧房与过度推荐的问题。重点关注于多层人工神经网络模型,购买模型和基于距离的向量匹配算法相结合,并在模型中提出高效且准确的个性化推荐系统。提出感知器模型,进而提出神经模型,进行网络预测,解决用户反馈难以进行个性化推荐的问题,并根据距离匹配算法完成推荐服务。
然后分别使用传统推荐中的混合推荐方法、LSTM方法以及本文方法针对用户进行对比测试,得到ANN方法的有效性。在网络推荐算法中使用ANN方法,不仅从根本上提升了买家用户的体验,提高选择购物决策的质量与速度,凸显优质买家。而且提高商品的曝光度,提升卖家用户的销量与收益,实现了共赢。ANN方法所提供的个性化推荐,不仅可以用于购物产业也可以用于电子商务网络,娱乐网站,社交网站等,致力于给用户带来更好的体验。现在技术正在逐步发展与创新,以后个性化推荐系统将更好的服务于我们的生活,既可以提高我们的生活品质,又可以提高互联网产品的效益。