CN112507225A - 一种基于双层优化的推荐系统数据调试方法 - Google Patents

一种基于双层优化的推荐系统数据调试方法 Download PDF

Info

Publication number
CN112507225A
CN112507225A CN202011458884.7A CN202011458884A CN112507225A CN 112507225 A CN112507225 A CN 112507225A CN 202011458884 A CN202011458884 A CN 202011458884A CN 112507225 A CN112507225 A CN 112507225A
Authority
CN
China
Prior art keywords
data
debugging
training
recommendation system
original
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.)
Granted
Application number
CN202011458884.7A
Other languages
English (en)
Other versions
CN112507225B (zh
Inventor
姚远
徐锋
陈龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CN202011458884.7A priority Critical patent/CN112507225B/zh
Publication of CN112507225A publication Critical patent/CN112507225A/zh
Application granted granted Critical
Publication of CN112507225B publication Critical patent/CN112507225B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开一种基于双层优化的推荐系统数据调试方法。首先,将训练数据划分成若干份不相交的数据子集;然后,每一份数据子集被用来作为验证集去调试剩余部分训练数据,则每一份数据子集都会得到若干份调试结果;最后,将若干份调试结果合并即得到最终的调试结果。实验表明,在根据本方法得到的调试结果对原始训练数据加以修改得到的新数据集上训练推荐模型,相比原始训练数据上训练得到的模型,具有更好的推荐性能。该方法能够优化原始训练数据以提升推荐系统的性能,具有很好的应用价值。

Description

一种基于双层优化的推荐系统数据调试方法
技术领域
本发明涉及一种基于双层优化的推荐系统数据调试方法,该方法可利用互联网推荐系统中现有的训练数据,定位出不利于当前推荐系统整体推荐性能的训练数据,并对这些数据给出修改方案,从而使得修改后的数据集训练得到的推荐模型取得更好的推荐性能。
背景技术
近年来,互联网上的信息数量呈指数级增长,对于用户而言,很难从海量信息中获取真正有价值的信息,这导致信息过载现象的出现。随着信息过载现象越来越严重,门户网站、搜索引擎等技术先后被提出用来帮助用户更好地获取想要的信息,但是这类方法都基于用户主动去提出需求,有时用户的需求很难主动表达出来,当这些“用户主动式”的信息过滤方式不足以满足需求时,一种“用户被动式”的信息过滤方式应运而生,即推荐系统。推荐系统根据用户的历史行为对用户的行为建模,从而为用户推荐他们可能会感兴趣的信息。推荐系统现在已经被广泛地应用在现实世界中,例如各大电商网站,如亚马逊、淘宝、京东等。亚马逊的技术人员曾声称亚马逊有20%-30%的销售得益于推荐系统。在推荐系统中,协同过滤方法利用现有的用户与物品的历史交互行为如评分来建模用户的喜好,这类方法在实际应用中取得了出色的效果,经典的协同过滤方法包括基于近邻的方法、基于矩阵分解的方法、基于深度学习的方法等。
由于协同过滤的出色表现,许多工作力图提高协同过滤方法的推荐性能。现有的工作主要可以分为两大类:一类方法通过完善优化目标函数来更好地建模评分数据,另一类方法通过引入额外的输入信息例如用户间的社交关系或物品本身的属性来提高算法的推荐效果。然而,现有的方法忽略了数据训练数据本身的质量,如何充分利用现有历史交互数据来提高推荐系统性能的方法缺少相关的工作。异常检测算法可以基于数据的某些分布特征检测出某些数据与整体数据的不一致性,但这类方法并不是为提高推荐系统性能而设计的,没有考虑所使用的推荐模型。
发明内容
发明目的:由于现有的提高推荐系统性能的方法普遍忽略了历史用户反馈数据本身的质量,而像异常检测一类的算法并不能针对性地提高推荐系统的推荐性能,本发明采用一种基于双层优化的数据调试方法来提高推荐系统的性能,主要基于以下思想:
(1)用户反馈数据中绝大多数数据的质量是比较高的;
(2)可以利用双层优化方法修改用户反馈数据使得在修改后的用户反馈数据上训练得到的模型在某数据集上的预测误差尽可能小;
(3)利用类似交叉验证的思想,将数据集划分成多种训练集与验证集的组合,避免过拟合于某部分数据。
技术方案:一种基于双层优化的推荐系统数据调试方法,包括以下内容:
(1)将推荐系统的历史用户反馈数据作为原始训练数据,并对原始训练数据进行划分;
(101)随机将原始训练数据划分成若干份;
(102)对于每一份数据,将其作为验证集,对应的剩余数据作为训练集,则得到若干份训练集与验证集的组合;
(2)数据调试
在上一步中得到的每一份训练集与验证集组合(简称数据集组合)中,使用训练集训练推荐模型,采用迭代式更新方法不断更新训练集数据:
步骤1,计算在训练集上训练得到的模型在验证集上的预测损失对训练集数据的梯度;
步骤2,根据步骤1得到的梯度更新训练集数据;
步骤3,基于更新后的训练集数据重新训练推荐模型,更新模型参数,完成一轮迭代;
步骤4,若迭代轮数达到预先设定的数值,终止迭代,否则重复步骤1-3;
步骤5,对于原始训练集中的每一个数据,计算步骤4迭代完成后的新训练集中该数据项与原数据的差值,作为这一份数据集组合的调试结果;
(3)结果合并
上一步完成后,对于原始训练数据中的每一项数据,都会得到若干份调试结果。在这个阶段中,对于每一项数据,若每一份调试结果的差值同为正或同为负,则计算平均差值作为最终的调试结果,否则直接取差值为0作为最终调试结果。
对于原始训练数据,调试结果合并时只保留意见一致的调试结果,并采用求平均值的方式作为最终的调试结果。
可以根据调试结果去编辑原始训练数据以提高推荐系统性能。将原始训练数据中的每一项按照其调试结果的绝对值大小从大到小排序,可以删除排序在前的部分训练数据或根据调试结果直接修改原始训练数据从而得到新的训练数据,并在新的训练数据上进行模型训练以提升推荐系统的推荐性能。
有益效果:与现有技术相比,本发明具有以下优点:
(1)相比于引入额外输入信息的方法,本方法只使用推荐系统的历史用户反馈数据作为原始训练数据,在不扩充数据集的情况下提高了推荐系统的推荐性能;
(2)本发明的方法在实现时同时考虑了效果与运行效率,提供了灵活的选择,可以同时达到运行效率高、运行效果好的特点;
(3)本发明的方法灵活性高、适应性强,其基本思想具备通用性,可以根据使用的推荐模型灵活调整。
附图说明
图1为本发明方法流程示意图,包括数据划分、数据调试和结果合并三个阶段;
图2为利用本发明方法在MovieLens数据集上修改部分数据的实验效果;
图3为利用本发明方法在MovieLens数据集上删除部分数据的实验效果;
图4为利用本发明方法在Douban数据集上修改部分数据的实验结果;
图5为利用本发明方法在Douban数据集上删除部分数据的实验结果。
具体实施方式
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
在本实施例中,推荐模型采用经典的基于矩阵分解的协同过滤模型。即给定一个评分矩阵
Figure BDA0002830504540000031
关于m个用户和n个物品作为输入,其中每一项已知的ai,j代表用户i对物品j的评分,目标是要预测A中一个用户对物品的未知评分,矩阵分解将A这个大矩阵用两个秩为k的低秩矩阵U和V近似,其损失函数定义为
Figure BDA0002830504540000032
其中
Figure BDA0002830504540000033
Figure BDA0002830504540000034
是模型要学习的参数,D代表数据集中已知评分对应的下标集合,
Figure BDA0002830504540000035
是U的第i行,
Figure BDA0002830504540000036
是V的第j行,λu和λv是避免模型过拟合的正则项参数。
一种基于双层优化的推荐系统数据调试方法,包括以下内容和步骤:
一、原始训练数据划分:
(1)将推荐系统的历史用户反馈数据作为原始训练数据,随机将原始训练数据Ω划分成若干份,以3份为例,则被划分为Ω1,Ω2,Ω3
(2)基于交叉验证思想,令每一份子数据集轮流作为验证集Γ,剩余部分作为训练集Λ,例如当第一份子数据集被作为验证集时,Γ1=Ω1,Λ1=Ω23,另两组情况以此类推,形成Γ11、Γ22、Γ33三种组合;
二、数据调试:
对于每一种组合,数据调试阶段通过验证集来迭代更新训练集,以获得训练集上的调试结果。由于每种组合情况相似,接下来以其中一种组合为例阐述,并用Γ代表验证集,用Λ代表训练集。
调试方法旨在从训练集中定位出对推荐系统性能有影响的数据,用Φ表示,则问题框架为
Figure BDA00028305045400000426
核心思将想是从Λ中找出Φ,如果进一步修改Φ中的评分数据,能够尽可能降低定义在验证集Γ上的损失函数LΓ
在本实施例中,
Figure BDA0002830504540000041
为基于(Λ-Φ)作为输入数据训练得到的模型的参数,
Figure BDA0002830504540000042
代表
Figure BDA0002830504540000043
的第i行,
Figure BDA0002830504540000044
代表
Figure BDA0002830504540000045
的第j行,
Figure BDA0002830504540000046
表示在验证集上计算得到的损失函数。
首先将评分数值从离散值(如1到5分)松弛到连续值,然后使用投影梯度下降法求解问题,即
Figure BDA0002830504540000047
其中
Figure BDA0002830504540000048
代表(Λ-Φ)对应的邻接矩阵,初始时
Figure BDA0002830504540000049
即训练集对应的邻接矩阵,上标代表迭代轮次,η代表梯度更新中的步长。投影操作
Figure BDA00028305045400000410
Figure BDA00028305045400000411
保持在可行域
Figure BDA00028305045400000412
中,其中rmin和rmax分别代表评分数值范围的最小值和最大值。当
Figure BDA00028305045400000413
通过迭代更新得到后,计算
Figure BDA00028305045400000414
作为训练集Λ上的调试结果。
要进行迭代更新,就需要计算
Figure BDA00028305045400000415
可以通过链式法则计算,即
Figure BDA00028305045400000416
Figure BDA00028305045400000417
其中
Figure BDA00028305045400000418
Figure BDA00028305045400000419
的计算独立于推荐模型的损失函数,在本实施例中,则有
Figure BDA00028305045400000420
对于
Figure BDA00028305045400000421
Figure BDA00028305045400000422
涉及双层优化问题,直接计算比较困难,这里可以利用KKT条件求解,最终可以计算得到
Figure BDA00028305045400000423
Figure BDA00028305045400000424
整个调试过程如下所示:
Figure BDA00028305045400000425
在每一轮迭代过程中,首先计算
Figure BDA00028305045400000427
然后通过增量方法更新模型参数Θ。具体来说,在本实施例中,我们通过交替最小二乘法(ALS)学习推荐模型的参数,基于前一轮的模型参数Θi-1和当前的训练数据
Figure BDA0002830504540000051
运行一次最小二乘法迭代得到新的模型参数Θi
三、结果合并:
数据调试阶段得到了若干份调试结果,结果合并阶段将这若干份调试结果合并成最终结果。在本实施例中,由于数据划分时将原始训练数据划分成了三份Ω1,Ω2,Ω3,则对于每一份子数据集会得到两份调试结果(如对于Ω1而言,当Ω2和Ω3分别被作为验证集时,会得到两份关于Ω1的调试结果)。在结果合并阶段,我们只保留C矩阵中总是为正或总是为负的位置。也就是说,只保留在不同调试中意见一致(即都提高一个评分或降低一个评分)的结果。最后对于每个保留下来的位置,取调试结果的平均值作为最终结果。
在实验设置上,我们首先取现有数据的80%作为训练集,剩余20%作为测试集。首先在原始训练集上训练得到原始模型,并用这个原始模型对测试集上的评分进行预测,然后运行本发明提出的数据调试方法得到调试结果,并按照调试结果中的结果的绝对值大小从大到小排序,取前0.1%到10%的调试结果,并删除或修改这些对应的评分数据(修改方式为根据调试结果修改相应的评分,例如原始评分为3,调试结果为+0.5,则修改后其评分为3.5),重新基于新的训练数据训练推荐模型,再对测试集上的评分进行预测,和原始模型上的预测结果进行比较。这里预测精度的指标为RMSE,计算方式为
Figure BDA0002830504540000052
其中DT为测试集,|DT|表示测试集大小,
Figure BDA0002830504540000053
表示模型预测的评分,ri,j表示测试集中实际的评分,RMSE越低表示模型性能越好。
我们在两个公开数据集MovieLens和Douban上进行实验。MovieLens数据集包含6040个用户和3706个物品以及约1000000评分,Douban数据集包含3022个用户和6971个物品以及约200000评分。
为了更好展示本发明提出方法的效果,我们用以下三种方法与我们的方法进行比较:
(1)eMF:直接按照原始训练数据上得到的模型的预测作为结果,按照训练集上的预测误差大小排序;
(2)NrMF:一种基于非负残差矩阵分解方法的异常检测模型;
(3)NoiseCorrection:一种推荐系统上的异常检测方法;
图2和图3展示了几种方法在修改和删除MovieLens数据集上部分数据的实验效果,图4和图5展示了几种方法在修改和删除Douban数据集上部分数据的实验效果,CFDebug为本发明提出的算法。可以看到,CFDebug可以显著地提升推荐性能。相反,对比方法不能持续地提升推荐性能。
综上所述,使用本发明提供的方法,能有效地定位出原始训练数据中影响推荐系统性能的训练数据,并进一步通过删除或修改这些数据使得重新训练的推荐模型性能提高。本方法提出的方法通过合理的假设和相应的优化框架设计,可以产生运行效果好、效率高、适应范围广的结果。因此,本技术具有较高的应用价值。

Claims (6)

1.一种基于双层优化的推荐系统数据调试方法,其特征在于,包括以下内容:
(1)将推荐系统的历史用户反馈数据作为原始训练数据,并对原始训练数据进行划分;
(2)数据调试
在上一步中得到的每一份训练集与验证集组合中,使用训练集训练推荐模型,采用迭代式更新方法不断更新训练集数据;
(3)合并调试结果,作为最终的调试结果。
2.根据权利要求1所述的基于双层优化的推荐系统数据调试方法,其特征在于,随机将原始训练数据划分成若干份;对于每一份数据,将其作为验证集,对应的剩余数据作为训练集,则得到若干份训练集与验证集的组合。
3.根据权利要求1所述的基于双层优化的推荐系统数据调试方法,其特征在于,数据调试完成后,对于原始训练数据中的每一项数据,都会得到若干份调试结果;对于每一项数据,若每一份调试结果的差值同为正或同为负,则计算平均差值作为最终的调试结果,否则直接取差值为0作为最终调试结果。
4.根据权利要求1所述的基于双层优化的推荐系统数据调试方法,其特征在于,在数据调试阶段,采用迭代式更新方法不断更新训练集数据,包括以下步骤:
步骤1,计算在训练集上训练得到的模型在验证集上的预测损失对训练集数据的梯度;
步骤2,根据步骤1得到的梯度更新训练集数据;
步骤3,基于更新后的训练集数据重新训练推荐模型,更新模型参数,完成一轮迭代;
步骤4,若迭代轮数达到预先设定的数值,终止迭代,否则重复步骤1-3;
步骤5,对于原始训练集中的每一个数据,计算步骤4迭代完成后的新训练集中该数据项与原数据的差值,作为这一份数据集组合的调试结果。
5.根据权利要求1所述的基于双层优化的推荐系统数据调试方法,其特征在于,对于原始训练数据,调试结果合并时只保留意见一致的调试结果,并采用求平均值的方式作为最终的调试结果。
6.据权利要求1所述的基于双层优化的推荐系统数据调试方法,其特征在于,根据调试结果去编辑原始训练数据以提高推荐系统性能;将原始训练数据中的每一项按照其调试结果的绝对值大小从大到小排序,可以删除排序在前的部分训练数据或根据调试结果直接修改原始训练数据从而得到新的训练数据,并在新的训练数据上进行模型训练以提升推荐系统的推荐性能。
CN202011458884.7A 2020-12-11 2020-12-11 一种基于双层优化的推荐系统数据调试方法 Active CN112507225B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011458884.7A CN112507225B (zh) 2020-12-11 2020-12-11 一种基于双层优化的推荐系统数据调试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011458884.7A CN112507225B (zh) 2020-12-11 2020-12-11 一种基于双层优化的推荐系统数据调试方法

Publications (2)

Publication Number Publication Date
CN112507225A true CN112507225A (zh) 2021-03-16
CN112507225B CN112507225B (zh) 2021-09-28

Family

ID=74973812

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011458884.7A Active CN112507225B (zh) 2020-12-11 2020-12-11 一种基于双层优化的推荐系统数据调试方法

Country Status (1)

Country Link
CN (1) CN112507225B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105843928A (zh) * 2016-03-28 2016-08-10 西安电子科技大学 基于双层矩阵分解的推荐方法
CN110032677A (zh) * 2019-03-05 2019-07-19 四川大学 一种基于深度神经网络和概率矩阵分解的混合推荐算法
CN110321494A (zh) * 2019-06-26 2019-10-11 北京交通大学 基于矩阵分解与网络嵌入联合模型的社会化推荐方法
CN111125620A (zh) * 2019-11-01 2020-05-08 复旦大学 推荐系统中基于矩阵分解的并行随机梯度下降算法
US20200226491A1 (en) * 2019-01-15 2020-07-16 Vmware, Inc. Intelligent Data Partitioning for Distributed Machine Learning Systems
CN111552852A (zh) * 2020-04-27 2020-08-18 北京交通大学 基于半离散矩阵分解的物品推荐方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105843928A (zh) * 2016-03-28 2016-08-10 西安电子科技大学 基于双层矩阵分解的推荐方法
US20200226491A1 (en) * 2019-01-15 2020-07-16 Vmware, Inc. Intelligent Data Partitioning for Distributed Machine Learning Systems
CN110032677A (zh) * 2019-03-05 2019-07-19 四川大学 一种基于深度神经网络和概率矩阵分解的混合推荐算法
CN110321494A (zh) * 2019-06-26 2019-10-11 北京交通大学 基于矩阵分解与网络嵌入联合模型的社会化推荐方法
CN111125620A (zh) * 2019-11-01 2020-05-08 复旦大学 推荐系统中基于矩阵分解的并行随机梯度下降算法
CN111552852A (zh) * 2020-04-27 2020-08-18 北京交通大学 基于半离散矩阵分解的物品推荐方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
NAM D. VO等: "Implicit Stochastic Gradient Descent Method for Cross-Domain Recommendation System", 《SENSORS 2020》 *
王义嘉: "基于隐式反馈的视频类推荐系统优化", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Also Published As

Publication number Publication date
CN112507225B (zh) 2021-09-28

Similar Documents

Publication Publication Date Title
Shrikumar et al. Technical note on transcription factor motif discovery from importance scores (TF-MoDISco) version 0.5. 6.5
CN113407759B (zh) 一种基于自适应特征融合的多模态实体对齐方法
CN107391542B (zh) 一种基于文件知识图谱的开源软件社区专家推荐方法
CN111881342A (zh) 一种基于图孪生网络的推荐方法
WO2023065859A1 (zh) 物品推荐方法、装置及存储介质
US20220253722A1 (en) Recommendation system with adaptive thresholds for neighborhood selection
CN111797321A (zh) 一种面向不同场景的个性化知识推荐方法及系统
CN112115377A (zh) 一种基于社交关系的图神经网络链路预测推荐方法
CN103399858A (zh) 基于信任的社会化协同过滤推荐方法
Suzuki et al. Stacked denoising autoencoder-based deep collaborative filtering using the change of similarity
WO2015099810A1 (en) Learning graph
JP7245961B2 (ja) 対話型機械学習
US20220366257A1 (en) Small and Fast Video Processing Networks via Neural Architecture Search
US20240185025A1 (en) Flexible Parameter Sharing for Multi-Task Learning
CN113918832A (zh) 基于社交关系的图卷积协同过滤推荐系统
CN116431914A (zh) 一种基于个性化偏好转移模型的跨域推荐方法及系统
CN113743615A (zh) 简化机器学习的特征移除框架
CN113918834A (zh) 融合社交关系的图卷积协同过滤推荐方法
Han et al. Optimizing ranking algorithm in recommender system via deep reinforcement learning
CN113326884A (zh) 大规模异构图节点表示的高效学习方法及装置
CN113744023A (zh) 一种基于图卷积网络的双通道协同过滤推荐方法
CN112507225B (zh) 一种基于双层优化的推荐系统数据调试方法
CN112905906A (zh) 一种融合局部协同与特征交叉的推荐方法及系统
WO2022166125A1 (en) Recommendation system with adaptive weighted baysian personalized ranking loss
Wang et al. Multi‐feedback Pairwise Ranking via Adversarial Training for Recommender

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