Spark MLlib 算法系列之 FM

Spark MLlib 介绍

Spark之所以在机器学习方面具有得天独厚的优势,有以下几点原因:

(1)机器学习算法一般都有很多个步骤迭代计算的过程,机器学习的计算需要在多次迭代后获得足够小的误差或者足够收敛才会停止,迭代时如果使用 Hadoop 的 MapReduce 计算框架,每次计算都要读/写磁盘以及任务的启动等工作,这回导致非常大的 I/O 和 CPU 消耗。而 Spark 基于内存的计算模型天生就擅长迭代计算,多个步骤计算直接在内存中完成,只有在必要时才会操作磁盘和网络,所以说 Spark 正是机器学习的理想的平台。

(2)从通信的角度讲,如果使用 Hadoop 的 MapReduce 计算框架,JobTracker 和 TaskTracker 之间由于是通过 heartbeat 的方式来进行的通信和传递数据,会导致非常慢的执行速度,而 Spark 具有出色而高效的 Akka 和 Netty 通信系统,通信效率极高。

MLlib(Machine Learnig lib) 是 Spark 对常用的机器学习算法的实现库,同时包括相关的测试和数据生成器。Spark 的设计初衷就是为了支持一些迭代的 Job,这正好符合很多机器学习算法的特点。MLlib 目前支持4种常见的机器学习问题: 分类、回归、聚类和协同过滤,MLlib 在 Spark 整个生态系统中的位置如图下图所示。

笔者希望将上述几类算法进行整理,完成 Spark MLlib 一个系列的算法介绍,供大家一起分享参考,作者才疏学浅,资料里难免出现错误,如有发现请不吝指正,谢谢!

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习算法原理与实践

用Spark学习FP Tree算法和PrefixSpan算法

    在FP Tree算法原理总结和PrefixSpan算法原理总结中,我们对FP Tree和PrefixSpan这两种关联算法的原理做了总结,这里就从实践的...

1253
来自专栏大数据智能实战

facebook Faiss的基本使用示例(逐步深入)

针对上一篇文章,安装完毕之后,可以对faiss进行基本的案例学习,具体步骤如下: step1:构造实验数据 ? step2:为向量集构建IndexFlatL2索...

7035
来自专栏大数据挖掘DT机器学习

Tensorflow深度学习LSTM实现的小说撰写预测damo

最近,在研究深度学习方面的知识,结合Tensorflow,完成了基于lstm的小说预测程序demo。 lstm是改进的RNN,具有长期记忆功能,相对于RNN,增...

3715
来自专栏人工智能

Apache Spark 2.0预览:机器学习模型持久性

以上所有应用场景在模型持久性、保存和加载模型的能力方面都更为容易。随着Apache Spark 2.0即将发布,Spark的机器学习库MLlib将在DataFr...

3468
来自专栏hadoop学习笔记

Hanlp中使用纯JAVA实现CRF分词

与基于隐马尔可夫模型的最短路径分词、N-最短路径分词相比,基于条件随机场(CRF)的分词对未登录词有更好的支持。本文(HanLP)使用纯Java实现CRF模型的...

130
来自专栏有趣的Python

TensorFlow应用实战-18-Policy Gradient算法

3624
来自专栏MixLab科技+设计实验室

写给设计师的人工智能指南:JS框架Synaptic

上一篇写了tensorflow,发现tf对于设计师来说,其实门槛有点高.要折腾各种配置,还要gpu...其实是不利于快速入门的. Synaptic是一个用于no...

2955
来自专栏Python小屋

Python+sklearn使用支持向量机算法实现数字图片分类

关于支持向量机的理论知识,大家可以查阅机器学习之类的书籍或网上资源,本文主要介绍如何使用Python扩展库sklearn中的支持向量机实现数字图片分类。 1、首...

3085
来自专栏陈满iOS

看图学算法(一)算法基本概念篇

563
来自专栏生信技能树

蛋白质数据库及其结构预测攻略

包含三大蛋白质序列数据库,Swiss-Prot,TrEMBL 和PIR,分为三个层次: 第一层叫UniParc,收录了所有UniProt 数据库子库中的蛋白质序...

1244

扫码关注云+社区