[发明专利]一种基于条件受限波尔兹曼机的协同过滤优化方法在审

专利信息
申请号: 201510644973.3 申请日: 2015-10-08
公开(公告)号: CN105302873A 公开(公告)日: 2016-02-03
发明(设计)人: 欧阳元新;刘晓蒙;荣文戈;熊璋 申请(专利权)人: 北京航空航天大学
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 北京科迪生专利代理有限责任公司 11251 代理人: 成金玉;孟卜娟
地址: 100191*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种基于条件受限波尔兹曼机的协同过滤优化方法,该方法通过在改进的条件受限波尔兹曼机中融合项目类别信息作为条件层,在个性化推荐系统中提高推荐准确性。其特点是利用用户-项目评分信息、项目类别信息进行建模,考虑用户-项目评分信息、项目类别信息对用户兴趣偏好及预测评分的不同影响,并应用到改进的条件受限波尔兹曼机的计算。由于同时考虑了用户-项目评分信息、项目类别信息对用户兴趣偏好、预测评分的影响,该方法削弱了单一数据源对推荐系统的制约,提高了推荐准确性,实验结果表明该方法的推荐准确性明显高于仅采用用户-项目评分信息的受限波尔兹曼机方法。
搜索关键词: 一种 基于 条件 受限 波尔兹曼 协同 过滤 优化 方法
【主权项】:
一种基于条件受限波尔兹曼机的协同过滤优化方法,其特征在于:所述方法分为两个阶段:第一个阶段是设计阶段,根据条件受限波尔兹曼机模型的特点和数据集的特征进行模型设计,模型包括可见层V,即评分数据输入层、隐藏层H,即特征提取层和条件层F,即条件数据输入层;实现步骤如下:步骤A1、利用条件多项式概率分布对可见层v每一列的评分向量进行建模,可见层的单元被激活的概率为:<mrow><mi>p</mi><mrow><mo>(</mo><msubsup><mi>v</mi><mi>i</mi><mi>k</mi></msubsup><mo>=</mo><mn>1</mn><mo>|</mo><mi>H</mi><mo>,</mo><mi>F</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>exp</mi><mrow><mo>(</mo><msubsup><mi>b</mi><mi>i</mi><mi>k</mi></msubsup><mo>+</mo><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>H</mi></msubsup><msubsup><mi>W</mi><mrow><mi>i</mi><mi>j</mi></mrow><mi>k</mi></msubsup><msub><mi>h</mi><mi>j</mi></msub><mo>+</mo><msubsup><mi>&Sigma;</mi><mrow><mi>q</mi><mo>=</mo><mn>1</mn></mrow><mi>F</mi></msubsup><msub><mi>f</mi><mi>q</mi></msub><msub><mi>VF</mi><mrow><mi>q</mi><mi>i</mi></mrow></msub><mo>)</mo></mrow></mrow><mrow><msubsup><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></msubsup><mi>exp</mi><mrow><mo>(</mo><msubsup><mi>b</mi><mi>i</mi><mi>k</mi></msubsup><mo>+</mo><msubsup><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>H</mi></msubsup><msubsup><mi>W</mi><mrow><mi>i</mi><mi>j</mi></mrow><mi>k</mi></msubsup><msub><mi>h</mi><mi>j</mi></msub><mo>+</mo><msubsup><mi>&Sigma;</mi><mrow><mi>q</mi><mo>=</mo><mn>1</mn></mrow><mi>F</mi></msubsup><msub><mi>f</mi><mi>q</mi></msub><msub><mi>VF</mi><mrow><mi>q</mi><mi>i</mi></mrow></msub><mo>)</mo></mrow></mrow></mfrac></mrow>其中表示可见层第i个评分为k的二进制数值;hj表示隐藏层第j个单元的二进制数值;fq表示条件层第q个单元的特征值;表示可见层第i个评分为k的单元偏置;bj表示隐藏层第j个单元的偏置;表示可见层与隐藏层之间的连接权重;VFqi表示可见层与条件层的连接权重;步骤A2、利用伯努利概率分布对隐藏层H的特征向量进行建模,隐藏层的单元hj被激活的概率:<mrow><mi>p</mi><mrow><mo>(</mo><msub><mi>h</mi><mi>j</mi></msub><mo>=</mo><mn>1</mn><mo>|</mo><mi>V</mi><mo>,</mo><mi>F</mi><mo>)</mo></mrow><mo>=</mo><mi>&sigma;</mi><mrow><mo>(</mo><msub><mi>b</mi><mi>j</mi></msub><mo>+</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>V</mi></munderover><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><msubsup><mi>v</mi><mi>i</mi><mi>k</mi></msubsup><msubsup><mi>W</mi><mrow><mi>i</mi><mi>j</mi></mrow><mi>k</mi></msubsup><mo>+</mo><munderover><mo>&Sigma;</mo><mrow><mi>q</mi><mo>=</mo><mn>1</mn></mrow><mi>F</mi></munderover><msub><mi>f</mi><mi>q</mi></msub><msub><mi>HF</mi><mrow><mi>q</mi><mi>j</mi></mrow></msub><mo>)</mo></mrow></mrow>其中表示可见层第i个评分为k的二进制数值;fq表示条件层第q个单元的特征值;表示可见层第i个评分为k的单元偏置;bj表示隐藏层第j个单元的偏置;表示可见层与隐藏层之间的连接权重;HFqi表示隐藏层与条件层的连接权重;是激活函数,其中<mrow><mi>x</mi><mo>=</mo><msub><mi>b</mi><mi>j</mi></msub><mo>+</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>V</mi></munderover><munderover><mo>&Sigma;</mo><mi>k</mi><mi>K</mi></munderover><msubsup><mi>v</mi><mi>i</mi><mi>k</mi></msubsup><msubsup><mi>W</mi><mrow><mi>i</mi><mi>j</mi></mrow><mi>k</mi></msubsup><mo>+</mo><munderover><mo>&Sigma;</mo><mrow><mi>q</mi><mo>=</mo><mn>1</mn></mrow><mi>F</mi></munderover><msub><mi>f</mi><mi>q</mi></msub><msub><mi>HF</mi><mrow><mi>q</mi><mi>j</mi></mrow></msub><mo>;</mo></mrow>第二个阶段是学习阶段,构造模型参数并求出最佳的参数值,用于预测评分,包括如下步骤:步骤B1、参数初始化参数为可见层与隐藏层的连接权重可见层与条件层的连接权重VFqi、隐藏层与条件层的连接权重HFqi都使用均值为0,标准差为0.01的正态分布进行初始化;可见层单元偏置隐藏层单元偏置bj初始化为全零;步骤B2、采用随机梯度上升法进行参数更新,通过不断迭代更新得到模型参数的最佳值,参数的梯度公式如下:<mrow><msubsup><mi>&Delta;W</mi><mrow><mi>i</mi><mi>j</mi></mrow><mi>k</mi></msubsup><mo>=</mo><mfrac><mrow><mo>&part;</mo><mi>l</mi><mi>o</mi><mi>g</mi><mi>p</mi><mrow><mo>(</mo><mi>V</mi><mo>)</mo></mrow></mrow><mrow><mo>&part;</mo><msubsup><mi>W</mi><mrow><mi>i</mi><mi>j</mi></mrow><mi>k</mi></msubsup></mrow></mfrac><mo>=</mo><mo>&lt;</mo><msubsup><mi>v</mi><mi>i</mi><mi>k</mi></msubsup><msub><mi>h</mi><mi>j</mi></msub><msub><mo>&gt;</mo><mrow><mi>d</mi><mi>a</mi><mi>t</mi><mi>a</mi></mrow></msub><mo>-</mo><mo>&lt;</mo><msubsup><mi>v</mi><mi>i</mi><mi>k</mi></msubsup><msub><mi>h</mi><mi>j</mi></msub><msub><mo>&gt;</mo><mrow><mi>mod</mi><mi>e</mi><mi>l</mi></mrow></msub></mrow><mrow><msubsup><mi>&Delta;b</mi><mi>i</mi><mi>k</mi></msubsup><mo>=</mo><mfrac><mrow><mo>&part;</mo><mi>log</mi><mi>p</mi><mrow><mo>(</mo><mi>V</mi><mo>)</mo></mrow></mrow><mrow><mo>&part;</mo><msubsup><mi>b</mi><mi>i</mi><mi>k</mi></msubsup></mrow></mfrac><mo>=</mo><mo>&lt;</mo><msubsup><mi>v</mi><mi>i</mi><mi>k</mi></msubsup><msub><mo>&gt;</mo><mrow><mi>d</mi><mi>a</mi><mi>t</mi><mi>a</mi></mrow></msub><mo>-</mo><mo>&lt;</mo><msubsup><mi>v</mi><mi>i</mi><mi>k</mi></msubsup><msub><mo>&gt;</mo><mrow><mi>mod</mi><mi>e</mi><mi>l</mi></mrow></msub></mrow><mrow><msub><mi>&Delta;b</mi><mi>j</mi></msub><mo>=</mo><mfrac><mrow><mo>&part;</mo><mi>log</mi><mi>p</mi><mrow><mo>(</mo><mi>V</mi><mo>)</mo></mrow></mrow><mrow><mo>&part;</mo><msub><mi>b</mi><mi>j</mi></msub></mrow></mfrac><mo>=</mo><mo>&lt;</mo><msub><mi>h</mi><mi>j</mi></msub><msub><mo>&gt;</mo><mrow><mi>d</mi><mi>a</mi><mi>t</mi><mi>a</mi></mrow></msub><mo>-</mo><mo>&lt;</mo><msub><mi>h</mi><mi>j</mi></msub><msub><mo>&gt;</mo><mrow><mi>mod</mi><mi>e</mi><mi>l</mi></mrow></msub></mrow><mrow><msub><mi>&Delta;VF</mi><mrow><mi>q</mi><mi>i</mi></mrow></msub><mo>=</mo><mfrac><mrow><mo>&part;</mo><mi>log</mi><mi>p</mi><mrow><mo>(</mo><mi>V</mi><mo>)</mo></mrow></mrow><mrow><mo>&part;</mo><msub><mi>VF</mi><mrow><mi>q</mi><mi>i</mi></mrow></msub></mrow></mfrac><mo>=</mo><mo>&lt;</mo><msubsup><mi>v</mi><mi>i</mi><mi>k</mi></msubsup><msub><mi>f</mi><mi>q</mi></msub><msub><mo>&gt;</mo><mrow><mi>d</mi><mi>a</mi><mi>t</mi><mi>a</mi></mrow></msub><mo>-</mo><mo>&lt;</mo><msubsup><mi>v</mi><mi>i</mi><mi>k</mi></msubsup><msub><mi>f</mi><mi>q</mi></msub><msub><mo>&gt;</mo><mrow><mi>mod</mi><mi>e</mi><mi>l</mi></mrow></msub></mrow><mrow><msub><mi>&Delta;HF</mi><mrow><mi>q</mi><mi>j</mi></mrow></msub><mo>=</mo><mfrac><mrow><mo>&part;</mo><mi>log</mi><mi>p</mi><mrow><mo>(</mo><mi>V</mi><mo>)</mo></mrow></mrow><mrow><mo>&part;</mo><msub><mi>HF</mi><mrow><mi>q</mi><mi>j</mi></mrow></msub></mrow></mfrac><mo>=</mo><mo>&lt;</mo><msub><mi>h</mi><mi>j</mi></msub><msub><mi>f</mi><mi>q</mi></msub><msub><mo>&gt;</mo><mrow><mi>d</mi><mi>a</mi><mi>t</mi><mi>a</mi></mrow></msub><mo>-</mo><mo>&lt;</mo><msub><mi>h</mi><mi>j</mi></msub><msub><mi>f</mi><mi>q</mi></msub><msub><mo>&gt;</mo><mrow><mi>mod</mi><mi>e</mi><mi>l</mi></mrow></msub></mrow>其中<·>data表示由训练集定义的期望;<·>model表示由模型IC‑CRBMF定义的期望;步骤B3、预测评分,根据最佳的参数值进行评分预测;<mrow><mi>R</mi><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>K</mi></munderover><mi>k</mi><mo>&CenterDot;</mo><mi>p</mi><mrow><mo>(</mo><msubsup><mi>v</mi><mi>i</mi><mi>k</mi></msubsup><mo>=</mo><mn>1</mn><mo>|</mo><mi>H</mi><mo>,</mo><mi>F</mi><mo>)</mo></mrow></mrow>IC‑CRBMF:代表融合项目类别信息的基于条件受限波尔兹曼机的协同过滤推荐方法;根据基于用户和基于项目,将IC‑CRBMF分为基于用户的IC‑CRBMF_UserBased和基于项目的IC‑CRBMF_ItemBased两种,然后通过Hybrid IC‑CRBMF混合加权组合得到最终的预测结果,计算如下:RHybrid=β·RIC‑CRBMF_ItemBased+(1‑β)·RIC‑CRBMF_UserBased其中β表示组合权重。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201510644973.3/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code