slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
基于大数据的推荐算法研究 PowerPoint Presentation
Download Presentation
基于大数据的推荐算法研究

Loading in 2 Seconds...

play fullscreen
1 / 34

基于大数据的推荐算法研究 - PowerPoint PPT Presentation


  • 92 Views
  • Uploaded on

基于大数据的推荐算法研究. 报告人:孙远帅 E-mail : sunyuan_2008@aliyun.com. 2. 1. 课题背景与研究意义. TopKS 算法. 3. 基于项目层次结构相似性的推荐算法. 4. 5. 论文框架. 矩阵分解并行化. 总结与展望. 新闻推荐. 图书推荐. 淘宝网. 当当网. 央广网. 亚马逊. 课题背景. 启发式的协同过滤 代表的方法: KNN 基于模型的协同协同过滤 代表的方法:矩阵分解. 课题背景. user1(3, 2, ?, 4) user2(2, 3, ?, ?)

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about '基于大数据的推荐算法研究' - hammett-livingston


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

基于大数据的推荐算法研究

报告人:孙远帅

E-mail : sunyuan_2008@aliyun.com

slide2

2

1

课题背景与研究意义

TopKS算法

3

基于项目层次结构相似性的推荐算法

4

5

论文框架

矩阵分解并行化

总结与展望

slide3

新闻推荐

图书推荐

淘宝网

当当网

央广网

亚马逊

slide4

课题背景

  • 启发式的协同过滤

代表的方法:KNN

  • 基于模型的协同协同过滤

代表的方法:矩阵分解

slide5

课题背景

user1(3, 2, ?, 4)

user2(2, 3, ?, ?)

user3(?, ?, 4, 3)

user4(4, ?, ?, 1)

user5(?, 5, 5, ?)

  • 余弦距离
  • 皮尔逊相关系数
  • ………
slide6

课题背景

.

.

=

u2

v2

X21*y21 + x22* y22 + x23 * y23 ≈ 3

  • 交替下降
  • 梯度下降
slide7

研究意义

  • 用户量猛增
  • 项目(商品、新闻等)数量猛增
  • 推荐算法的可扩展性不强
slide8

TopkS算法

TopKS是Top K Similarity的简写,即最大的前K个相似度。主要包含以下三部分:

  • 采用余弦距离和皮尔逊相关公式累加性特点
  • 引入倒排索引数据结构
  • 结合TopK思想
slide9

TopkS算法

余弦距离

皮尔逊相关系数

slide10

TopkS算法

倒排索引

slide11

TopkS算法

计算u1和其他用户的相似度

slide12

TopkS算法

假设查找用户ui的最近邻用户,当前计算到用户ui和uj第k1个共同项目(i != j),而ui和uj有k个共同评分项目,则分为两种情况:

  • 如果uj已经在最近邻列表LS中,则直接更新列表中的相似度;
  • 如果uj不在最近邻列表LS中,则计算用户ui和uj可能的最大值,下面是余弦距离和皮尔逊相关系数可能的最大值:

余弦距离

slide13

TopkS算法

皮尔逊相关系数

计算出 之后,

从LS中剔除最小值,插入uj

把uj加入黑名单

slide14

TopkS算法

不同稀疏度对近邻计算的影响

slide15

TopkS算法

不同规模用户数量上的比较实验

slide16

TopkS算法

不同K值对执行时间的影响

slide18

基于项目层次结构相似性的推荐算法

节点之间的距离度量:

然后利用最短路径算法Dijkstra结合TopK思想找到最相近的项目;

相似度度量

slide20

矩阵分解并行化

目标函数

采用梯度下降方法,V的更新公式通常是:

这里

注意: 是一个常数,对因子矩阵中的每个元素都一样

slide21

矩阵分解并行化

把步长修改为因子矩阵中每个元素一个值,如下:

, V的更新公式变为:

这里

同理,用户因子矩阵U也可以近似为矩阵乘除的形式.

slide22

矩阵分解并行化

MapReduce编程模型

slide23

矩阵分解并行化

结果矩阵C

右矩阵B

左矩阵A

介绍矩阵的分布式乘法时,假设:

左矩阵A是m×s

右矩阵B是s×n

结果矩阵C是m×n

C = AB

  • 内积法
  • 外积法
  • 分块矩阵乘法
slide24

矩阵分解并行化

内积法

….

….

slide25

矩阵分解并行化

内积法数据流程图

内积法中Reduce任务与数据的对应关系

并发粒度:m×n×s

中间shuffle数据量:

n个A矩阵,m个B矩阵,即2s个C矩阵

注:R_i_j表示Reduce任务的编号

slide27

矩阵分解并行化

外积法数据流程图

外积法中Reduce任务与数据的对应关系

并发粒度:s

中间数据量:

Job1的shuffle 数据量:一个A矩阵和一个B矩阵

Job1到Job2的IO数据量:s个C矩阵

Job2的shuffle数据量:远小于s个C矩阵

注:R_i_j表示Reduce任务的编号

slide28

矩阵分解并行化

把左矩阵划分为m1×s1等大小的矩阵,右矩阵划分为s1×n1的等大小矩阵,则有:

M = (m - 1)/m1 + 1

S = (s - 1)/s1 + 1

N = (n - 1)/n1 + 1

并发粒度:M×N×S

中间数据量:N个A矩阵和M个B矩阵

slide29

矩阵分解并行化

矩阵规模与运行时间的关系

slide30

矩阵分解并行化

矩阵稀疏度与运行时间的关系

slide31

矩阵分解并行化

分块策略与运行时间的关系

分块策略与中间数据量的大小关系

slide32

矩阵分解并行化

工作节点数量与运行时间的关系

slide33

总结与展望

本文工作

  • 对传统的相似度度量方法进行改进
  • 提出基于项目标签层次结构的相似度度量方法
  • 矩阵分解算法并行化

未来展望

  • 利用MPI分布式模型并行化矩阵分解模型;
  • 实现通过构造传统推荐算法的近似算法把传统推荐算法并行化