CN113641907B - 一种基于进化算法的超参数自适应深度推荐方法及装置 - Google Patents
一种基于进化算法的超参数自适应深度推荐方法及装置 Download PDFInfo
- Publication number
- CN113641907B CN113641907B CN202110942451.7A CN202110942451A CN113641907B CN 113641907 B CN113641907 B CN 113641907B CN 202110942451 A CN202110942451 A CN 202110942451A CN 113641907 B CN113641907 B CN 113641907B
- Authority
- CN
- China
- Prior art keywords
- model
- super
- parameter
- recommendation
- training
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 53
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000012549 training Methods 0.000 claims abstract description 83
- 238000005457 optimization Methods 0.000 claims abstract description 33
- 230000003993 interaction Effects 0.000 claims abstract description 12
- 238000012545 processing Methods 0.000 claims abstract description 7
- 238000010276 construction Methods 0.000 claims abstract description 4
- 238000012546 transfer Methods 0.000 claims abstract description 4
- 239000013598 vector Substances 0.000 claims description 82
- 230000006399 behavior Effects 0.000 claims description 48
- 238000004364 calculation method Methods 0.000 claims description 40
- 238000007781 pre-processing Methods 0.000 claims description 34
- 238000013500 data storage Methods 0.000 claims description 33
- 239000011159 matrix material Substances 0.000 claims description 28
- 230000006870 function Effects 0.000 claims description 27
- 238000013528 artificial neural network Methods 0.000 claims description 16
- 230000003044 adaptive effect Effects 0.000 claims description 14
- 230000004913 activation Effects 0.000 claims description 11
- 230000035772 mutation Effects 0.000 claims description 11
- 238000013135 deep learning Methods 0.000 claims description 8
- 238000013136 deep learning model Methods 0.000 claims description 7
- 238000010200 validation analysis Methods 0.000 claims description 7
- 238000012795 verification Methods 0.000 claims description 5
- 230000004931 aggregating effect Effects 0.000 claims description 3
- 238000011423 initialization method Methods 0.000 claims description 3
- 230000000644 propagated effect Effects 0.000 claims description 3
- 238000010845 search algorithm Methods 0.000 claims description 3
- 230000002776 aggregation Effects 0.000 claims 1
- 238000004220 aggregation Methods 0.000 claims 1
- 238000012163 sequencing technique Methods 0.000 claims 1
- 238000004458 analytical method Methods 0.000 abstract description 2
- 230000009471 action Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000006116 polymerization reaction Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012827 research and development Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/086—Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Physiology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及计算机大数据处理分析技术领域,具体涉及电子商务系统中一种基于进化算法的超参数自适应深度推荐方法,包括S1.接收推荐数据集、S2.模型重构与超参数深度精细化匹配、S3.目标函数统一化构造、S4.计算最后一层反向传播传递误差、S5.种群初始化、S6.进化算法超参数迭代优化、S7.梯度下降更新模型参数、S8.完成训练存储模型;以及一种基于进化算法的超参数自适应深度推荐装置,包括:数据接收模块、数据存储模块、预处理模块及执行模块,采用本发明提供的技术方案,作用于不同的推荐系统用户项目交互数据集,结合差分进化算法的自适应寻优能力,实现超参数的动态自适应,节约计算资源和人力成本。
Description
技术领域
本发明涉及计算机大数据处理分析技术领域,具体涉及电子商务系统中一种基于进化算法的超参数自适应深度推荐方法及装置。
背景技术
现代大型电子商务系统中,包含大量的用户和项目的行为交互数据。一种典型的数据描述结构是用户行为统计矩阵,其中的每一行和每一列分别对应一个用户和一个项目,项目指系统中用户可能通过行为进行交互的客观事物,如电影、新闻、商品等;每一个矩阵单元元素对应单个用户对单个项目的历史行为数据,利用符合自然规律的数学统计方法进行量化计算构成。在大型电子商务系统中,用户和项目的数量十分巨大,因此对应的用户行为统计矩阵同样十分巨大。一个用户无法对所有的项目进行交互,而一个项目也不可能与所有的用户有交互。用户的行为统计数据中已知数据远少于未知数据,因此矩阵是极端稀疏的。
推荐系统根据用户需求、兴趣、偏好等,通过推荐算法从海量数据中挖掘出用户感兴趣的项目,如信息、服务、物品等,并将结果以个性化列表的形式推荐给用户。传统的推荐系统运用机器学习的方法通过对用户偏好、项目特征、历史信息以及其他的一些附加信息,通过矩阵模型建立用户兴趣打分机制,从而为用户生成推荐列表。
深度学习在图像识别、机器翻译、语音识别和在线广告等领域取得了突破性进展,已经成为了人工智能的一个热潮,为推荐系统研究带来了新的机遇。一方面,深度学习可通过学习一种深层次非线性网络结构,表征用户和项目相关的海量数据,具有强大的学习数据集本质特征的能力,能够获取用户和项目的深层次特征表示;另一方面,深度学习通过从多源异构数据中进行自动特征学习,从而将不同数据映射到同一个相同的隐空间,能够获得数据的统一表征,在此基础上融合传统推荐方法进行推荐,能够有效利用多源异构数据,缓解传统推荐系统中的数据稀疏和冷启动问题。但是,深度学习模型的神经网络学习效果很大程度上受到超参数选取和优化算法选择的影响。通过人工手段来进行选择仍费时费力,自适应地选择优化学习过程将是深度学习发展地一个趋势。
因此,构建一个根据不同推荐系统用户行为统计矩阵数据集,实现超参数的动态自适应,从而获得拥有良好的泛化能力且性能优异的深度推荐模型,节约计算资源和人力成本,是大数据时代推荐系统所面临的一个挑战性的任务。
发明内容
本发明为解决上述问题,提供一种基于进化算法的超参数自适应深度推荐方法及装置,作用于不同的推荐系统用户行为统计矩阵数据集,结合差分进化算法的自适应寻优能力,实现超参数的动态自适应,节约计算资源和人力成本。
为了达到上述技术效果,本发明提供以下技术方案:
一种基于进化算法的超参数自适应深度推荐方法,包括以下步骤:
S1.接收推荐数据集:服务器获取新的推荐系统用户行为统计矩阵数据集;
S2.模型重构与超参数深度精细化匹配:进行深度推荐模型重构,将超参数学习率及正则化参数按照模型的深度及层数进行向量化匹配成为精细化超参数,且每层设有单独的超参数对;
S3.目标函数统一化构造:超参数自适应深度推荐装置对深度推荐模型进行形式化统一,并构造统一的目标函数;
S4.计算最后一层反向传播传递误差:通过当前一个批次的训练集真实值,求出最后一层的训练误差,通过反向传播传递误差;
S5.种群初始化:将每一层的超参数对聚合起来,作为待优化的种群向量;
S6.进化算法超参数迭代优化:基于进化算法,优化超参数的步骤包括:种群初始化、变异、交叉及选择,对优化超参数的步骤进行重复迭代直至种群所有个体进化完成;
S7.梯度下降更新模型参数:在梯度下降更新的基础上,使用通过进化算法优化后的超参数及通过链式法则反向传播的误差,来更新模型参数,得到已训练的深度推荐模型;
S8.完成训练存储模型:完成模型训练后,将已训练的深度推荐模型存储至数据存储模块的训练模型存储单元中,并通过调用训练模型存储单元中存储的已训练的深度推荐模型来执行新用户的相关推荐任务。
本方法中,步骤S1中输入的用户行为统计数据集将被划分为两部分:80%的数据集作为训练集,用于训练模型参数;剩余20%的数据集作为验证集,用于进行超参数的优化工作。在评分预测任务中,用户行为交互矩阵中的每一个单元元素为单个用户对单个对应项目的评分;在排序推荐任务中,重点关注当前单个用户与之进行过交互的项目,而不关注交互的行为方式,因此在用户行为交互矩阵中,对于单个用户,在与该用户有过交互的项目的矩阵单元元素设定为1,未与该用户有过交互的项目的矩阵单元元素设定为0。
步骤S2为了让模型的每一层都能够被精细控制,本方法将超参数学习率η和正则化参数λ与模型深度,即隐藏层数量相匹配。因此最终经过模型重构的超参数学习率向量Η和正则化参数向量Λ均为长度为模型深度的超参数向量。
假设模型深度为N,中间的某一层用n表示,则学习率向量Η和正则化参数向量Λ可以表示为:
Η=(η1,...,ηn,...,ηN),Λ=(λ1,...,λn,...,λN).
进一步的,步骤S3包括以下步骤:
S3-1.所有的深度推荐模型用统一的深度学习架构来进行表示:
a1=W1x+b1,an=f(Wnan-1+bn),,aN=f(WNaN-1+bN).
其中的x代表初始化的嵌入向量,采用的初始化方法是随机初始化;a1代表深度学习模型第1层的嵌入向量表示,an代表深度学习模型第n层的嵌入向量,f(·)代表激活函数,Wn代表第n层的权重向量或权重矩阵,bn代表第n层的偏置项,aN代表最后一层的嵌入向量,最后一层的嵌入向量aN经过聚合之后最终得到预测的输出结果。
S3-2.统一的目标函数计算公式为:
上述公式中的yu,i为训练数据中某一用户u与某一项目i的真实交互(例如用户u对项目i的评分等),为用户u和项目i交互的模型实际预测结果,Ju,i(·)代表损失函数,WN、bN分别代表最后一层的权重向量和偏置项。
步骤S4需要计算出反向传播的误差,先细化深度推荐模型中的神经网络的神经元激活前后的状态:
其中我们将第n层神经网络的隐藏层在进行激活前定义为an pre,激活后的第n层神经网络隐藏层为an,f(·)代表激活函数。
则根据上述式子可以计算出最后一层的训练误差,计算公式为:
通过反向传播链式求导法则可以求出每一层的误差,计算公式如下:
步骤S5将每一层的超参数对组合构成进化算法待优化种群目标向量,进行种群初始化,其表示如下:
其中Xi,i∈{1,2,…,NP},代表第i个向量实例,一共有NP个向量实例组合在一起构成原始种群;其中i与上述Xi代表的含义相同,n∈{1,2,…,N}代表深度神经网络的第n层,一共包含N层隐藏层构成深度神经网络。
进一步的,步骤S6中包括以下步骤:
S6-1.变异操作,它为每一个初始化的目标向量Xi生成突变向量Vi,其计算公式如下:
Vi=Xr1+Fi·(Xr2-Xr3),
其中的r1,r2,r3∈{1,2,…,NP},均为从1至NP中随机选取的除i之外的数且彼此取值不相同,Fi是控制不同向量缩放的缩放因子。缩放因子的设置决定了超参数寻优的收敛速度和性能。
在这里我们采用工业界应用成熟的一种比例因子局部搜索算法SFLSDE来自适应地设置Fi的取值,计算公式如下:
其中rand1,rand2和rand3均代表介于0和1之间的伪随机数,τ1,τ2和τ3为常数阈值,分别为τ1=0.1,τ2=0.03,τ3=0.07;其余的常数值取值为,SFGSS=8,SFHC=20,Fl=0.1,Fu=0.9。在初始状态取值时,Fi初始化为0到1之间的随机数。
S6-2.交叉操作,在经过变异操作得到变异向量Vi之后,用Vi扰乱Xi来增加种群的多样性特征,使得结果更加鲁棒。我们同样采用应用成熟的DE/CurrentToRand/1交叉策略生成交叉向量Ui,同时结合步骤S6-1可以得到其计算公式如下:
Ui=Xi+K·(Vi-Xi)=Xi+K·(Xr1-Xi)+Fi·(Xr2-Xr3),
其中K是介于0和1之间的随机数,Fi及其计算方式与步骤S6-1中相同。在代入计算时由于Fi是缩放因子,本身存在一定的随机选择特性,因此在上述公式中取消了前面相乘的随机数K,仅保留Fi项。
S6-3.选择操作,完成了上述操作之后,超参数自适应深度推荐装置将在验证数据集上使超参数设置为Ui或Xi时,比较两者在深度推荐模型的性能,比较计算公式如下:
其中的Xi,e代表经过进化之后的Xi,函数perf(·)表示评估深度推荐模型在验证数据集上的性能表现。当所有的NP目标向量在当前训练轮次进化之后,获得当前轮次的最优超参数学习率向量Η和正则化参数向量Λ。
步骤S7将进化后的超参数向量保留进行迭代优化,采取随机梯度下降的方式来进行模型参数更新,
根据梯度下降算法,利用步骤S7搜索寻优出的最优超参数值,对模型的每一层参数进行更新,计算公式如下:
for n∈{1,2,...,N}:
上述计算公式中目标函数在数据yu,i上关于模型参数的偏导数可以通过下面的公式计算得出:
其中的δn代表通过链式求导法则获得的第n层的反向传播误差,公式展示了超参数自适应深度推荐装置在深度推荐模型每一层实现了细粒度的超参数精细控制。
综合上述目标函数关于模型参数的偏导公式以及模型参数更新公式可以得到最终模型参数更新的计算公式如下:
for n∈{1,2,...,N}:
按照此方法对当前深度推荐模型在输入的数据集上进行迭代优化训练,重复执行步骤S4-S7。
步骤S8模型达到收敛条件,即当达到最大迭代轮次或者当训练误差达到最小值之后延迟一定轮次,完成深度推荐模型训练,将模型存储至训练模型存储单元。
本发明还提出一种基于进化算法的超参数自适应深度推荐装置,如图2所示,包括数据接收模块、数据存储模块、预处理模块和执行模块,其中,数据接收模块与数据存储模块连接,数据接收模块用于接收服务器获取的用户行为统计数据,并将所接受的服务器获取的用户行为统计数据传递给数据存储模块进行存储,所述数据存储模块与预处理模块相连接,预处理模块将对数据集进行预处理和模型进行初始化,预处理模块与执行模块相连接,执行模块将执行服务器发送的进行自适应训练的指令,并将训练好的模型存入数据存储模块中。
用数据接收模块获取服务器的用户行为统计数据,用预处理模块对接收的用户行为统计数据进行预处理和对模型进行初始化,执行模块执行深度推荐模型的超参数自适应训练的指令,数据存储模块对数据接收模块获取的服务器的用户行为统计数据和执行模块训练完成的超参数自适应深度推荐模型进行存储。本装置可直接作用于任何新获取的用户行为统计数据集中,能够针对不同的数据集和不同的深度推荐模型自适应地设置超参数学习率和正则化参数,同时通过超参数向量化匹配模型的深度提升模型推荐性能,从而解决大数据处理环境中的超参数自适应设置和高精度推荐的问题。
进一步的,所述数据存储模块包括训练模型存储单元和统计数据存储单元,所述训练模型存储单元与所述执行模块连接,用于存储训练好的超参数自适应深度推荐模型;所述统计数据存储单元与所述数据接收模块连接,用于存储数据接收模块传递的用户行为统计数据。
对数据接收模块采集的服务器的用户行为统计数据和执行模块训练好的超参数自适应深度推荐模型进行分单元存储,在调取数据和调用模型进行推荐预测时能更加方便、准确和快捷。
进一步的,所述预处理模块包括模型初始化单元和数据预处理单元,
所述模型初始化单元进行模型的重构,包括对超参数学习率和正则化参数按照模型深度或层数进行向量化匹配以及对深度推荐模型进行形式化统一,构造统一的目标函数。
所述数据预处理单元将用于对接收到的用户行为统计数据集进行预处理,包括对数据集进行训练集和验证集的划分,以及在面对评分预测推荐任务和排序预测推荐任务时用户行为统计矩阵的不同设定处理方式的预处理工作。
进一步的,所述执行模块包括训练误差计算单元,进化算法超参数优化单元,模型参数迭代更新单元和输出单元,
所述训练误差计算单元通过当前批次的训练集真实值计算出最后一层的训练误差,通过反向传播传递误差。
所述进化算法超参数优化单元基于进化算法,将每一层的超参数对聚合起来,作为待优化的种群向量,重复迭代进行种群初始化、变异、交叉和选择等一系列进化步骤来优化超参数,然后在梯度更新的基础上利用进化寻优之后的超参数,计算出链式法则反向传播的误差来更新模型参数,重复进行超参数进化寻优和梯度下降训练更新模型参数直至达到训练终止条件,得到训练好的推荐模型。
所述模型参数迭代更新单元在梯度下降更新的基础上,利用经过进化算法优化后的超参数以及经过链式法则反向传播的误差来更新模型参数。
所述输出单元输入端与进化算法优化训练单元输出端连接,输出单元输出端与数据存储模块相连接,所述输出单元将进化算法优化训练单元训练完成的超参数自适应深度推荐模型输出并存储到数据存储模块中。
与现有技术相比,本发明的有益效果:本方法利用进化算法自适应寻优能力,处理对象为用户行为统计矩阵,构建了一个深度学习推荐装置,有以下优点:
1、能够处理不同的推荐任务用户行为统计矩阵数据集,实现对数据集的动态自适应;
2、模型训练收敛速度快,能够节约大量的计算资源和人力成本;
3、能够实现在深度推荐模型训练时超参数的动态自适应,训练得到的深度推荐模型拥有良好的泛化性能且推荐性能表现优异。
附图说明:
图1为为本发明流程示意图;
图2为本发明结构示意图;
图3为应用本发明实施例前后,评分预测模型在同一个用户行为统计数据集上的计算收敛速度对比图;
图4为应用本发明实施例前后,评分预测模型在同一个用户行为统计数据集上的推荐任务预测准确度对比图;
图5为应用本发明实施例前后,排序推荐模型在同一个用户行为统计数据集上的计算收敛速度对比图;
图6为应用本发明实施例前后,排序推荐模型在同一个用户行为统计数据集上的推荐任务预测准确度对比图。
具体实施方式
下面结合试验例及具体实施方式对本发明作进一步的详细描述。但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。
如图1所示,本发明提供了一种基于进化算法的超参数自适应推荐方法,包括以下步骤:
接收推荐数据集及自适应训练指令:服务器获取新的推荐系统用户行为统计矩阵数据集,将数据集发送给超参数自适应深度推荐装置,并对超参数自适应深度推荐装置发送自适应训练指令;
数据预处理:超参数自适应深度推荐装置接受指令并进行数据预处理,其中根据推荐任务的不同,如为评分预测或排序推荐,来对数据集进行不同的预处理以匹配推荐任务。
S1.其中输入的推荐系统用户行为统计矩阵数据集将被划分为两部分:80%的数据集作为训练集,用于训练模型参数;剩余20%的数据集作为验证集,用于进行超参数的进化优化工作。在评分预测任务中,用户行为统计矩阵中的每一个单元元素为单个用户对单个对应项目的评分;在排序推荐任务中,重点关注当前单个用户与之进行过交互的项目,而不关注交互的行为方式,因此在用户行为统计矩阵中,对于单个用户,在与该用户有过交互的项目的矩阵单元元素设定为1,未与该用户有过交互的项目的矩阵单元元素设定为0。
S2.模型重构与超参数深度精细化匹配:进行模型重构,将超参数学习率和正则化参数按照模型的深度或层数进行向量化匹配,使得每一层都有单独的超参数对来控制该层的模型参数训练。
为了让模型的每一层都能够被精细控制,本方法将超参数学习率η和正则化参数λ与模型深度,即隐藏层数量相匹配。因此最终经过模型重构的超参数学习率向量Η和正则化参数向量Λ均为长度为模型深度的超参数向量。
假设模型深度为N,中间的某一层用n表示,则学习率向量Η和正则化参数向量Λ可以表示为:
Η=(η1,...,ηn,...,ηN),Λ=(λ1,...,λn,...,λN).
S3.目标函数统一化构造:超参数自适应深度推荐装置对深度推荐模型进行形式化统一,并构造统一的目标函数L(Θ),其中Θ为待训练的模型参数;
其中深度推荐模型用统一的深度学习架构来进行表示:
a1=W1x+b1,an=f(Wnan-1+bn),aN=f(WNaN-1+bN).
上述公式中的x代表初始化的嵌入向量,采用的初始化方法是随机初始化;a1代表深度学习模型第1层的嵌入向量表示,an代表深度学习模型第n层的嵌入向量,f(·)代表激活函数,Wn代表第n层的权重向量或权重矩阵,bn代表第n层的偏置项,aN代表最后一层的嵌入向量,最后一层的嵌入向量aN经过聚合之后最终得到预测的输出结果。
其中统一的目标函数计算公式为:
上述公式中的yu,i为训练数据中某一用户u与某一项目i的真实交互(例如用户u对项目i的评分等),为用户u和项目i交互的模型实际预测结果,Ju,i(·)代表损失函数,WN、bN分别代表最后一层的权重向量和偏置项。
下面将开始进行模型迭代优化训练以及超参数的自适应迭代寻优步骤,
S4.计算最后一层反向传播传递误差:通过一个批次的训练集真实值求出最后一层的训练误差,通过反向传播传递误差;
先细化深度推荐模型中的神经网络的神经元激活前后的状态:
其中我们将第n层神经网络的隐藏层在进行激活前定义为an pre,激活后的第n层神经网络隐藏层为an,f(·)代表激活函数。
则根据上述式子可以计算出最后一层的训练误差,计算公式为:
通过反向传播链式求导法则可以求出每一层的误差,计算公式如下:
S5.种群初始化:将每一层的超参数对组合构成进化算法待优化种群目标向量,进行种群初始化,其表示如下:
其中Xi,i∈{1,2,…,NP},代表第i个向量实例,一共有NP个向量实例组合在一起构成原始种群;其中i与上述Xi代表的含义相同,n∈{1,2,…,N}代表深度神经网络的第n层,一共包含N层隐藏层构成深度神经网络。
S6.进化算法超参数迭代优化:基于进化算法,重复迭代进行种群初始化、变异、交叉、选择等一系列进化步骤优化超参数;
作为本实施例的优选方案,步骤S6包括以下步骤:
S6-1.变异操作,它为每一个初始化的目标向量Xi生成突变向量Vi,其计算公式如下:
Vi=Xr1+Fi·(Xr2-Xr3),
其中的r1,r2,r3∈{1,2,…,NP},均为从1至NP中随机选取的除i之外的数且彼此取值不相同,Fi是控制不同向量缩放的缩放因子。缩放因子的设置决定了超参数寻优的收敛速度和性能。
在这里我们采用工业界应用成熟的一种比例因子局部搜索算法SFLSDE来自适应地设置Fi的取值,计算公式如下:
其中rand1,rand2和rand3均代表介于0和1之间的伪随机数,τ1,τ2和τ3为常数阈值,分别为τ1=0.1,τ2=0.03,τ3=0.07;其余的常数值取值为,SFGSS=8,SFHC=20,Fl=0.1,Fu=0.9。在初始状态取值时,Fi初始化为0到1之间的随机数。
S6-2.交叉操作,在经过变异操作得到变异向量Vi之后,用Vi扰乱Xi来增加种群的多样性特征,使得结果更加鲁棒。我们同样采用应用成熟的DE/CurrentToRand/1交叉策略生成交叉向量Ui,同时结合步骤S6-1可以得到其计算公式如下:
Ui=Xi+K·(Vi-Xi)=Xi+K·(Xr1-Xi)+Fi·(Xr2-Xr3),
其中K是介于0和1之间的随机数,Fi及其计算方式与步骤S6-1中相同。在代入计算时由于Fi是缩放因子,本身存在一定的随机选择特性,因此在上述公式中取消了前面相乘的随机数K,仅保留Fi项。
S6-3.选择操作,完成了上述操作之后,超参数自适应深度推荐装置将在验证数据集上使超参数设置为Ui或Xi时,比较两者在深度推荐模型的性能,比较计算公式如下:
其中的Xi,e代表经过进化之后的Xi,函数perf(·)表示评估深度推荐模型在验证数据集上的性能表现。当所有的NP目标向量在当前训练轮次进化之后,获得当前轮次的最优超参数学习率向量Η和正则化参数向量Λ。
判断当前种群是否完成所有个体的进化,若当前种群未完成所有个体的进化,则重复执行步骤S6;
若完成所有个体的进化,则执行步骤S7。
S7.在梯度下降更新的基础上,利用经过进化算法优化后的超参数以及经过链式法则反向传播的误差来更新模型参数;
步骤S7将进化后的超参数向量保留进行迭代优化,采取随机梯度下降的方式来进行模型参数更新,计算公式如下:
for n∈{1,2,...,N}:
上述计算公式中目标函数在数据yu,i上关于模型参数的偏导数可以通过下面的公式计算得出:
其中的δn代表通过链式求导法则获得的第n层的反向传播误差,公式展示了超参数自适应深度推荐装置在深度推荐模型每一层实现了细粒度的超参数精细控制。
综合上述目标函数关于模型参数的偏导公式以及模型参数更新公式可以得到最终模型参数更新的计算公式如下:
for n∈{1,2,...,N}:
判断当前训练迭代轮次是否达到收敛条件,即当达到最大迭代轮次或者当训练误差达到最小值之后延迟一定轮次;
若未达到收敛条件,则重复执行步骤S4;
若达到收敛条件,完成深度推荐模型训练,执行步骤S8。
S8.存储当前模型至数据存储模块的训练模型存储单元中,通过调用单元中存储的训练模型来执行新用户的相关推荐任务。
本发明还提出一种基于进化算法的超参数自适应深度推荐装置,如图2所示,包括数据接收模块、数据存储模块、预处理模块和执行模块,其中,数据接收模块与数据存储模块连接,数据接收模块用于接收服务器获取的用户行为统计数据,并将所接受的服务器获取的用户行为统计数据传递给数据存储模块进行存储,所述数据存储模块与预处理模块相连接,预处理模块将对数据集进行预处理和模型进行初始化,预处理模块与执行模块相连接,执行模块将执行服务器发送的进行自适应训练的指令,并将训练好的模型存入数据存储模块中。
用数据接收模块获取服务器的用户行为统计数据,用预处理模块对接收的用户行为统计数据进行预处理和对模型进行初始化,用执行模块执行深度推荐模型的超参数自适应训练的指令,数据存储模块对数据接收模块获取的服务器的用户行为统计数据和执行模块训练完成的超参数自适应深度推荐模型进行存储。本装置可直接作用于任何新获取的用户行为统计数据集中,能够针对不同的数据集和不同的深度推荐模型自适应地设置超参数学习率和正则化参数,同时通过超参数向量化匹配模型的深度提升模型推荐性能,从而解决大数据处理环境中的超参数自适应设置和高精度推荐的问题。
本实施例中,所述数据存储模块包括训练模型存储单元和统计数据存储单元,所述训练模型存储单元与所述执行模块连接,用于存储训练好的超参数自适应深度推荐模型;所述统计数据存储单元与所述数据接收模块连接,用于存储数据接收模块传递的用户行为统计数据。
对数据接收模块采集的服务器的用户行为统计数据和执行模块训练好的超参数自适应深度推荐模型进行分单元存储,在调取数据和调用模型进行推荐预测时能更加方便、准确和快捷。
对于本实施例中预处理模块包括模型初始化单元和数据预处理单元,
所述模型初始化单元进行模型的重构,包括对超参数学习率和正则化参数按照模型深度或层数进行向量化匹配以及对深度推荐模型进行形式化统一,构造统一的目标函数。
所述数据预处理单元将用于对接收到的用户行为统计数据集进行预处理,包括对数据集进行训练集和验证集的划分,以及在面对评分预测推荐任务和排序预测推荐任务时用户行为统计矩阵的不同设定处理方式的预处理工作。
作为本实施例的优选方案,所述执行模块包括训练误差计算单元,进化算法超参数优化单元,模型参数迭代更新单元和输出单元,
所述训练误差计算单元通过当前批次的训练集真实值计算出最后一层的训练误差,通过反向传播传递误差。
所述进化算法优化训练单元基于进化算法,将每一层的超参数对聚合起来,作为待优化的种群向量,重复迭代进行种群初始化、变异、交叉和选择等一系列进化步骤来优化超参数,然后在梯度更新的基础上利用进化寻优之后的超参数,计算出链式法则反向传播的误差来更新模型参数,重复进行超参数进化寻优和梯度下降训练更新模型参数直至达到训练终止条件,得到训练好的推荐模型。
所述模型参数迭代更新单元在梯度下降更新的基础上,利用经过进化算法优化后的超参数以及经过链式法则反向传播的误差来更新模型参数。
所述输出单元输入端与进化算法优化训练单元输出端连接,输出单元输出端与数据存储模块相连接,所述输出单元将进化算法优化训练单元训练完成的超参数自适应深度推荐模型输出并存储到数据存储模块中。
图3为应用本实施案例前后,评分预测深度推荐模型的收敛速度对比。这里选用的评分预测模型来源于“In Proceedings of the 43rd International ACM SIGIRConference on Research and Development in Information Retrieval.981–990.”应用本发明实施例后,在同一个用户行为统计推荐数据集下,评分预测模型在达到同样的推荐精度时与传统的超参数优化方法的时间花费进行比较时,时间花费明显更少,有明显的计算速度优势。
图4为应用本实施例前后,评分预测深度推荐模型的推荐精度对比。在这里推荐精度的对比指标采用均方根误差RMSE,RMSE取值越小代表模型推荐精度越好。应用本发明实施例后,在进化算法的超参数自适应寻优下,深度推荐模型在推荐数据集上的均方根误差RMSE有明显下降,因此深度推荐模型的推荐精度在应用本实施例之后有明显的提高。
图5为应用本实施案例前后,排序推荐深度推荐模型的收敛速度对比。这里选用的排序推荐模型来源于“In Proceedings of the 42nd international ACM SIGIRconference on Research and development in Information Retrieval.165–174.”应用本发明实施例后,在同一个用户行为统计推荐数据集下,排序推荐模型在达到同样的推荐精度时与传统的超参数优化方法的时间花费进行比较时,时间花费明显更少,有明显的计算速度优势。
图6为应用本实施例前后,排序推荐深度推荐模型的推荐精度对比。在这里推荐精度的对比指标采用归一化折损累计增益NDCG@20,NDCG@20越大代表模型推荐精度越好。应用本发明实施例后,在进化算法的超参数自适应寻优下,深度推荐模型在推荐数据集上的归一化折损累计增益NDCG@20有明显上升,因此深度推荐模型的推荐精度在应用本实施例之后有明显的提高。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”或“一些事例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (8)
1.一种基于进化算法的超参数自适应深度推荐方法,其特征在于,包括以下步骤:
S1.接收推荐数据集:服务器获取新的推荐系统用户行为统计矩阵数据集;
S2.模型重构与超参数深度精细化匹配:进行深度推荐模型重构,将超参数学习率及正则化参数按照模型的深度及层数进行向量化匹配成为精细化超参数,且每层设有单独的超参数对;
S3.目标函数统一化构造:超参数自适应深度推荐装置对深度推荐模型进行形式化统一,并构造统一的目标函数;
深度推荐模型的每一层用统一的深度学习架构来进行表示:
a1=W1x+b1,an=f(Wnan-1+bn),aN=f(WNaN-1+bN),
其中的x代表初始化的嵌入向量,采用的初始化方法是随机初始化;a1代表深度学习模型第1层的嵌入向量表示,an代表深度学习模型第n层的嵌入向量,f(·)代表激活函数,Wn代表第n层的权重向量或权重矩阵,bn代表第n层的偏置项,aN代表最后一层的嵌入向量,最后一层的嵌入向量aN经过聚合之后最终得到预测的输出结果,统一的目标函数计算公式为:
上述公式中的yu,i为训练数据中用户u与项目i的真实交互,为用户u和项目i交互的模型实际预测结果,Ju,i(·)代表损失函数,WN、bN分别代表最后一层的权重向量和偏置项;W表示权重向量;b表示偏置项;
S4.计算最后一层反向传播传递误差:通过当前一个批次的训练集真实值,求出最后一层的训练误差,通过反向传播传递误差;
S5.种群初始化:将每一层的超参数对聚合起来,作为待优化的种群向量;
S6.进化算法超参数迭代优化:基于进化算法,优化超参数的步骤包括:种群初始化、变异、交叉及选择,对优化超参数的步骤进行重复迭代直至种群所有个体进化完成;
S7.梯度下降更新模型参数:在梯度下降更新的基础上,使用通过进化算法优化后的超参数及通过链式法则反向传播的误差,来更新模型参数,得到已训练的深度推荐模型;
更新计算公式如下:
for n∈{1,2,...,N}:
其中的δn代表通过链式求导法则获得的第n层的反向传播误差;ηn表示第n层深度神经网络的学习率;λn表示第n层深度神经网络的正则化参数;
按照此方法对当前深度推荐模型在输入的数据集上进行迭代优化训练,重复执行步骤S4-S7;
S8.完成训练存储模型:完成模型训练后,将已训练的深度推荐模型存储至数据存储模块的训练模型存储单元中,并通过调用训练模型存储单元中存储的已训练的深度推荐模型来执行新用户的相关推荐任务。
2.根据权利要求1所述的一种基于进化算法的超参数自适应深度推荐方法,其特征在于,所述步骤S1中输入的用户行为统计矩阵数据集将被划分为两部分:80%的数据集作为训练集,用于训练模型参数;剩余20%的数据集作为验证集,用于进行超参数的优化工作。
3.根据权利要求1所述的一种基于进化算法的超参数自适应深度推荐方法,其特征在于,所述步骤S2将超参数学习率和正则化参数与模型深度进行隐藏层数量相匹配,得到超参数学习率向量和正则化参数向量;通过模型重构的超参数学习率向量和正则化参数向量均为长度为模型深度的超参数向量。
4.根据权利要求1所述的一种基于进化算法的超参数自适应深度推荐方法,其特征在于,所述步骤S5将每一层的超参数对组合构成进化算法待优化种群目标向量,进行种群初始化,其表示如下:
其中Xi,i∈{1,2,…,NP},代表第i个向量实例,一共有NP个向量实例组合在一起构成原始种群;其中i与上述Xi代表的含义相同,/>表示第i个向量实例在第N层深度神经网络的正则化参数,n∈{1,2,…,N}代表深度神经网络的第n层,一共包含N层隐藏层构成深度神经网络;Hi表示第i个向量实例的学习率向量;Λi表示第i个向量实例的正则化参数向量。
5.根据权利要求4所述的一种基于进化算法的超参数自适应深度推荐方法,其特征在于,所述步骤S6包括:S6-1.变异操作、S6-2交叉操作及S7-3.选择操作,
S6-1.变异操作,它为每一个初始化的目标向量Xi生成突变向量Vi,其计算公式如下:
Vi=Xr1+Fi·(Xr2-Xr3),
其中的r1,r2,r3∈{1,2,…,NP},均为从1至NP中随机选取的除i之外的数且彼此取值不相同,Fi是控制不同向量缩放的缩放因子,缩放因子的设置决定了超参数寻优的收敛速度和性能,
采用一种比例因子局部搜索算法SFLSDE来自适应地设置Fi的取值,计算公式如下:
其中rand1,rand2和rand3均代表介于0和1之间的伪随机数,τ1,τ2和τ3为常数阈值,分别为τ1=0.1,τ2=0.03,τ3=0.07;其余的常数值取值为,SFGSS=8,SFHC=20,Fl=0.1,Fu=0.9;在初始状态取值时,Fi初始化为0到1之间的随机数;
S6-2.交叉操作,在经过变异操作得到变异向量Vi之后,用Vi扰乱Xi来增加种群的多样性特征,使得结果更加鲁棒,采用应用成熟的DE/CurrentToRand/1交叉策略生成交叉向量Ui,同时结合步骤S6可以得到其计算公式如下:
Ui=Xi+K·(Vi-Xi)=Xi+K·(Xr1-Xi)+Fi·(Xr2-Xr3),
其中K是介于0和1之间的随机数,Fi及其计算方式与步骤S6-1中相同;
S6-3.选择操作,超参数自适应深度推荐装置将在验证数据集上使超参数设置为Ui或Xi时,比较两者在深度推荐模型的性能,比较计算公式如下:
其中的Xi,e代表经过进化之后的Xi,函数perf(·)表示评估深度推荐模型在验证数据集上的性能表现;当所有的NP目标向量在当前训练轮次进化之后,获得当前轮次的最优超参数学习率向量H和正则化参数向量Λ。
6.基于权利要求1-5任一项所述方法的一种基于进化算法的超参数自适应深度推荐装置,其特征在于,包括:数据接收模块、数据存储模块、预处理模块及执行模块,其中,所述数据接收模块与数据存储模块连接,数据接收模块用于接收服务器获取的用户行为统计数据,并将所接收的服务器获取的用户行为统计数据传递给数据存储模块进行存储;所述数据存储模块与预处理模块相连接,预处理模块将对数据集进行预处理和模型进行初始化;所述预处理模块与执行模块相连接,执行模块将执行服务器发送的进行自适应训练的指令,并将训练好的模型存入数据存储模块中。
7.根据权利要求6所述的一种基于进化算法的超参数自适应深度推荐装置,其特征在于,所述数据存储模块包括训练模型存储单元及统计数据存储单元,所述训练模型存储单元与所述执行模块连接,用于存储训练好的超参数自适应深度推荐模型;所述统计数据存储单元与所述数据接收模块连接,用于存储数据接收模块传递的用户行为统计数据。
8.根据权利要求6所述的一种基于进化算法的超参数自适应深度推荐装置,其特征在于,所述预处理模块包括模型初始化单元和数据预处理单元,所述模型初始化单元进行模型的重构,构造统一的目标函数;所述数据预处理单元将用于对接收到的用户行为统计数据集进行预处理,包括对数据集进行训练集和验证集的划分,及在面对评分预测推荐任务和排序预测推荐任务时用户行为统计矩阵的不同设定处理方式的预处理工作;所述执行模块包括训练误差计算单元,进化算法超参数优化单元,模型参数迭代更新单元和输出单元,所述训练误差计算单元通过当前批次的训练集真实值计算出最后一层的训练误差,通过反向传播传递误差;所述进化算法超参数优化单元基于进化算法,将每一层的超参数对聚合起来,作为待优化的种群向量,重复迭代进行种群初始化、变异、交叉和选择来优化超参数,然后在梯度更新的基础上利用进化寻优之后的超参数,计算出链式法则反向传播的误差来更新模型参数,重复进行超参数进化寻优和梯度下降训练更新模型参数直至达到训练终止条件,得到训练好的推荐模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110942451.7A CN113641907B (zh) | 2021-08-17 | 2021-08-17 | 一种基于进化算法的超参数自适应深度推荐方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110942451.7A CN113641907B (zh) | 2021-08-17 | 2021-08-17 | 一种基于进化算法的超参数自适应深度推荐方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113641907A CN113641907A (zh) | 2021-11-12 |
CN113641907B true CN113641907B (zh) | 2023-11-28 |
Family
ID=78422381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110942451.7A Active CN113641907B (zh) | 2021-08-17 | 2021-08-17 | 一种基于进化算法的超参数自适应深度推荐方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113641907B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110083125A (zh) * | 2019-05-19 | 2019-08-02 | 重庆理工大学 | 一种基于深度学习的机床热误差建模方法 |
CN112085158A (zh) * | 2020-07-21 | 2020-12-15 | 西安工程大学 | 一种基于堆栈降噪自编码器的图书推荐方法 |
CN112800344A (zh) * | 2021-01-29 | 2021-05-14 | 重庆邮电大学 | 一种基于深度神经网络的电影推荐方法 |
CN112989635A (zh) * | 2021-04-22 | 2021-06-18 | 昆明理工大学 | 基于自编码器多样性生成机制的集成学习软测量建模方法 |
-
2021
- 2021-08-17 CN CN202110942451.7A patent/CN113641907B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110083125A (zh) * | 2019-05-19 | 2019-08-02 | 重庆理工大学 | 一种基于深度学习的机床热误差建模方法 |
CN112085158A (zh) * | 2020-07-21 | 2020-12-15 | 西安工程大学 | 一种基于堆栈降噪自编码器的图书推荐方法 |
CN112800344A (zh) * | 2021-01-29 | 2021-05-14 | 重庆邮电大学 | 一种基于深度神经网络的电影推荐方法 |
CN112989635A (zh) * | 2021-04-22 | 2021-06-18 | 昆明理工大学 | 基于自编码器多样性生成机制的集成学习软测量建模方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113641907A (zh) | 2021-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bai et al. | A model-based reinforcement learning with adversarial training for online recommendation | |
Maliar et al. | Deep learning for solving dynamic economic models. | |
CN109635204A (zh) | 基于协同过滤和长短记忆网络的在线推荐系统 | |
CN112184391B (zh) | 一种推荐模型的训练方法、介质、电子设备和推荐模型 | |
CN109783738B (zh) | 一种基于多相似度的双极限学习机混合协同过滤推荐方法 | |
CN107729999A (zh) | 考虑矩阵相关性的深度神经网络压缩方法 | |
Navgaran et al. | Evolutionary based matrix factorization method for collaborative filtering systems | |
CN114202061A (zh) | 基于生成对抗网络模型及深度强化学习的物品推荐方法、电子设备及介质 | |
CN115186097A (zh) | 一种基于知识图谱和强化学习的交互式推荐方法 | |
CN114692310A (zh) | 一种基于Dueling DQN的虚实融合一二级分离模型参数优化方法 | |
Liu et al. | An experimental study on symbolic extreme learning machine | |
CN114580747A (zh) | 基于数据相关性和模糊系统的异常数据预测方法及系统 | |
Hsu | Multi-period time series modeling with sparsity via Bayesian variational inference | |
CN110738363B (zh) | 一种光伏发电功率预测方法 | |
CN110222838B (zh) | 文档排序方法、装置、电子设备及存储介质 | |
Huang et al. | Regret theory-based multivariate fusion prediction system and its application to interest rate estimation in multi-scale information systems | |
CN113641907B (zh) | 一种基于进化算法的超参数自适应深度推荐方法及装置 | |
CN116911459A (zh) | 适应于虚拟电厂的多输入多输出超短期电力负荷预测方法 | |
Baker et al. | Machine learning: factorization machines and normalized discounted cumulative gain for tourism recommender system optimisation | |
US20230124258A1 (en) | Embedding optimization for machine learning models | |
Rahman et al. | Implementation of artificial neural network on regression analysis | |
Xue et al. | An improved extreme learning machine based on variable-length particle swarm optimization | |
Wang et al. | Balanced incremental deep reinforcement learning based on variational autoencoder data augmentation for customer credit scoring | |
Brych et al. | Competitiveness of MAP-Elites against Proximal Policy Optimization on locomotion tasks in deterministic simulations | |
Hou et al. | Deep Reinforcement Learning Recommendation System based on GRU and Attention Mechanism. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |