一种基于鲸鱼优化BP神经网络的协同过滤智能推荐方法技术

技术编号:35513588 阅读:46 留言:0更新日期:2022-11-09 14:29
本发明专利技术涉及一种基于鲸鱼优化BP神经网络的协同过滤智能推荐方法,属于人工智能推荐技术领域。首先对鲸鱼优化算法进行改进,在原始鲸鱼算法的基础上加入Tent混沌映射来扩展种群的多样性,增加寻优的可能,此外还加入了Levy飞行策略防止陷入局部收敛,提升寻优精度。其次,将改进的鲸鱼算法用来优化BP神经网络的权值和阈值,将训练集用于训练IWOA

【技术实现步骤摘要】
一种基于鲸鱼优化BP神经网络的协同过滤智能推荐方法


[0001]本专利技术涉及一种基于鲸鱼优化BP神经网络的协同过滤智能推荐方法,属于人工智能推荐


技术介绍

[0002]在互联网经济与人工智能飞速发展的今天,现代供电服务体系面向用户的各项服务也日益趋向智能化,为了给用户提供更加智能便捷的服务,构建以用户为中心的智能推荐服务体系成为了发展改革的关键一环。生活中众多APP供提供了大量功能可以供用户选择使用,但每个APP的功能种类繁杂,为了使用户的使用更加便利,根据用户的需要去推荐功能就成了增加用户满意度的有效方法,目前市场中存在的推荐算法有基于内容、规则、聚类的推荐算法以及协同过滤算法,其中协同过滤算法又可以分为基于用户、项目以及模型的协同过滤算法。选择有效的推荐算法是实现提升用户满意度和使用感受的关键。

技术实现思路

[0003]本专利技术要解决的技术问题是提供一种基于鲸鱼优化BP神经网络的协同过滤智能推荐算法,用来解决传统智能推荐算法推荐精度低以及推荐质量差的问题。
[0004]本专利技术的技术方案是:一种基于鲸鱼优化BP神经网络的协同过滤智能推荐方法,首先对鲸鱼优化算法进行改进,在原始鲸鱼算法的基础上加入Tent混沌映射来扩展种群的多样性,增加寻优的可能,此外还加入了Levy飞行策略防止陷入局部收敛,提升寻优精度。其次,将改进的鲸鱼算法用来优化BP神经网络的权值和阈值,将训练集用于训练IWOA

BP评分预测模型。然后,依据模型计算出其他用户与随机一个目标用户之间相同特征项的评分误差,根据误差相似度函数选出目标用户的邻居集。最后,采集邻居集中邻居用户的历史评分记录来预测目标用户的评分,以此来实现推荐。
[0005]具体步骤如下:
[0006]Step1:首先在原始鲸鱼优化算法中加入Tent混沌映射,提升原始算法的种群多样性,扩展搜索空间。再在改进的算法中加入Levy飞行策略,防止陷入局部最优,加快收敛。通过加入以上策略得到改进的鲸鱼优化算法。(Improved Whale Optimization Algorithm,IWOA)。初始化改进算法和BP神经网络参数,设置输入层、隐含层以及输出层对应的神经元个数n,q,m以及每层的激活函数。为接下来改进的鲸鱼算法优化BP神经网络做准备。
[0007]Step2:根据Step1中改进后的鲸鱼算法更新出鲸鱼j的位置向量IWOAX
j
,再通过BP神经网络迭代公式更新得到新的粒子位置向量BPX
j
。为之后计算适应度值做准备。
[0008]Step3:根据Step2中得到的粒子位置向量,计算出IWOAX
j
与BPX
j
的适应度值,将适应度值小的位置向量更新为新的位置向量。之后,计算出新的位置向量的全局适应度值f(Pg),与所设误差精度做对比,若全局适应度值大于误差精度,则从Step2开始继续迭代,直到全局适应度值小于误差精度时得到最优粒子,结束迭代更新,此时BP神经网络的权值和阈值达到最优。
[0009]Step4:从CSDN上采集数据集,将数据集划分为训练集与测试集,并按照9:1、7:3或5:5的比例对训练集和测试集进行划分,然后计算其矩阵稀疏度,再选出最小矩阵稀疏度所对应的比例作为最适合的划分比例。将划分好的训练集数据导入IWOA

BP评分预测模型,用测试集测试模型,到此评分模型建立完成。
[0010]采用训练集中的数据训练IWOA

BP评分预测模型,到此评分模型建立完成。
[0011]Step5:根据Step1

Step4的模型建立过程,由于不同用户的项目特征不一定相同,因此需要对测试集中的每个用户构建IWOA

BP评分预测模型。
[0012]Step6:将所建立的评分预测模型应用到基于邻居用户的协同过滤推荐算法中,随机选取一个目标用户,采集其真实历史评分记录以及训练集中的其他用户与目标用户相同的项目特征,按照所对应的IWOA

BP评分预测模型进行评分预测,得到预测评分,计算出目标用户与其他用户的评分误差,再根据误差相似度函数计算相似度,将相似度最接近的k个用户选作邻居集,生成邻居集Tu。
[0013]Step7:采集邻居集中用户的历史评分记录,根据邻居集用户历史评分的特征项,通过对应的IWOA

BP评分预测模型模型对目标用户进行评分预测,预测评分高则推荐该项目,低则不推荐,最后,通过平均绝对误差来直观地对比算法性能。
[0014]所述Step1具体为:
[0015]Step1.1:向原始鲸鱼算法中加入Tent混沌映射,进行种群初始化,来提升种群多样性,扩展搜索空间,具体为:
[0016][0017][0018]其中,i表示种群数,k表示当前迭代次数,y
ik
是0到1的混沌序列,进一步生成搜索区域内的鲸鱼个体初始位置序列x
ik
,ub和lb分别是序列x
ik
的最大最小值。
[0019]Step1.2:在加入Ten混沌映射的基础上,向算法中加入Levy飞行策略,通过Levy飞行在候选解的生成过程中进行扰动,防止算法陷入局部最优和过早的收敛。原始鲸鱼算法的更新迭代过程表示为:
[0020]D=|C
·
X
rand

X(t)|
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0021]X(t+1)=X
rand
(t)

A
·
D
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0022]其中,X
rand
(t)表示随机位置向量,C与A是控制鲸鱼行动方式的系数向量,D表示当前解与最优解的位置,X(t+1)表示更新候选解的位置向量。
[0023]在加入Levy飞行策略以后,新的候选解位置更新公式由公式(4)变为公式(5):
[0024][0025]其中,X
l
(t)表示更新后候选解当前位置,Levy(λ)指的是随机探索路径,α表示步长控制因子。
[0026]Step1.3:设置BP神经网络参数时,输入层神经元个数n与数据集中项目特征数一致,例如如在电影数据集中,输入层神经元个数n与电影类型相同,输出层神经元个数m为1,隐含层神经元个数q在不同的数据集中会发生改变,在同一数据集中n和m都是确定值的情况下,设置不同的q进行实验,误差最小的实验中q的数量就是隐含层神经元个数q。
[0027]此外,在信息传入BP神经网络时,每层都需要激活函数来激活,输入输出层的激活函数设置为恒等函数f(x)=x,隐含层为了处理一些非线本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于鲸鱼优化BP神经网络的协同过滤智能推荐方法,其特征在于:具体步骤如下:Step1:首先在原始鲸鱼优化算法中加入Tent混沌映射,再加入Levy飞行策略,得到改进的鲸鱼优化算法;初始化改进算法和BP神经网络参数,设置输入层、隐含层以及输出层对应的神经元个数n,q,m以及每层的激活函数;Step2:根据Step1中改进后的鲸鱼算法更新出鲸鱼j的位置向量IWOAX
j
,再通过BP神经网络迭代公式更新得到新的粒子位置向量BPX
j
;Step3:根据Step2中得到的粒子位置向量,计算出IWOAX
j
与BPX
j
的适应度值,将适应度值小的位置向量更新为新的位置向量;之后,计算出新的位置向量的全局适应度值f(Pg),与所设误差精度做对比,若全局适应度值大于误差精度,则从Step2开始继续迭代,直到全局适应度值小于误差精度时得到最优粒子,结束迭代更新,此时BP神经网络的权值和阈值达到最优;Step4:从CSDN上采集数据集,将数据集划分为训练集与测试集,并按照9:1、7:3或5:5的比例对训练集和测试集进行划分,然后计算其矩阵稀疏度,再选出最小矩阵稀疏度所对应的比例作为最适合的划分比例,再将划分好的训练集数据导入IWOA

BP评分预测模型,用测试集测试模型;Step5:根据Step1

Step4的模型建立过程,对测试集中的每个用户构建IWOA

BP评分预测模型;Step6:将所建立的评分预测模型应用到基于邻居用户的协同过滤推荐算法中,随机选取一个目标用户,采集其真实历史评分记录以及训练集中的其他用户与目标用户相同的项目特征,按照所对应的IWOA

BP评分预测模型进行评分预测,得到预测评分,计算出目标用户与其他用户的评分误差,再根据误差相似度函数计算相似度,将相似度最接近的k个用户选作邻居集,生成邻居集Tu;Step7:采集邻居集中用户的历史评分记录,根据邻居集用户历史评分的特征项,通过对应的IWOA

BP评分预测模型模型对目标用户进行评分预测,预测评分高则推荐该项目,低则不推荐,最后,通过平均绝对误差来对比算法性能。2.根据权利要求1所述的基于鲸鱼优化BP神经网络的协同过滤智能推荐方法,其特征在于,所述Step1具体为:Step1.1:向原始鲸鱼算法中加入Tent混沌映射,进行种群初始化,具体为:始鲸鱼算法中加入Tent混沌映射,进行种群初始化,具体为:其中,i表示种群数,k表示当前迭代次数,是0到1的混沌序列,进一步生成搜索区域内的鲸鱼个体初始位置序列x
ik
,ub和lb分别是序列x
ik
的最大最小值;Step1.2:在加入Ten混沌映射的基础上,向算法中加入Levy飞行策略,原始鲸鱼算法的更新迭代过程表示为:D=|C
·
X
rand

X(t)|
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)X(t+1)=X
rand
(t)

A
·
D
ꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
其中,X
rand
(t)表示随机位置向量,C与A是控制鲸鱼行动方式的系数向量,D表示当前解与最优解的位置,X(t+1)表示更新候选解的位置向量;在加入Levy飞行策略以后,新的候选解位置更新公式由公式(4)变为公式(5):其中,X
l
(t)表示更新后候选解当前位置,Levy(λ)指的是随机探索路径,α表示步长控制因子;Step1.3:设置BP神经网络参数时,输入层神经元个数n与数据集中项目特征数一致,输出层神经元个数m为1,隐含层神经元个数q在不同的数据集中会发生改变,在同一数据集中n和m都是确定值的情况下,设置不同的q进行实验,误差最小的实验中q的数量就是隐含层神经元个数q;在信息传入BP神经网络时,每层都需要激活函数来激活,输入输出层的激活函数设置为恒等函数f(x)=x,采用Sigmoid激活函数其隐含层激活函数设置为式(6):该函数的映射范围介于0和1之间。3.根据权利要求1所述的基于鲸鱼优化BP神经网络的协同过滤智能推荐方法,其特征在于:所述Step2具体为:Step2.1:改进后的鲸鱼算法按照贪婪策略的标准更新并保留最优位置向量进入下一次迭代,直到更新出最优鲸鱼j的位置向量,其更新迭代表示为:其中,X
l
(t)表示更新后候选解当前位置,X(t)表示原来候选解的位置,计算其适应度值,适应度值小则保留为原来候选解位置继续迭代,直到达到迭代次数,结束整个更新迭代过程,产生最优鲸鱼j的位置向量IWOAX
j
;Step2.2:BP神经网络的更新迭代方式可以...

【专利技术属性】
技术研发人员:孙梦觉田园范培忠汤吕李思阳
申请(专利权)人:云南电网有限责任公司信息中心
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1