MLlib and Distributing the Singular Value Decomposition - Reza Zadeh

UN
Uni24h
다운로드 0회
42
0

자료 내용

2쪽

Outline Example Invocations Benefits of Iterations Singular Value Decomposition All-pairs Similarity Computation MLlib + {Streaming, GraphX, SQL} Future Directions

4쪽

A General Platform Standard libraries included with Spark Spark MLlib Spark SQL Streaming" GraphX machine structured graph real-time learning … Spark Core

5쪽

MLlib History MLlib is a Spark subproject providing machine learning primitives Initial contribution from AMPLab, UC Berkeley Shipped with Spark since Sept 2013

6쪽

MLlib: Available algorithms classification: logistic regression, linear SVM," naïve Bayes, least squares, classification tree regression: generalized linear models (GLMs), regression tree collaborative filtering: alternating least squares (ALS), non-negative matrix factorization (NMF) clustering: k-means|| decomposition: SVD, PCA optimization: stochastic gradient descent, L-BFGS

12쪽

Optimization At least two large classes of optimization problems humans can solve: - Convex Programs - Singular Value Decomposition

13쪽

Optimization - LR data = spark.textFile(...).map(readPoint).cache() w = numpy.random.rand(D) for i in range(iterations): gradient = data.map(lambda p: (1 / (1 + exp(-­‐p.y * w.dot(p.x)))) * p.y * p.x ).reduce(lambda a, b: a + b) w -­‐= gradient print “Final w: %s” % w

14쪽

MR PageRank Repeatedly multiply sparse matrix and vector Requires repeatedly hashing together page adjacency lists and rank vector Same file grouped over and over Neighbors (id, edges) Ranks (id, rank) … iteration 1 iteration 2 iteration 3

15쪽

Spark PageRank Using cache(), keep neighbor lists in RAM Using partitioning, avoid repeated hashing partitionBy Neighbors (id, edges) Ranks (id, rank) … join join join

16쪽

Spark PageRank Using cache(), keep neighbor lists in RAM Using partitioning, avoid repeated hashing partitionBy Neighbors (id, edges) same" node Ranks (id, rank) … join join join

17쪽

Spark PageRank Using cache(), keep neighbor lists in RAM Using partitioning, avoid repeated hashing partitionBy Neighbors (id, edges) Ranks (id, rank) … join join join

18쪽

PageRank Code # RDD of (id, neighbors) pairs links = spark.textFile(...).map(parsePage) .partitionBy(128).cache() ranks = links.mapValues(lambda v: 1.0) # RDD of (id, rank) for i in range(ITERATIONS): ranks = links.join(ranks).flatMap( lambda (id, (links, rank)): [(d, rank/links.size) for d in links] ).reduceByKey(lambda a, b: a + b) Generalizes to Matrix Multiplication, opening many algorithms from Numerical Linear Algebra

19쪽

PageRank Results 200 171 Hadoop 150 Basic Spark 100 72 Spark + Controlled Time per iteration (s)50 23 Partitioning 0

앞 19페이지만 표시됩니다. 전체를 보려면 자료를 다운로드하세요.

댓글 (0)

로그인 하여 토론에 참여하기

댓글이 없습니다. 첫 댓글을 남겨보세요!