[发明专利]基于BP神经网络评分预测误差的近邻用户选择方法有效
| 申请号: | 201810842917.4 | 申请日: | 2018-07-27 |
| 公开(公告)号: | CN109345274B | 公开(公告)日: | 2022-05-24 |
| 发明(设计)人: | 王一歌;温锦雄;韦岗 | 申请(专利权)人: | 华南理工大学 |
| 主分类号: | G06Q30/02 | 分类号: | G06Q30/02;G06K9/62;G06N3/08 |
| 代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 何淑珍;江裕强 |
| 地址: | 510640 广*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 bp 神经网络 评分 预测 误差 近邻 用户 选择 方法 | ||
1.一种基于BP神经网络评分预测误差的近邻用户选择方法,其特征在于,包括如下步骤:
S1将数据集按比例分为训练数据集和测试数据集,其中训练数据集用于作为已知信息用于评分预测模型的训练;
S2确定BP神经网络结构,确定各层神经元的个数;
所述BP神经网络结构具体为:BP神经网络结构分为输入层,隐含层以及输出层,数据从输入层的神经元输入,经过隐含层,最后由输出层输出,其中输入层的输入为物品的属性特征向量,假设物品i的属性特征向量为:
attri=[a1,...,as,...,ak]
其中s取值为1~k,k为需要引入的物品属性特征个数,根据实际场景而定,当as为0的时候表示该物品不具有第s个属性特征,而当as等于1的时候表示该物品具有第s个属性特征;输入层神经元的个数与需要引入属性特征的个数一致,隐含层的个数为可调参数,可调参数通过实验决定,而输出层的神经元输出为预测评分,个数为1;假设输入层的神经元个数为k个,与考虑的物品属性特征个数一致;隐含层的神经元个数为p个,p为可调参数,由实验测试决定选择预测误差较少的p值;输出层的神经元个数为1;
S3确定BP神经网络各层神经元的激活函数;
S4为每个用户训练BP神经网络,具体为:假设第i个输入层神经元的输入为xii,输出为xoi:
xoi=fi(xii)
式中,fi为输入层的神经元的激活函数;
第h个隐含层神经元的输入为hih,输出为hoh,而第o个输出层的输入为yio,输出为y0:
hoh=fh(hih)
yo=fo(yi)
式中,fh为隐含层的神经元的激活函数,为fo输出层的激活函数;
隐含层第h个神经元的输入为:
式中,Wih为第i个输入层神经元与第h个隐含层神经元之间的连接权重,k为输入层的神经元个数;输出层神经元的输入为:
式中,Who为第h个隐含层神经元与输出层神经元之间的连接权重,p为隐含层的神经元个数;
假设当前用户为u,从训练数据集中找出属于用户u的历史评分记录集合Ratu,每条评分记录至少包含用户ID,物品ID以及评分值,从历史评分记录集合Ratu得到用户u的历史评分物品的集合Iu,其每个元素为物品的对应ID;初始化最大迭代次数为m,每次迭代的时候,从历史评分物品的集合Iu中按随机顺序取出物品ID,输入该物品ID对应的属性特征向量,假设当前输入的物品为i,其对应的属性特征向量为:
attri=[a1,a2,...,ak]
经过BP神经网络前向传播之后,输出层的神经元将输出当前用户u对该物品的预测评分yo,使用用户对该物品的实际评分d与预测评分yo对比进行误差计算得到:
BP神经网络在使用随机梯度下降法迭代更新网络参数的目标函数时,预测误差越小越好,每次迭代完成后,统计本次迭代过程的全局预测误差:
其中Iu为历史评分物品的集合,当Eu小于某个阈值或者达到最大迭代次数的时候,用户u的BP神经网络参数迭代更新完成;BP神经网络的迭代更新是在反向传播的过程,当计算完预测评分和实际评分的误差后,首先更新隐含层与输出层之间的连接权重参数,然后再更新输入层与隐含层之间的连接权重,利用随机梯度下降法可得:隐含层第h个神经元与输出层神经元之间的连接权重更新为:
其中α为梯度下降的步长,其中指全局误差E关于Who的梯度,即E关于Who减小最快的方向,f′o(yi)指输出层神经元激活函数yo关于输出层神经元输入yi的导数;输入层第i个神经元与隐含层第h个神经元之间的连接权重更新为其中α为梯度下降的步长,指全局误差E关于连接权重Wih的梯度,即E关于连接权重Wih减小最快的方向,其中f′h(hih)指隐含层神经元激活函数yh关于第h个隐含层神经元输入hih的导数;
S5为每个用户筛选近邻用户集合,具体为:假设当前用户u,为该用户筛选k个相似用户作为近邻用户集合,那么需要计算用户u与每个候选近邻用户的相似度,选择相似度最高的前k个候选近邻用户作为用户u的近邻用户集;假设候选近邻用户为v,那么使用候选近邻用户v训练好的BP神经网络模型对当前用户u的历史评分物品的集合Iu进行评分预测,假设历史评分物品的集合Iu的物品个数为n,候选用户v对历史评分物品的集合Iu中物品i的预测评分为bpv,i,而当前用户u对该物品的实际评分为ru,i,那么候选近邻用户v对当前用户u的历史评分记录的整体预测误差为当候选用户v对用户u的历史评分记录预测误差越小,表示候选用户v与用户u对物品属性特征都具有相似偏好,因此预测评分误差才会较小,则认为候选用户v与用户u越相似,相似度为因此按照该相似度计算模型能为用户u筛选出相似度最高的前k个近邻用户作为近邻用户集。
2.根据权利要求1所述的基于BP神经网络评分预测误差的近邻用户选择方法,其特征在于所述S3中的神经网络各层神经元的激活函数,具体为:输入层的神经元与输出层的神经元的激活函数选择线性函数f(x)=ax+b,其中a和b的值根据具体场景决定即可,而隐含层神经元的激活函数采用sigmoid函数f(x)=1/(1+e-x)来完成用户评分与物品属性特征的非线性复杂关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810842917.4/1.html,转载请声明来源钻瓜专利网。





