Skip to Main Content
Spark高级数据分析(第2版)
book

Spark高级数据分析(第2版)

by Sandy Ryza, Uri Laserson, Sean Owen, Josh Wills
June 2018
Beginner to intermediate content levelBeginner to intermediate
246 pages
6h 57m
Chinese
Posts & Telecom Press
Content preview from Spark高级数据分析(第2版)
音乐推荐和
Audioscrobbler
数据集
41
幸好有算法可以帮助我们摆脱这种两难的境地,并且能找到一个还不错的解决方案。具
体来说,求解
X
Y
时,本章使用交替最小二乘(
Alternating Least Squares
ALS
)算
法。这类方法在
Netflix
竞赛期间流行起来,对此一些论文功不可没,比如“
Collaborative
Filtering for Implicit Feedback Datasets
”和“
Large-scale Parallel Collaborative Filtering for the
Netflix Prize
”。实际上
Spark MLlib
ALS
算法实现思想就来源于这两篇论文。
虽然
Y
是未知的,但我们可以把它初始化为随机行向量矩阵。接着运用简单的线性代数,
就能在给定
A
Y
的条件下求出
X
的最优解。实际上,
X
的第
i
行是
A
的第
i
行和
Y
的函
数,因此可以很容易分开计算
X
的每一行。因为
X
的每一行可以分开计算,所以我们可以
将其并行化,而并行化是大规模计算的一大优点。
A
i
Y
(
Y
T
Y
)
–1
=
X
i
要想两边精确相等是不可能的,因此实际的目标是最小化
|
A
i
Y
(
Y
T
Y
)
–1
-
X
i
|
,或者最小化两
个矩阵的平方误差。这就是算法名称中“最小二乘”的来由。这里给出方程式只是为了
说明行向量计算方法,但实践中从来不会对矩阵求逆,我们会借助于
QR
分解(
https://
en.wikipedia.org/wiki/QR_decomposition
)之类的方法,这种方法速度更快而且更直接。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

大数据项目管理:从规划到实现

大数据项目管理:从规划到实现

Ted Malaska, Jonathan Seidman
管理Kubernetes

管理Kubernetes

Brendan Burns, Craig Tracey

Publisher Resources

ISBN: 9787115482525