一种协同过滤推荐模型的优化训练方法

文档序号:6378794阅读:607来源:国知局
专利名称:一种协同过滤推荐模型的优化训练方法
技术领域
本发明属于数据挖掘和个性化推荐技术领域,特别是涉及一种协同过滤推荐模型的优化训练方法。
背景技术
互联网信息规模的爆炸性增长,带来信息超载的问题,过量信息同时呈现,使得用户很难从中筛选出对个人有效的部分,信息利用率反而降低。个性化推荐技术是数据挖掘研究领域的重要分支,目标是通过建立个性化推荐系统来提供“信息找人”的智能服务,以从根本上解决信息超载。 作为推荐产生源,推荐模型是个性化推荐系统中的核心组件,而基于矩阵因式分解的推荐模型因其具备良好的推荐准确率和可扩展性,是一类应用广泛的推荐模型,目前,个性化推荐技术能够根据用户的历史行为,对用户和信息的内在联系进行分析,从而将用户与其可能会感兴趣的信息联系起来,提供信息找人的智能服务,从而解决信息超载的问题,推荐模型作为推荐系统中的核心部件,是个性化推荐技术领域研究的重点,由于矩阵因式分解推荐模型具备很高的推荐准确率和良好的可扩展性,因而具备广泛的应用范围,但是,由于矩阵因式分解推荐模型的训练过程中,其用户隐特征和项目隐特征相互依赖,无法进行并行化,从而限制了模型的进一步推广。因此在深入研究基于矩阵因式分解的推荐模型训练过程的基础上,本领域技术人员致力于开发一种协同过滤推荐模型的优化训练方法,能够消除矩阵因式分解推荐模型中的用户隐特征矩阵和项目隐特征矩阵在训练过程中的相互依赖关系。

发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种能够消除矩阵因式分解推荐模型中用户隐特征矩阵和项目隐特征矩阵在训练过程中相互依赖的协同过滤推荐模型的优化训练方法。通过对矩阵因式分解推荐模型的训练过程进行分析,确定用户和项目隐特征在训练过程中的相互依赖性是由对相应隐特征的状态值的引用关系导致,因此,通过引入单列随机梯度下降机制,消除了用户和项目隐特征在训练过程中对相应隐特征状态值的引用,从而消除了用户隐特征矩阵和项目隐特征矩阵在训练过程中的相互依赖性,再以此为基础,对用户隐特征和项目隐特征的训练过程进行并行化,达到进一步提升矩阵因式分解协同过滤推荐模型可扩展性的目的,本发明按以下步骤进行步骤一、单列用户隐特征矩阵或/和项目隐特征矩阵;对于需要构造的矩阵因式分解推荐模型,将其用户隐特征矩阵P或/和项目隐特征矩阵Q单列;通过单列P和Q,使得P、Q在第t轮训练过程中仅依赖于自身的状态值和对应隐特征矩阵在第t轮训练开始前的初始值,因此,对于第t轮训练过程,P、Q的每一行向量的训练结果仅依赖于自身的状态值、对应隐特征向量的初始值和相应训练数据,P、Q间的相互依赖关系被消除。步骤二、判断隐特征矩阵是否收敛;当用户隐特征矩阵和项目隐特征矩阵收敛时,输出训练完成的用户隐特征矩阵或/和项目隐特征矩阵;当用户隐特征矩阵或/和项目隐特征矩阵未收敛时,执行步骤三。步骤三、构造基于单列随机梯度下降的用户隐特征向量或/和项目隐特征向量训练过程;根据单列的用户隐特征矩阵和项目隐特征矩阵,对矩阵因式分解推荐模型的隐特征矩阵训练过程进行分解,得到用户隐特征矩阵训练过程或/和项目隐特征矩阵训练过程的两个训练子过程;在训练时刻t时,对于用户隐特征矩阵P中第u行的向量Pu,其基于单列随机梯度下降的训练过程为P=Ck · ρ ;1 + ”Σ cM_k I —〈pSqf〉. · qt1, M 为 Pu 对应的训练样本个数,M 为·k=l
正整数,k为用户隐特征矩阵系统学习训练样本的次序,KkS Μ,η为学习速率,C为学习过程规约系数,C = 1-η · λ, λ为学习过程规范化因子,ru,k为Pu对应的第k个训练样本;在训练时刻t时,对于项目隐特征矩阵Q中的第i行向量qi;其基于单列随机梯度下降
的训练过程为=Ck ·# + ^严[% -〈qr1,#〉]·!);1,H为屮对应的训练样本个数,H为
h=l
正整数,h为项目隐特征矩阵系统学习训练样本的次序,I ^ h ^ H,rhji为qi对应的第h个训练样本。本发明避免了传统的矩阵因式分解协同过滤推荐模型的训练过程中各用户隐特征向量与项目隐特征向量相互依赖,无法进行并行化的缺陷,能为个性化推荐研究提供模型支撑和分析手段。较佳的,在所述步骤三之后还包括并行训练用户隐特征矩阵或/和项目隐特征矩阵的步骤,以达到进一步提升矩阵因式分解推荐模型可扩展性的目的;并行训练用户隐特征矩阵按以下步骤进行Al、根据派发空间Z和训练样本集合R,依次将用户隐特征矩阵P中的第m行向量
及其对应的训练样本派发至对应的训练节点S1,直到ΣΝ —{|};PZ为派发到训练节点S1
pepz η I
的隐向量集合,Rp表示户隐特征向量所对应的训练样本;Α2、派发过程完成后,对所有的用户隐特征向量进行并行训练;并行训练项目隐特征矩阵按以下步骤进行BI、根据派发空间Z和训练样本集合R,依次将项目隐特征矩阵Q中的第η行向量及其对应的训练样本派发至对应的训练节点S2,直到;QZ为派发至节点S2的隐
qeQz|Z|
向量集合,Rq表示项目征矩阵向量所对应的训练样本;B2、派发过程完成后,对所有的项目隐特征向量进行并行训练。本发明的有益效果是本发明通过对协同过滤推荐模型的训练进行优化,消除了用户隐特征矩阵与项目隐特征矩阵的相互依赖关系,提高了可扩展性,具备更快的收敛速度,达到收敛所需的训练轮数更少,提高了推荐模型的构建速度。


图I是本发明实施例一的流程示意图。图2是本发明实施例二的流程示意图。图3是本发明实施例二的流程不意图。图4是本发明与PRMF推荐法的准确率对比图。图5是本发明与PRMF推荐法的加速比的对比图。
具体实施例方式下面结合附图和实施例对本发明作进一步说明实施例一如图I所示,一种协同过滤推荐模型的优化训练方法,其特征在于按以下步骤进行步骤一、单列用户隐特征矩阵;对于需要构造的矩阵因式分解推荐模型,将其用户隐特征矩阵P单列;步骤二、判断隐特征矩阵是否收敛;当用户隐特征矩阵收敛时,输出训练完成的用户隐特征矩阵;当用户隐特征矩阵未收敛时,执行步骤三。步骤三、构造基于单列随机梯度下降的用户隐特征向量训练过程;根据单列的用户隐特征矩阵,对矩阵因式分解推荐模型的隐特征矩阵训练过程进行分解,得到用户隐特征矩阵训练过程的训练子过程;在训练时刻t时,对于用户隐特征矩阵P中第u行的向量Pu,其基于单列随机梯度下降的训练过程为
P =Ck -Pl;1 +^ |;cM-k[ru.k -,M为Pu对应的训练样本个数,M为正整数,k为用
权利要求
1.一种协同过滤推荐模型的优化训练方法,其特征在于按以下步骤进行 步骤一、单列用户隐特征矩阵和项目隐特征矩阵; 对于需要构造的矩阵因式分解推荐模型,将其用户隐特征矩阵P或/和项目隐特征矩阵Q单列; 步骤二、判断隐特征矩阵是否收敛;当用户隐特征矩阵或项目隐特征矩阵未收敛时,执行步骤三。
步骤三、构造基于单列随机梯度下降的用户隐特征向量或/和项目隐特征向量训练过程; 根据单列的用户隐特征矩阵和项目隐特征矩阵,对矩阵因式分解推荐模型的隐特征矩阵训练过程进行分解,得到用户隐特征矩阵训练过程或/和项目隐特征矩阵训练过程的两个训练子过程;在训练时刻t时,对于用户隐特征矩阵P中第u行的向量Pu,其基于单列随机梯度下降的训练过程为 数,k为用户隐特征矩阵系统学习训练样本的次序,I ^ k ^ μ, η为学习速率,c为学习过程规约系数,C = I-H · λ,λ为学习过程规范化因子,ru,k为Pu对应的第k个训练样本;在训练时刻t时,对于项目隐特征矩阵Q中的第i行向量qi;其基于单列随机梯度下降的训练过程为为%对应的训练样本个数,H为正整 数,h为项目隐特征矩阵系统学习训练样本的次序,I < h < H,riu为qi对应的第h个训练样本;
2.如权利要求I所述的一种协同过滤推荐模型的优化训练方法,其特征在于在所述步骤三之后还包括并行训练用户隐特征矩阵或/和项目隐特征矩阵的步骤; 并行训练用户隐特征矩阵按以下步骤进行 Al、根据派发空间Z和训练样本集合R,依次将用户隐特征矩阵P中的第m行向量及其对应的训练样本派发至对应的训练节点S1,直到Σ|ΚΡ| — 1} ;PZ为派发到训练节点S1的隐向量集合,Rp表示户隐特征向量所对应的训练样本; A2、派发过程完成后,对所有的用户隐特征向量进行并行训练;并行训练项目隐特征矩阵按以下步骤进行 BI、根据派发空间Z和训练样本集合R,依次将项目隐特征矩阵Q中的第η行向量及其对应的训练样本派发至对应的训练节点S2,直到为派发至节点S2的隐向量 集合,Rq表示项目征矩阵向量所对应的训练样本; B2、派发过程完成后,对所有的项目隐特征向量进行并行训练。
全文摘要
本发明公开了一种协同过滤推荐模型的优化训练方法,属于数据挖掘和个性化推荐技术领域,通过将隐特征矩阵单列,从而消除用户隐特征和项目隐特征在训练过程中的相互依赖性,然后将其划分为基于单列随机梯度下降的用户隐特征训练过程和项目隐特征训练过程,最后并行执行用户隐特征训练过程和项目隐特征训练过程,本发明通过对协同过滤推荐模型的训练进行优化,消除了用户隐特征矩阵与项目隐特征矩阵的相互依赖关系,提高了可扩展性,具备更快的收敛速度,达到收敛所需的训练轮数更少,提高了推荐模型的构建速度。
文档编号G06N5/00GK102930341SQ201210389800
公开日2013年2月13日 申请日期2012年10月15日 优先权日2012年10月15日
发明者罗辛, 夏云霓 申请人:罗辛, 夏云霓
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1