一种提高协同过滤模型稳定性的方法与流程

专利2022-06-29  76


本发明涉及提高推荐系统稳定性领域,采用目前比较成熟的平台tensorflow提高模型的鲁棒性,具体涉及一种提高协同过滤模型稳定性的方法。



背景技术:

现有的推荐技术方面的研究,有的根据应用场景考虑不同的影响因素构建新的算法,有的则是利用新的融合方式来优化算法,早期的融合技术是通过将多特征空间映射到一个统一空间实现,后期则是使用不同特征的结果列表,并利用候选结果进行融合实现,都是以不同的形式将特征有效整合来提升算法性能。还有的是通过提出新型的特征提取技术优化所得特征质量,间接地优化算法。

但基本上目前所有的研究都是集中在如何提高推荐的准确率,而对于推荐算法的鲁棒性问题的研究屈指可数。提高模型鲁棒性以抵挡来自外界的破坏就显得十分重要。于是我们需要一种有效的方法来对推荐系统的鲁棒性进行提高。



技术实现要素:

为了提高推荐系统的鲁棒性,本发明提出了一种提高协同过滤模型稳定性的方法,提高了模型的鲁棒性,能抵抗来自外界的恶意攻击。

为实现上述的目标,本发明采用的技术方案为:

一种提高协同过滤模型稳定性的方法,包括以下步骤:

步骤1:训练动态美学协同过滤推荐系统模型dcfa得到收敛参数;

所述dcfa的预测模型为:

其中u、v、t分别是用户、产品以及时间的嵌入矩阵,m是用户偏好矩阵,w是产品潜在特征矩阵,n是在时间r时的偏好矩阵,f是特征矩阵,u、i、r分别表示用户、物品、时间;

步骤2:构建对抗性扰动δadv,即得到使bpr优化方法损失最大的扰动,过程如下:

其中∈≥0是控制扰动幅度的超参数,||·||是l2范数,对应的目标函数如下:

其中,如下表示:

步骤3:在dcfa模型上添加步骤2得到的对抗性扰动得到模型adcfa;

模型adcfa为:

其中,δi表示加入到特征嵌入矩阵的对抗性扰动;

步骤4:将步骤1得到的收敛参数作为模型adcfa的初始值;

步骤5:使用随机梯度下降方法sgd优化模型adcfa;

步骤6:通过步骤5的方法更新得到模型的参数θ。

进一步,所述方法还包括以下步骤:

步骤7:将原先的模型dcfa和模型adcfa进行泛化性能的对比;

先对dcfa模型进行1000次迭代训练使其达到收敛状态,再用该训练所得到的参数初始化adcfa模型,为了实现对比,我们用一样的参数初始化一个新的dcfa模型并继续训练它,最后比较两者的泛化性能。

再进一步,所述方法还包括以下步骤:

步骤8:将原先的模型dcfa和模型adcfa进行鲁棒性能的对比;

对dcfa模型和adcfa模型加入相同大小的扰动,并记录它们的性能变化。

所述步骤5中,sgd所需要输入的数据包括训练集,迭代次数以及正则化系数和两个超参数,输出为收敛的模型参数。

本发明的有益效果是:

1.设计并基于tensorflow框架使用python语言实现含时间因子、cnn特征和美学特征的adcfa模型算法;

2.基于真实数据集—amazon数据集使用对抗性学习方法对算法模型进行训练以改善算法鲁棒性;

3.对训练结果进行数据处理,并根据所得结果对算法泛化能力和鲁棒性进行分析与讨论。

附图说明

图1是我们预测模型(adcfa)的原理图;

图2是dcfa和adcfa泛化性能比较图。

具体实施方式

下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。

参照图1和图2,一种提高协同过滤模型稳定性的方法,包括以下步骤:

步骤1:训练动态美学协同过滤推荐系统模型dcfa得到收敛参数;

dcfa的预测模型为:

其中u、v、t分别是用户、产品以及时间的嵌入矩阵,m是用户偏好矩阵,w是产品潜在特征矩阵,n是在时间r时的偏好矩阵,f是特征矩阵,u、i、r分别表示用户、物品、时间;

步骤2:构建对抗性扰动δadv,即得到使bpr优化方法损失最大的扰动,过程如下:

其中∈≥0是控制扰动幅度的超参数,||·||是l2范数,对应的目标函数如下:

其中,如下表示:

步骤3:在dcfa模型上添加步骤2得到的对抗性扰动得到模型adcfa;

模型adcfa为:

其中,δi表示加入到特征嵌入矩阵的对抗性扰动;

步骤4:将步骤1得到的收敛参数作为模型adcfa的初始值;

步骤5:使用随机梯度下降方法sgd优化模型adcfa;

步骤6:通过步骤5的方法更新得到模型的参数θ。

进一步,所述方法还包括以下步骤:

步骤7:将原先的模型dcfa和模型adcfa进行泛化性能的对比;

先对dcfa模型进行1000次迭代训练使其达到收敛状态,再用该训练所得到的参数初始化adcfa模型,为了实现对比,我们用一样的参数初始化一个新的dcfa模型并继续训练它,最后比较两者的泛化性能。

再进一步,所述方法还包括以下步骤:

步骤8:将原先的模型dcfa和模型adcfa进行鲁棒性能的对比;

对dcfa模型和adcfa模型加入相同大小的扰动,并记录它们的性能变化。

所述步骤5中,sgd所需要输入的数据包括训练集,迭代次数以及正则化系数和两个超参数,输出为收敛的模型参数。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。


技术特征:

1.一种提高协同过滤模型稳定性的方法,其特征在于,该方法包括如下步骤:

步骤1:训练动态美学协同过滤推荐系统模型dcfa得到收敛参数;

步骤2:构建对抗性扰动δadv,即得到使bpr优化方法损失最大的扰动;

步骤3:在dcfa模型上添加步骤2得到的对抗性扰动得到模型adcfa;

步骤4:将步骤1得到的收敛参数作为模型adcfa的初始值;

步骤5:使用随机梯度下降方法sgd优化模型adcfa;

步骤6:通过步骤5的方法更新得到模型参数θ。

2.根据权利要求1所述的方法,其特征在于,所述方法还包括以下步骤:

步骤7:将原先的模型dcfa和模型adcfa进行泛化性能的对比。

3.根据权利要求2所述的方法,其特征在于,所述方法还包括以下步骤:

步骤8:将原先的模型dcfa和模型adcfa进行鲁棒性能的对比。

4.根据权利要求1~3之一所述的方法,其特征在于,所述步骤1中,dcfa的预测模型为:

其中u、v、t分别是用户、产品以及时间的嵌入矩阵,m是用户偏好矩阵,w是产品潜在特征矩阵,n是在时间r时的偏好矩阵,f是特征矩阵,u、i、r分别表示用户、物品、时间。

5.根据权利要求1~3之一所述的方法,其特征在于,所述步骤2中,构建对抗性扰动δadv,所述过程如下:

其中∈≥0是控制扰动幅度的超参数,||·||是l2范数,对应的目标函数如下:

其中,如下表示:

6.根据权利要求1~3之一所述的方法,其特征在于,所述步骤3中,adcfa为:

其中,δi表示加入到特征嵌入矩阵的对抗性扰动。

7.根据权利要求1~3之一所述的方法,其特征在于,所述步骤5中,sgd所需要输入的数据包括训练集,迭代次数以及正则化系数和两个超参数,输出为收敛的模型参数。

8.根据权利要求2所述的方法,其特征在于,所述步骤7中,进行泛化性能对比的过程如下:先对dcfa模型进行1000次迭代训练使其达到收敛状态,再用该训练所得到的参数初始化adcfa模型,为了实现对比,我们用一样的参数初始化一个新的dcfa模型并继续训练它。

9.根据权利要求3所述的方法,其特征在于,所述步骤8中,进行鲁棒性能对比的过程如下:对dcfa模型和adcfa模型加入相同大小的扰动,并记录它们的性能变化。

技术总结
一种提高协同过滤模型稳定性的方法,由于产品的视觉外观对消费者的抉择有着越来越重要的影响,产品视觉特征在推荐中越来越受到关注。利用新的网络结构BDN(Brain‑inspired Deep Network)提取的美学特征相较于从传统卷积神经网络提取用来表示图像的CNN特征,对于推荐系统能起到更好的推荐效果。但并未有学者研究过美学特征对于推荐算法鲁棒性的影响,因此本发明中我们主要就随时间变化的美学因子是否会影响模型的鲁棒性展开。我们通过对模型动态美学因子嵌入式矩阵加对抗性扰动发现其会使模型鲁棒性下降,在此前提下,采用对模型进行对抗性训练的方式进行改善,增强了原有模型的鲁棒性和泛化能力。

技术研发人员:吴哲夫;李泽农
受保护的技术使用者:浙江工业大学
技术研发日:2020.01.06
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-23671.html

最新回复(0)