一种基于训练集优化的推荐系统的动态推荐方法技术方案

技术编号:7459116 阅读:195 留言:0更新日期:2012-06-24 04:25
本发明专利技术公开了一种基于训练集优化的推荐系统的动态推荐方法,该方法具体为:步骤(1)建立初步推荐模型部分:根据原始的用户评分数据生成最初的推荐模型;步骤(2)AdaBoost训练:通过多次迭代学习训练数据,利用最初的推荐模型作为分类判定的依据并进行数据的分类和调整样本的学习次数;步骤(3)筛选错误样本:把经过多轮的AdaBoost训练之后被选定为难样本的数据当作错误样本去除从而构建出新训练数据集合;步骤(4)重构推荐模型:以新的训练数据为基础,结合训练结果重新生成推荐模型;步骤(5)产生推荐结果:利用新的推荐模型产生推荐结果。本发明专利技术能够利用原始训练数据集在内容上很大的相关性,排除一些在推荐服务中没有参考意义的数据,提高训练数据的有效性和最终推荐模型的精度。

【技术实现步骤摘要】

本专利技术涉及用户推荐系统的
,特别是。
技术介绍
个性化推荐服务是以用户为中心,以理解用户喜好为基础,为用户提供量身定制的个性化信息呈现的服务方式,也是解决从海量互联网资源中提取用户所需信息的一种有效途径。同普通服务模式相比个性化推荐服务有如下特点首先,个性化推荐服务能够将用户从信息超载的困境中解救出来,使得用户能有机会享受到真正丰富多彩、便捷贴切的人性化网络信息服务,极大提升用户体验和满意度;其次,个性化推荐服务能够充分提高Web 站点的服务质量和访问效率,同时还能够发现用户潜在的兴趣点,从而挖掘出潜在的商业价值,为网络服务商提供可观的经济回报。自基于协同过滤技术的推荐系统诞生以来,尤其是基于正规化矩阵分解的隐向量推荐模型的提出,个性化推荐技术在理论层面的推荐精度已经有相当高的提升。作为推荐重要依据的原始评分数据对最终的推荐结果有着决定性影响,显而易见一组具有较高准确度的数据会在最终的推荐中获得良好的推荐效果。一般对用户的个性化推荐服务都是基于已有历史累积的数据集进行的,这种数据集的数据量是十分庞大的。数据集规模的庞大很难避免在数据的收集中存在不合理的数据,比如用户的错评分或者非用户本人进行替评分等现象。这些数据本身不具有参考性,在对用户的推荐服务中这些数据是不应采纳的。因此,对原始评分数据的处理和甄选会在很大程度上帮助提高推荐精度。在采用较为准确的判断方法筛选训练集,并且以此为依据进行推荐模型的建立,那么所获得的推荐模型会在推荐精度上有更显著得提升。
技术实现思路
本专利技术要解决的技术问题为克服现有技术的不足,提供,该方法可以通过对作为个性化推荐依据的原始训练数据进行筛选,并以去除错误样本的新训练集为依据获得具有更高精准度的推荐模型,提高了个性化推荐的准确度。本专利技术解决上述技术问题的技术方案为,该方法具体步骤如下步骤(1)建立初步推荐模型根据原始的用户评分数据,利用基于正规化矩阵因式分解推荐模型中的建模方法生成最初的推荐模型;步骤(2)AdaBoost训练利用步骤(1)中生成的推荐模型作为最初分类判定的依据构建分类器,根据推荐模型计算出的推荐值和原始数据值之间的差异情况判定数据的分类,利用AdaBoost算法学习原始训练样本,并在每一轮结束后生成新的分类器;步骤(3)筛选错误样本在利用AdaBoost算法的训练过程中每一轮训练都需要4筛选出难样本,在本方法中难样本的划分可以采用预测值与真实值之间的差异性来判断, 即当这种差异大于某一阈值时即判定为难样本。经过多轮的AdaBoost训练之后,多次被选定为难样本的数据可以当作错误样本去除,从而构建出用于下一次迭代所需的训练数据集合;步骤(4)重构推荐模型以步骤(3)中获得的训练数据为基础,结合AdaBoost训练数据,重新生成推荐模型。步骤(5)产生推荐结果以用户特征向量作为输入,利用步骤(4)获得的推荐模型计算出推荐结果并返回给用户。所述步骤O)中对原始数据集的AdaBoost聚类训练,具体如下步骤①修改正规化矩阵因式分解推荐模型,不再将原始评分数据集合T分割成两个子集Ι\、τ2,其中,数据集T1用于进行学习,数据集T2用于判定学习停止其中,而是对数据集τ中的所有数据均进行学习,设定AdaBoost训练的迭代轮数I、每轮学习的次数R、允许的错误范围errPermission,并初始化特征向量集;步骤②在第一轮的迭代中利用正规化矩阵因式分解推荐模型学习训练数据R次, 在训练得到的特征向量集之上计算训练数据中对应用户对项目的评分的估计值I并求出其与真实值Li的绝对误差,即绝对误差。h步骤③当步骤②中计算出的AbsE值大于errPermission时判定次数据为难样本, 遍历全部的训练数据获得难样本的总数吐比皿肚“并由下式计算出样本的错误率εη,其中Τ|表示训练集中的样本个数; errCount ” ,ε"= 『丨 ⑴式;式中ε η表示样本错误率,|Τ|表示训练集中的样本个数,errCount11表示遍历全部的训练数据获得难样本的总数;步骤④根据步骤③中计算出来的错误率ε “调整训练样本在下一轮迭代中的学习次数,具体为当训练样本数据的AbsE值小于errPermission时,该样本在下一轮迭代中的学习次数为trainTime11+1 = trainTime、ε n(若tramTime11+1 < 1则取1),当训练样本数据的AbsE值大于errPermission时即(2)中判定其为难样本时,该样本在下一轮迭代中的学习次数为能inTime"+1 = tminTime",可用如下式表示:εI T^'^^l ^ ·i 'if fl ‘‘f if y- *f-v · . χ,,, , --J AbsE ^ errPemmSiom ,mtnTtme"^ = | ε (2)式;ImmL(iramTimen *ε"Sj.iAbsE < errPermission)式中廿£0111111^样本在第η次轮迭代中的学习次数,trainTimen+1样本在第n+1 次轮迭代中的学习次数,”表示步骤(3)中计算出来的错误率,AbsE值表示步骤O)的子步骤②计算出来的绝对误差,errPermission表示允许的错误范围;步骤⑤将errPermission以固定比例declineRate缩减之后,开始新一轮的迭代, 并且在该轮的迭代中每个样本的学习次数按照步骤④中计算出进行。所述步骤(3)中的筛选错误样本的方法,具体如下步骤A、步骤O)中在利用AdaBoost算法的训练过程中每一轮训练都需要筛选出难样本并进行标记和统计;步骤B、经过多轮的AdaBoost迭代训练之后,对训练数据进行遍历统计每一个样本被判定成难样本的次数;步骤C、根据去除率delRate,将判定成难样本次数较高的样本从训练集中去除, 从而得到新的训练集。本专利技术与现有技术相比的优点在于本专利技术可以以现有数据为基础进行自动聚类,经过多次的迭代学习可以筛选出不利于提高推荐模型精度的错误数据,从而去除错误数据获得高质量的训练数据,最终获得较高的推荐精度。相比于传统方法只针对推荐模型进行处理不对原始训练数据进行过滤, 本方法可以较有效的提高推荐精度。附图说明图1为本专利技术的概要工作流程图;图2为本专利技术的详细工作流程图。具体实施例方式现结合附图说明本专利技术的实施例。如图2所示,本专利技术包括四个主要步骤建立推荐模型、AdaBoost训练、筛选错误样本和重构推荐模型。步骤(1)建立推荐模型读取原始的用户评分数据和测试数据,并根据两个数据中最大的用户编号^erID和项目编号ItemID确定用户特征向量和项目特征向量的维度, 基于正规化矩阵因式分解推荐模型中的建模方法,新建并随机初始化用户特征向量和项目特征向量;步骤(2) AdaBoost训练阶段利用步骤(1)中生成的推荐模型作为分类判定的依据构建分类器,根据推荐模型计算出的推荐值和原始数据值之间的差异情况判定数据的分类,具体步骤为步骤①修改正规化矩阵因式分解推荐模型,不再将原始评分数据集合T分割成两个子集1\、T2(利用数据集T1进行学习,利用T2判定学习停止),而是对数据集T中的所有数据均进行学习,设定AdaBoost训练的迭代轮数I、每轮学习的次数R、本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:欧阳元新蒋祥涛罗建辉熊璋
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

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

1
相关领域技术