affinity propagation 介绍及 gstrap 使用方法

26
Affinity Propagation 介介 介 GStrAP 介介介介 报报报 报报报 1 22/6/8 27

Upload: samantha-koch

Post on 03-Jan-2016

203 views

Category:

Documents


1 download

DESCRIPTION

Affinity Propagation 介绍及 GStrAP 使用方法. 报告人:陈文强. 1 Affinity Propagation 算法背景. 目录. 2 基于 GraphLab 的实现: GStrAP. 3 GStrAP 使用. Affinity Propagation 介绍. Clustering by Passing Messages Between Data Science 315, 972–976, February 2007 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Affinity Propagation 介绍及 GStrAP 使用方法

Affinity Propagation介绍及GStrAP使用方法

报告人:陈文强

123/4/20 27

Page 2: Affinity Propagation 介绍及 GStrAP 使用方法

2 基于 GraphLab 的实现: GStrAP目录目录目录目录

3 GStrAP 使用

1 Affinity Propagation 算法背景

223/4/20 27

Page 3: Affinity Propagation 介绍及 GStrAP 使用方法

Affinity Propagation 介绍

Clustering by Passing Messages Between Data Science 315, 972–976, February 2007 Points.Brendan J. Frey and Delbert DueckUniversity of Toronto

323/4/20 27

Page 4: Affinity Propagation 介绍及 GStrAP 使用方法

Affinity Propagation 介绍

x1

x2

x1

x2Linear model Non-linear model

线性 V.S. 非线性聚类模型

423/4/20 27

Page 5: Affinity Propagation 介绍及 GStrAP 使用方法

Affinity Propagation 介绍

线性 V.S. 非线性聚类模型

523/4/20 27

Page 6: Affinity Propagation 介绍及 GStrAP 使用方法

Affinity Propagation 介绍

Clustering datasets – Joensuu http://cs.joensuu.fi/sipu/datasets/

623/4/20 27

Page 7: Affinity Propagation 介绍及 GStrAP 使用方法

Affinity Propagation 算法Sending responsibilities

Candidateexemplar k

r(i,k)

Data instance i

Competingcandidate

exemplar k’

a(i,k’)

Sending availabilitiesCandidateexemplar k

a(i,k)

Data instance i

Supportingdata instance i’

r(i’,k)

Making decisions:

723/4/20 27

Page 8: Affinity Propagation 介绍及 GStrAP 使用方法

ITERATION # 0

-5 0 +5-5

0

+5

ITERATION # 1

-5 0 +5-5

0

+5

non-exemplar exemplar

ITERATION # 1

-5 0 +5-5

0

+5

non-exemplar exemplar

ITERATION # 2

-5 0 +5-5

0

+5

non-exemplar exemplar

ITERATION # 3

-5 0 +5-5

0

+5

non-exemplar exemplar

ITERATION # 4

-5 0 +5-5

0

+5

non-exemplar exemplar

ITERATION # 5

-5 0 +5-5

0

+5

non-exemplar exemplar

ITERATION # 6

-5 0 +5-5

0

+5

non-exemplar exemplar

ITERATION # 7

-5 0 +5-5

0

+5

non-exemplar exemplar

ITERATION # 8

-5 0 +5-5

0

+5

non-exemplar exemplar

ITERATION # 9

-5 0 +5-5

0

+5

non-exemplar exemplar

ITERATION #10

-5 0 +5-5

0

+5

non-exemplar exemplar

ITERATION #11

-5 0 +5-5

0

+5

non-exemplar exemplar

ITERATION #12

-5 0 +5-5

0

+5

non-exemplar exemplar

ITERATION #13

-5 0 +5-5

0

+5

non-exemplar exemplar

ITERATION #14

-5 0 +5-5

0

+5

non-exemplar exemplar

ITERATION #15

-5 0 +5-5

0

+5

non-exemplar exemplar

Affinity Propagation 算法

823/4/20 27

Page 9: Affinity Propagation 介绍及 GStrAP 使用方法

Affinity Propagation 算法

923/4/20 27

Page 10: Affinity Propagation 介绍及 GStrAP 使用方法

Affinity Propagation 算法

Provided by Brendan J. Frey and Delbert Dueck,

APCluster

Scikit-learn

现有开源软件

通过矩阵的矢量化编程, 提供了一定程度上的并行化计算

1023/4/20 27

Page 11: Affinity Propagation 介绍及 GStrAP 使用方法

Affinity Propagation 算法矢量化编程

1123/4/20 27

Page 12: Affinity Propagation 介绍及 GStrAP 使用方法

Affinity Propagation 算法A simple comparison of the clustering algorithms

1223/4/20 27

Page 13: Affinity Propagation 介绍及 GStrAP 使用方法

基于 GraphLab 的实现

Distributed GraphLab: A Framework for Machine Learning in the Cloud

1323/4/20 27

Page 14: Affinity Propagation 介绍及 GStrAP 使用方法

基于 GraphLab 的实现How do we program graph computation?

“ Think like a Vertex.”-Malewicz et al. [SIGMOD’10]

141423/4/20 27

Page 15: Affinity Propagation 介绍及 GStrAP 使用方法

基于 GraphLab 的实现GAS Decomposition

Y

+ … +

Y

ParallelSum

User Defined:Gather( ) ΣY

Σ1 + Σ2 Σ3

Y

Gather (Reduce)Apply the accumulated value to center vertex

ApplyUpdate adjacent edges

and vertices.

ScatterAccumulate information

about neighborhood

Y

+

User Defined:

Apply( , Σ) Y’Y

Y

Σ Y’

Update Edge Data &Activate Neighbors

User Defined:Scatter( ) Y’

Y’

151523/4/20 27

Page 16: Affinity Propagation 介绍及 GStrAP 使用方法

基于 GraphLab 的实现Machine 2Machine 1

Machine 4Machine 3

Σ1 Σ2

Σ3 Σ4

+ + +

YYYY

Y’

ΣY’Y’Y’

从邻接节点与当前节点相连的边收集 availability ,a(i,k`) 以及responsibility,r(i`,k)

更新与邻接节点相连的边上的a(i,k) 以及 r(i,k)

16

Master

Mirror

MirrorMirror

1623/4/20 27

Page 17: Affinity Propagation 介绍及 GStrAP 使用方法

实验结果与分析 本文的实验运行于 3.10GHz 的 4 核处理器上 , 内存为 8GB.

采用流形学习工具 MANI 合成的数据3D Clusters 、 Aggregation 、 Flame 以及 Pathbased 作为数据集

1723/4/20 27

Page 18: Affinity Propagation 介绍及 GStrAP 使用方法

实验结果与分析

1823/4/20 27

Page 19: Affinity Propagation 介绍及 GStrAP 使用方法

实验结果与分析

1923/4/20 27

Page 20: Affinity Propagation 介绍及 GStrAP 使用方法

GraphLab安装1 、 Installing boost+zlib.

2 、 Install cmake .

4 、 Clone GraphLab from github git clone https://github.com/graphlab-code/graphlab.git

3 、 Install openmpi + jdk

5 、 configure and compile graphlab.

2023/4/20 27

Page 21: Affinity Propagation 介绍及 GStrAP 使用方法

GStrAP使用计算样本之间的相似度

输入数据格式 :

执行 similarity_calc ,计算相似度 :

2123/4/20 27

Page 22: Affinity Propagation 介绍及 GStrAP 使用方法

GStrAP使用计算样本之间的相似度

输出数据格式 :

2223/4/20 27

Page 23: Affinity Propagation 介绍及 GStrAP 使用方法

GStrAP使用对样本进行聚类

输入数据格式 :

执行 affinity_propagation 进行聚类 :

输出数据格式 :

2323/4/20 27

Page 24: Affinity Propagation 介绍及 GStrAP 使用方法

GStrAP使用获取 GStrAP 帮助信息 :

2423/4/20 27

Page 25: Affinity Propagation 介绍及 GStrAP 使用方法

关于GStrAP的更多信息

软件主页:Stable: http://datamining.xmu.edu.cn/software/gstrap/

2523/4/20 27

Page 26: Affinity Propagation 介绍及 GStrAP 使用方法

谢谢!

2623/4/20 27