推荐系统简单介绍

3,009 views
2,840 views

Published on

a brief introduction of a recommend system

Published in: Education, Technology, Business
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,009
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
146
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide
  • 可扩展性问题:性能瓶颈,当电子商务系统的规模变大时,如电子商务系统中的 商品数量和用户数量增大到另一个级别,推荐算法的性能会急剧下降,从而不能 产生准确的推荐。
  • 推荐系统简单介绍

    1. 1. 关于推荐系统的 简单介绍
    2. 2. Ⅰ 先看个例子 <ul><li>从 dangdang.com 买书 </li></ul>减肥 减肥
    3. 3. Ⅰ 先看个例子 <ul><li>从 dangdang.com 买书 </li></ul>
    4. 4. Ⅰ 先看个例子 <ul><li>从 dangdang.com 买书 </li></ul>
    5. 5. Ⅱ 什么是推荐? <ul><li>1 从刚才的例子来归纳 </li></ul><ul><li>① 和我买同一本书的顾客买的其它书 </li></ul><ul><li>② 和我浏览同一本书的顾客浏览的其它书 </li></ul><ul><li>③ 根据我的浏览历史,用合适的算法推测我的兴趣 </li></ul><ul><li>④ 综合各项指标,用合适的算法,得到您可能会感兴趣” </li></ul>
    6. 6. Ⅱ 什么是推荐? <ul><li>2 一个比较学术化的定义 </li></ul><ul><li>根据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信息和商品。 </li></ul><ul><li>☞ 小问题 </li></ul><ul><li>1 如何获取用户的兴趣特点和购买行为? </li></ul><ul><li>2 如何产生推荐? ( 算法是什么? ) </li></ul>
    7. 7. Ⅲ 推荐系统的有关算法 <ul><li>第一类: </li></ul><ul><li>基于内容的过滤 (content-based filtering) </li></ul><ul><li>第二类: </li></ul><ul><li>协同过滤 (collaborative filtering) </li></ul><ul><li>基于用户的协同过滤 </li></ul><ul><li>基于 item 的协同过滤 </li></ul><ul><li>其它类: </li></ul><ul><li>基于规则的过滤 ,etc </li></ul>
    8. 8. Ⅲ 推荐系统的有关算法 <ul><li>基于内容的过滤 </li></ul><ul><li>Example 1 </li></ul><ul><li>网上书店记录小明同学搜索关键字频率最高的是“减肥”“瘦身”“塑身”。 </li></ul><ul><li>现在来了一批新书,如 </li></ul><ul><li>《明朝那些事儿》 </li></ul><ul><li>《蚁族》 </li></ul><ul><li>《香蕉减肥法》 </li></ul>
    9. 9. Ⅲ 推荐系统的有关算法 <ul><li>基于内容的过滤 </li></ul><ul><li>Example1=> 算法上如何实现? </li></ul><ul><li>1 向量空间模型 </li></ul>香蕉减肥法 用户 蚁族 明朝那些事儿 香蕉减肥法 蚁族 明朝那些事儿 瘦身 塑身 减肥 瘦身 减肥 香蕉 蚂蚁 中关村 朱元璋 百姓
    10. 10. Ⅲ 推荐系统的有关算法 <ul><li>基于内容的过滤 </li></ul><ul><li>Example 1=> </li></ul><ul><li>向量空间模型的数学表达 </li></ul><ul><li>用户兴趣 </li></ul><ul><li>用户进行浏览,查询时,所针对的文档的主题词的矢量 </li></ul><ul><li>u=<kw1,kw2,…,kwn> 其中 kwi 表示第 i 个关键词出现的次数或者权重 </li></ul>
    11. 11. Ⅲ 推荐系统的有关算法 <ul><li>基于内容的过滤 </li></ul><ul><li>Example 1=> </li></ul><ul><li>向量空间模型的数学表达 </li></ul><ul><li>文档特征 </li></ul><ul><li>类似的,用户进行浏览,查询时,所针对的文档的主题词的矢量 </li></ul><ul><li>d=<kw1,kw2,…,kwn> 其中 kwi 表示第 i 个关键词的权重 </li></ul>
    12. 12. Ⅲ 推荐系统的有关算法 <ul><li>基于内容的过滤 </li></ul><ul><li>Example 1=> </li></ul><ul><li>向量空间模型的数学表达 </li></ul><ul><li>相似度计算 </li></ul>
    13. 13. Ⅲ 推荐系统的有关算法 <ul><li>基于内容的过滤 </li></ul><ul><li>Example 2 </li></ul><ul><li>网上书店记录小明同学搜索关键字频率最高的是“减肥”“瘦身”“塑身”。 </li></ul><ul><li>现在来了一批新书,如 </li></ul><ul><li>《家庭营养学》 </li></ul><ul><li>《美发 DIY 》 </li></ul><ul><li>《 C++ 》 </li></ul>如何发现新的资源?
    14. 14. Ⅲ 推荐系统的有关算法 <ul><li>基于内容的过滤 </li></ul><ul><li>Example 3 </li></ul><ul><li>网上书店记录小明同学搜索关键字频率最高的是“减肥”“瘦身”“塑身”。 </li></ul><ul><li>现在来了一批新书,如 </li></ul><ul><li>《西瓜减肥法》 ☆ </li></ul><ul><li>《黄瓜减肥法》 ☆ ☆ ☆ ☆ </li></ul><ul><li>《香蕉减肥法》 ☆ ☆ </li></ul>如何区别质量,风格 , 等?
    15. 15. Ⅲ 推荐系统的有关算法 <ul><li>基于内容的过滤 ---- 缺点总结 </li></ul><ul><li>1 过滤出的是和用户目前兴趣相关的资源,不能发现新资源。 </li></ul><ul><li>2 难以区分资源的质量好坏。 </li></ul><ul><li>3 有些内容难以表达为内容。如,衣服,鞋帽,音乐 </li></ul>
    16. 16. Ⅲ 推荐系统的有关算法 <ul><li>协同过滤 </li></ul><ul><li>- user-based filtering </li></ul><ul><li>- item based filtering </li></ul>
    17. 17. Ⅲ 推荐系统的有关算法 <ul><li>用户评分表 </li></ul>杜拉拉升职记 香蕉减肥法 西红柿减肥法 美白宝典 小明 5 2 0 3 小红 4 2 1 ? 小白 1 5 4 3 小花 2 5 5 1
    18. 18. Ⅲ 推荐系统的有关算法 <ul><li>User-based 协同过滤 </li></ul><ul><li>Step1 兴趣建模 : </li></ul><ul><li>Step2 最近邻搜索 </li></ul><ul><li>Step3 推荐产生 </li></ul>
    19. 19. Ⅲ 推荐系统的有关算法 <ul><li>User-based 协同过滤 ----Step1 兴趣建模 </li></ul><ul><li>用户评分数据可以用一个 m×n 的矩阵 A 表示。 m 行表示 m 个用户, n 列代表 n 个项目,第 i 行第 j 列的元素值代表用户 i 对项目 j 的评分。矩阵中已有的值是用户对相应项目的兴趣评分,未知值就是用户未进行的评分 </li></ul>
    20. 20. Ⅲ 推荐系统的有关算法 <ul><li>User-based 协同过滤 ----Step2 最近邻搜索 </li></ul><ul><li>服务的目标用户寻找其最相似的“最近邻居 (nearest 一 neighbor)” 集,即对一个目标用户 a ,要产生一个依相似度大小排列的“邻居”集合 N={Nl , NZ ,…, Nt} , a≠N 。从 NI 到 Nt ,用户之间的 相似度 sim(a , Nt) 从大到小排列。 </li></ul>
    21. 21. Ⅲ 推荐系统的有关算法 <ul><li>User-based 协同过滤 ----Step2 最近邻搜索 </li></ul><ul><li>相似度 sim(a , Nt) 的三种计算方式 </li></ul><ul><li>(1) 余弦相似性 (Cosine) </li></ul><ul><li>(2) 修正的余弦相似性 (Ajusted Cosine) </li></ul><ul><li>(3) 相关相似性 (Correlation) </li></ul>
    22. 22. Ⅲ 推荐系统的有关算法 <ul><li>User-based 协同过滤 ----Step2 最近邻搜索 </li></ul><ul><li>(1) 余弦相似性 (Cosine) </li></ul><ul><li>设用户 i 和用户 j 在 n 维项空间上的评分分别表示为向量 i , j 。 </li></ul>
    23. 23. Ⅲ 推荐系统的有关算法 <ul><li>User-based 协同过滤 ----Step2 最近邻搜索 </li></ul><ul><li>(2) 修正的余弦相似性 (Ajusted Cosine) </li></ul><ul><li>在余弦相似性度量方法中没有考虑不同用户的评分尺度问题。 </li></ul><ul><li>如用户甲来说,评分 3 以上就是自己喜欢的;而对于用户乙来说,评分 4 以上才是自己喜欢的。 </li></ul><ul><li>修正的余弦相似性度量方法通过减去用户对项目的平均评分改善上述缺陷。 </li></ul>
    24. 24. Ⅲ 推荐系统的有关算法 <ul><li>User-based 协同过滤 ----Step2 最近邻搜索 </li></ul><ul><li>(2) 修正的余弦相似性 (Ajusted Cosine) </li></ul><ul><li>设用户 i 和用户 j 在 n 维项空间上的评分分别表示为向量 i , j </li></ul><ul><li>向量 i,j 分表表示户 i 和用户 j 在 n 维项空间上的评分 </li></ul><ul><li>I ij 表示用户 i 和用户 j 共同评分过的项目 </li></ul><ul><li>R ic 表示第 i 个用户对第 c 个项目的评分 </li></ul><ul><li>表示第 i 个用户的平均打分 </li></ul>
    25. 25. Ⅲ 推荐系统的有关算法 <ul><li>User-based 协同过滤 ----Step2 最近邻搜索 </li></ul><ul><li>(3) 相关相似性 (Correlation) </li></ul><ul><li>向量 i,j 分表表示户 i 和用户 j 在 n 维项空间上的评分 </li></ul><ul><li>I ij 表示用户 i 和用户 j 共同评分过的项目 </li></ul><ul><li>R ic 表示第 i 个用户对第 c 个项目的评分 </li></ul><ul><li>表示第 i 个用户的平均打分 </li></ul>
    26. 26. Ⅲ 推荐系统的有关算法 <ul><li>User-based 协同过滤 ---- Step3 推荐产生 </li></ul><ul><li>设目标用户 u 的最近邻集合用 SN n 表示,则目标用户 u 对项目 i 的预测评分 P ui 可以通过用户 u 对最近邻集合 SN n 中的项目的评分得到: </li></ul>
    27. 27. Ⅲ 推荐系统的有关算法 <ul><li>User-based 协同过滤 ---- Step3 推荐产生 </li></ul><ul><li>和 分别表示用户 u 和用户 n 对项目的平均评分 </li></ul><ul><li>P ui 表示对用户 U 关于项目 i 的 预测评分 </li></ul><ul><li>SN n 表示 用户 u 的 最近邻集合 </li></ul>
    28. 28. Ⅲ 推荐系统的有关算法 <ul><li>User-based 协同过滤 ----[ 变化情况 1] </li></ul><ul><li>在一个购买网站,比如 dangdang.com 如果难以获得用户的评分,只知道用户是否购买某本书。如何进行推荐? </li></ul>杜拉拉升职记 香蕉减肥法 西红柿减肥法 美白宝典 小明 Yes No Yes No 小红 Yes Yes No ? 小白 No No Yes Yes 小花 Yes No No No
    29. 29. Ⅲ 推荐系统的有关算法 <ul><li>User-based 协同过滤 ----[ 变化情况 1] </li></ul><ul><li>[ 解决方式 ] </li></ul><ul><li>类似地,转化为打分值为 0 或者 1 的 m×n 矩阵 </li></ul><ul><li>m 仍然代表 m 个用户 </li></ul><ul><li>n 代表 n 个项目 </li></ul><ul><li>若用户购买了, A ij =1; 否则为 A ij =0 </li></ul><ul><li>其它同上 </li></ul>
    30. 30. Ⅲ 推荐系统的有关算法 <ul><li>User-based 协同过滤 ----[ 缺点优点 ] </li></ul><ul><li>:( 数据稀疏性 </li></ul><ul><li>:( 可扩展性 </li></ul><ul><li>:-) 冷开始 </li></ul><ul><li>:-) 能够挖掘新的兴趣 </li></ul>
    31. 31. Ⅲ 推荐系统的有关算法 <ul><li>Item-based 协同过滤 </li></ul>杜拉拉升职记 香蕉减肥法 西红柿减肥法 美白宝典 小明 3 2 0 3 小红 4 2 1 ? 小白 2 5 4 3 小花 1 5 5 1
    32. 32. Ⅲ 推荐系统的有关算法 <ul><li>Item-based 协同过滤 </li></ul>
    33. 33. Ⅲ 推荐系统的有关算法 <ul><li>Item-based 协同过滤 - 相似性计算 </li></ul><ul><li>(1) 余弦相似性 (Cosine) </li></ul><ul><li>其中 i ,j 分别表示项目 </li></ul>
    34. 34. Ⅲ 推荐系统的有关算法 <ul><li>Item-based 协同过滤 - 相似性计算 </li></ul><ul><li>(2) 修正余弦相似性 (Adjusted Cosine) </li></ul><ul><li>其中 i ,j 分别表示项目 </li></ul><ul><li>U 表示对项目 i 和项目 j 共同评分过的用户集合 </li></ul><ul><li>表示用户 对 项目 i 的平均评分 </li></ul>
    35. 35. Ⅲ 推荐系统的有关算法 <ul><li>Item-based 协同过滤 - 相似性计算 </li></ul><ul><li>(3) 相关相似性 (Correlation) </li></ul><ul><li>其中 i ,j 分别表示项目 </li></ul>
    36. 36. Ⅲ 推荐系统的有关算法 <ul><li>Item-based 协同过滤 - 产生推荐 </li></ul><ul><li>P ui 表示 用户 u 对项 i 的评分 </li></ul><ul><li>Sim(i,n) 为目标项 i 与最近邻居 n 的相似度。 </li></ul><ul><li>R un 表示用户 u 对项 n 的评分 </li></ul>
    37. 37. Ⅲ 推荐系统的有关算法 <ul><li>Item-based 协同过滤 - 缺点优点 </li></ul><ul><li>:) 不受数据稀疏的影响 </li></ul><ul><li>:( 不能跨类推荐 </li></ul>
    38. 38. Ⅳ 推荐系统的应用 <ul><li>更多例子 : </li></ul><ul><li>1 谷歌音乐 </li></ul><ul><li>2 谷歌邮件中的广告 </li></ul>
    39. 39.
    40. 40.
    41. 41.
    42. 42.
    43. 43. Ⅴ 为什么要推荐 ? <ul><li>海量数据 => 避免用户迷失在海量数据中 </li></ul><ul><li>新用户的用户粘性可能不高 => 增加用户对于网站的信赖 </li></ul><ul><li>顾客的销售潜能没有被完全开发 => 促进交叉销售 </li></ul><ul><li>其它商业价值 </li></ul>

    ×