[发明专利]基于块对角矩阵的推荐方法和装置有效
申请号: | 201310286998.1 | 申请日: | 2013-07-09 |
公开(公告)号: | CN103336831B | 公开(公告)日: | 2017-04-12 |
发明(设计)人: | 张永锋;张敏;刘奕群;马少平 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京路浩知识产权代理有限公司11002 | 代理人: | 王莹 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 对角 矩阵 推荐 方法 装置 | ||
1.一种基于块对角矩阵的推荐方法,包括:
步骤S1:对用户行为日志进行预处理;
步骤S2:将预处理的结果转换为迭代双边块对角矩阵;
步骤S3:由所述迭代双边块对角矩阵构建对角块矩阵;以及
步骤S4:利用所述对角块矩阵进行评分预测。
2.根据权利要求1所述的方法,其中所述步骤S1包括:
对所述用户行为日志进行编码转换;
根据编码转换的结果构建用户物品评分矩阵;以及
根据所述用户物品评分矩阵构建对应的用户物品评分二部图。
3.根据权利要求2所述的方法,其中所述步骤S2包括:
步骤S2.1:将所述用户物品评分矩阵设为当前迭代双边块对角矩阵;
步骤S2.2:计算当前迭代双边块对角矩阵的各对角块的平均密度,如果达到或超过预设的最小平均块密度则所述步骤S2结束并返回当前结果,如果未达到所述最小平均块密度则进行到步骤S2.3;
步骤S2.3:计算各对角块的面积,按照面积由大到小进行排序,并设定所有对角块的标记为0;
步骤S2.4:判断是否还存在标记为0的对角块,如果不存在,则步骤S2结束并返回当前结果;如果存在,则进行到步骤S2.5;
步骤S2.5:在标记为0的对角块中选取面积最大的对角块,将其标记改为1,并进行分割以构建两个新对角块;
步骤S2.6:检查分割后的所述新对角块的平均密度与分割前相比是否有所提升,如果没有提升,则返回执行步骤S2.4;如果有提升,则进行到步骤S2.7;
步骤S2.7:采纳并保留所述步骤S2.5中的分割,并返回执行所述步骤S2.2。
4.根据权利要求3所述的方法,其中所述步骤S2.5包括:
步骤S2.5.1:构建所述面积最大的对角块的二部图,寻找包含尽可能少的点的点集合,去掉所述点集合以分割所构建的二部图;
步骤S2.5.2:在所述分割的基础上,将对角块子矩阵中相应于所述点集合中的行节点的那些行移动到矩阵的下部,同时将对角块子矩阵中相应于所述点集合中的列节点的那些列移动到矩阵的右部;
步骤S2.5.3:将子矩阵中剩下的行和列按照所述分割结果中的两个子图所对应的节点排列为所述两个新对角块。
5.根据权利要求2所述的方法,其中所述步骤S3包括:
对于所述迭代双边块对角矩阵中的每一个对角块,将所述每一个对角块与其下方的边、右方的边以及这些边的交叉部分拼合起来,构建新子矩阵,将所述新子矩阵作为将要转化成为的对角块矩阵中的一个对角块;
当所述用户物品评分矩阵中的所述每一个对角块都构建成为一个新子矩阵,并放到目标块对角矩阵的相应位置时,完成目标对角块矩阵的构建。
6.根据权利要求2所述的方法,其中所述步骤S4包括:
对所述对角块矩阵的每一个对角块进行分解;
根据分解结果对所述对角块矩阵中的零块进行预测;
将所述用户物品评分矩阵与所述对角块矩阵中重复的子矩阵的预测结果进行平均,作为所述用户物品评分矩阵中相应子矩阵的最终预测结果。
7.根据权利要求6所述的方法,其中采用矩阵奇异值分解或非负矩阵分解来对所述对角块矩阵的每一个对角块进行分解。
8.根据权利要求6所述的方法,其中对所述对角块矩阵的每一个对角块进行分解使用并行化方法同时进行。
9.一种基于块对角矩阵的推荐装置,包括:
预处理模块,对用户行为日志进行预处理;
矩阵转换模块,将预处理的结果转换为迭代双边块对角矩阵;
矩阵构建模块,由所述迭代双边块对角矩阵构建对角块矩阵;以及
评分预测模块,利用所述对角块矩阵进行评分预测。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310286998.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:肩周保暖垫
- 下一篇:基于行为分析的指纹存储比对的方法