本发明涉及推荐,特别涉及一种预测高质量负样本概率的深度神经网络推荐模型。
背景技术:
1、在现有文献中,传统的生成对抗网络(gans)主要应用集中在图像生成和增强领域,较少涉及基于用户评分数据的负采样推荐领域。
2、在推荐系统中,gan可以用来增强数据集,尤其是在数据稀疏或者存在明显偏斜的情形下。例如,生成器可以生成用户的潜在偏好配置,判别器则需要判断这些配置是否能真实反映用户的喜好。负采样通常用于处理用户互动数据中的不均衡问题,比如用户实际交互的项目与未交互的项目数量差异巨大,并且用户未交互的项目中含有噪声,一般不能真实反映用户偏好,不一定是负样本,合理应用负采样可以有效避免模型偏向于多数类,并且提高正负样本的判别能力可以帮助模型学习用户的复杂行为,从而提高模型的泛化能力。两种技术的应用是提高系统性能的重要手段,通过结合这些技术,我们可以更有效地处理数据不均衡问题以及提升模型对复杂用户行为的理解能力。因此,设计一个具有判别正负样本的生成对抗网络模型来进一步提高推荐准确性就显得尤为重要。
技术实现思路
1、针对上述问题,本发明提出一种具有判别正负样本能力的生成对抗网络模型,以帮助推荐系统过滤掉带有噪声的负样本,包括如下:
2、数据采集及准备模块,用于对数据库中收集的数据进行获取和清洗,以得到需要信息。
3、条件生成对抗网络评级矩阵划分模块,用于根据系统设定的不同评级值,将用户-项目评级矩阵r划分为两个对应的只包含0-1两值的隐式矩阵。例如,系统中4和5分的评分,划分为正例隐式矩阵p,其余低评分和无评分数据,划分为u矩阵。
4、间谍技术模块,随机取p矩阵中15%的数据作为间谍样本加入到u矩阵中,增强判别器的判别能力,后续生成器将对预测值进行排序取出可靠负样本。
5、可靠负样本计算模块,用于利用条件生成对抗网络中去交叉训练所获取的子矩阵,以预测出负样本的概率。
6、可靠负样本获取模块,将子矩阵中预测所得到的负样本概率值进行排序,选择概率较大的负样本输入协同过滤生成对抗网络中,同时也选取其他相同数量的随机负样本进行训练,以防止模式崩塌。
7、负样本处理模块,将随机负样本的而预测值趋近于不为0的小数,将策略负采样的预测值趋近于0。
8、推荐结果获取模块,用于将保留的较高概率的预测评级进行内部排序,将预测评级较高的前k个项目推送给目标用户,以形成其个性化推荐列表。
9、本发明所述条件生成对抗网络评级矩阵划分模块,用于根据系统设定的不同评级值,将用户-项目评级矩阵r划分为两个对应的只包含0-1两值的隐式矩阵。矩阵的设定规则如下:将数据集中4和5分的高评分设为p矩阵,即正例矩阵,将其余低分和无评分矩阵设为u矩阵,即无标记矩阵。
10、本发明所述间谍技术模块,随机取p矩阵中15%的评分s矩阵作为间谍样本加入到u矩阵中,作为间谍样本,共分为三个矩阵,分别为p_s矩阵,u_s矩阵和s矩阵,后续生成器将对预测值进行排序从而取出可靠负样本。
11、可靠负样本计算模块,用于利用条件生成对抗网络中去交叉训练所获取的子矩阵,以预测出负样本的概率。具体包括如下步骤:
12、①条件gan判别器输入层,获取项目i的特征嵌入向量pi,与条件向量ci拼在一起,传入神经网络。
13、zi=pi+ci
14、②条件gan判别器隐藏层,利用激活函数relu来防止模型过拟合,获取所有隐藏层的输出ln。
15、relu(zi)=max(0,zi)
16、l1=w1tzi
17、ln=relu(w1tln-1+bn),n=2,...,x-1
18、其中,wn和bn分别表示第n个隐藏层的权重矩阵和偏置向量。
19、③条件gan判别器输出层,获取项目i的潜在特征向量qi,计算用户u在项目i上的预测评级概率:
20、
21、其中,wout表示向量的权重矩阵;sigmoid函数σ(x)=1/(1+e-x)用于将输出限制在范围(0,1)之内。
22、④条件gan生成器输入层,输入项目i的特征嵌入向量zi,传入神经网络。
23、⑤条件gan生成器隐藏层,利用激活函数relu来防止模型过拟合,获取所有隐藏层的输出ln。
24、relu(zi)=max(0,zi)
25、l1=w1tzi
26、ln=relu(w1tln-1+bn),n=2,...,x-1
27、其中,wn和bn分别表示第n个隐藏层的权重矩阵和偏置向量。
28、⑥条件gan生成器输出层,获取项目i的潜在特征向量qi,与条件向量拼在一起:
29、
30、其中,wout表示向量的权重矩阵;sigmoid函数σ(x)=1/(1+e-x)用于将输出限制在范围(0,1)之内。
31、本发明所述可靠负样本获取模块,将子矩阵中预测所得到的负样本概率值进行排序,选择概率较大的负样本输入协同过滤生成对抗网络中,同时也选取其他相同数量的随机负样本进行训练,以防止模式崩塌。使用均方误差损失来稳定训练。
32、本发明所述负样本处理模块,将随机负样本的而预测值趋近于不为0的小数,将策略负采样的预测值趋近于0。
33、
34、jg是生成器的损失函数,α和β是调整负采样权重的超参,以增强预测值多样性,表示生成器预测值,eu表示掩码矩阵,cu表示条件向量,公式二三项用均方误差使得负样本预测值不同。
35、本发明所述推荐结果获取模块,用于获取目标用户u的推荐列表。其中包括:每个用户选取时间戳最近的一个项目作为正样本,之后选取99个没有交互的项目作为负样本进行推荐,将这100个项目的模型预测值从大到小进行排序,设定待推荐项目数k,在前k个推荐项目中,如果存在用户正例则推荐有效,以此训练形成目标用户u的个性化推荐列表。
36、本发明提出的基于生成对抗网络的负样本判别推荐模型,只使用用户与项目间的交互关系和评级信息,而无需其它辅助信息来预测评级。因此,所提系统具有良好的通用性和扩展性。同时,所提系统通过判别正负样本的概率,保留具有较高可靠性的负样本,可以进一步提高推荐准确性和用户满意度。
1.本发明提出一种具有判别正负样本能力的生成对抗网络(gan)模型,以帮助推荐系统过滤掉带有噪声的负样本,包括如下:
2.如权利要求1所述的基于生成对抗网络的负样本判别推荐模型,其特征在于,所述条件生成对抗网络评级矩阵划分模块,用于根据系统设定的不同评级值,将用户-项目评级矩阵r划分为两个对应的只包含0-1两值的隐式矩阵。矩阵的设定规则如下:将数据集中4和5分的高评分设为p矩阵,即正例矩阵,将其余低分和无评分矩阵设为u矩阵,即无标记矩阵。
3.如权利要求1所述的基于生成对抗网络的负样本判别推荐模型,其特征在于,所述间谍技术模块,随机取p矩阵中15%的评分s矩阵作为间谍样本加入到u矩阵中,作为间谍样本,共分为三个矩阵,分别为p_s矩阵,u_s矩阵和s矩阵,后续生成器将对预测值进行排序从而取出可靠负样本。
4.如权利要求1所述的基于生成对抗网络的负样本判别推荐模型,其特征在于,所述可靠负样本计算模块,用于利用条件生成对抗网络中去交叉训练所获取的子矩阵,以预测出负样本的概率。具体包括如下步骤:
5.如权利要求1所述的基于生成对抗网络的负样本判别推荐模型,其特征在于,所述可靠负样本获取模块,将子矩阵中预测所得到的负样本概率值进行排序,选择概率较大的负样本输入协同过滤生成对抗网络中,同时也选取其他相同数量的随机负样本进行训练,以防止模式崩塌。使用均方误差损失来稳定训练。
6.如权利要求1所述的基于生成对抗网络的负样本判别推荐模型,其特征在于,所述所述负样本处理模块,将随机负样本的而预测值趋近于不为0的小数,将策略负采样的预测值趋近于0。
7.如权利要求1所述的基于生成对抗网络的负样本判别推荐模型,其特征在于,所述推荐结果获取模块,用于获取目标用户u的推荐列表。其中包括:每个用户选取时间戳最近的一个项目作为正样本,之后选取99个没有交互的项目作为负样本进行推荐,将这100个项目的模型预测值从大到小进行排序,设定待推荐项目数k,在前k个推荐项目中,如果存在用户正例则推荐有效,以此训练形成目标用户u的个性化推荐列表。
