1、协同过滤相关介绍一1.协同过滤相关介绍一1.背景介绍2.相关数学知识3.算法原理4.参考文献2.1 应用场景1.关联规则意在找出属性之间的内在规律2.决策树想找出对某一确定属性影响最显著的topN个属性3.协同过滤可以找出记录之间以及属性之间的相似或相关程度,并在此基础上进行推荐1,2,33.2.1 余弦相似度向量A=B=推广至任意维向量A和B,有:我打盹人A:我打盹B:我打人4.2.2 矩阵矩阵相乘:矩阵相乘向量表示4:矩阵转置:5.用户行为矩阵ua:新建矩阵us:us=ua*uaT3.1 算法原理1 A B C D E Fu1 5 0 0 1 2 1u2 2 1 3 4 0 0u3 0 1
2、 5 2 7 2u4 1 2 0 3 0 0u5 5 0 1 0 5 1 u1 u2 u3 u4 u5 u1 31 14 18 8 36u2 14 30 24 16 13u3 18 24 83 8 42u4 8 16 8 14 5u5 36 13 42 5 526.3.1 算法原理2新建与us 同大小矩阵ucos:ucos(i,j)=us(i,j)/(us(i,i)*us(j,j)(1/2)1.这个矩阵即表示了用户之间的相似性 2.推荐以此为依据 3.主要有基于用户和基于项目两种推荐 4.新用户用基于项目好,新项目用基于用户好,由于用户数据稀疏,多用基于项目推荐 u1 u2 u3 u4 u5
3、u1 1.0000 0.4591 0.3549 0.3840 0.8966u2 0.4591 1.0000 0.4810 0.7807 0.3291u3 0.3549 0.4810 1.0000 0.2347 0.6393u4 0.3840 0.7807 0.2347 1.0000 0.1853u5 0.8966 0.3291 0.6393 0.1853 1.0000 u1 u2 u3 u4 u5 u1 31 14 18 8 36u2 14 30 24 16 13u3 18 24 83 8 42u4 8 16 8 14 5u5 36 13 42 5 527.3.1 算法原理3新建矩阵as:as
4、=uaT*ua 新建与as同大小矩阵acos:acos(i,j)=as(i,j)/(as(i,i)*as(j,j)(1/2)以上即是项目之间相似性 A B C D E FA 55 4 11 16 35 10B 4 6 8 12 7 2C 11 8 35 22 40 11D 16 12 22 30 16 5E 35 7 40 16 78 21F 10 2 11 5 21 6 A B C D E FA 1.0000 0.2202 0.2507 0.3939 0.5344 0.5505B 0.2202 1.0000 0.5521 0.8944 0.3236 0.3333C 0.2507 0.5521
5、 1.0000 0.6789 0.7656 0.7591D 0.3939 0.8944 0.6789 1.0000 0.3308 0.3727E 0.5344 0.3236 0.7656 0.3308 1.0000 0.9707F 0.5505 0.3333 0.7591 0.3727 0.9707 1.0000 A B C D E Fu1 5 0 0 1 2 1u2 2 1 3 4 0 0u3 0 1 5 2 7 2u4 1 2 0 3 0 0u5 5 0 1 0 5 18.3.1 算法原理4基于项目推荐:对于新用户u6,如果u6对B评价较高则可以估计u6对C和D评价也较高对于老用户,如果用
6、户u1对项目B未做过评价,由于D和C与B较相,则u1对B的评价可估计为1;如果用户u1对项目C未做过评价,由于C和D、E、F较相似,则u1对B的评价可估计为:(0.6789*1+0.7656*2+0.7591*1)/(0.6789+0.7656+0.7591)=1.47431 A B C D E Fu1 5 0 0 1 2 1u2 2 1 3 4 0 0u3 0 1 5 2 7 2u4 1 2 0 3 0 0u5 5 0 1 0 5 1 A B C D E FA 1.0000 0.2202 0.2507 0.3939 0.5344 0.5505B 0.2202 1.0000 0.5521 0.
7、8944 0.3236 0.3333C 0.2507 0.5521 1.0000 0.6789 0.7656 0.7591D 0.3939 0.8944 0.6789 1.0000 0.3308 0.3727E 0.5344 0.3236 0.7656 0.3308 1.0000 0.9707F 0.5505 0.3333 0.7591 0.3727 0.9707 1.0000 u1 u2 u3 u4 u5 u1 1.0000 0.4591 0.3549 0.3840 0.8966u2 0.4591 1.0000 0.4810 0.7807 0.3291u3 0.3549 0.4810 1.0
8、000 0.2347 0.6393u4 0.3840 0.7807 0.2347 1.0000 0.1853u5 0.8966 0.3291 0.6393 0.1853 1.0000同理可基于用户推荐:对于新项目G,如其被u1购买,则可将其向u5推荐。对于老项目C,如果用户u1对项目B未做过评价,由于u5与u1较相似可估计u1对项目C的评价为1。9.4 参考文献1 http:/zh.wikipedia.org/zh-cn/%E5%8D%94%E5%90%8C%E9%81%8E%E6%BF%BE2 http:/www.vanjor.org/blog/2011/05/rs-collaborative-filtering/3 郭军,web搜索,高等教育出版社4http:/zh.wikipedia.org/zh/%E7%9F%A9%E9%99%A3%E4%B9%98%E6%B3%95作者邮件:hsb_113_10.