1 概念

2 安装

3 RDD

RDD包含两种基本的类型:Transformation和Action。RDD的执行是延迟执行,只有Action算子才会触发任务的执行。

宽依赖和窄依赖用于切分任务,如果都是窄依赖,那么就可以最大化的利用并行。

常用操作:

  • cache 缓存
  • cartesian 笛卡尔积
  • coalesce 重分区
  • countByValue 分组统计
  • distinct 去除重复
  • filter 过滤
  • flatMap
  • map
  • groupBy 分组
  • keyBy 增加key
  • reduce 拼接
  • sortBy 排序
  • zip 合并压缩

4 基本概念

基本的数据结构

MLlib中提供几种向量和矩阵的数据结构:

  • Local vector,本地向量
  • Labeld point,带标签的向量
  • Local Matrix,本地矩阵
  • Distributed matrix,分布式矩阵

一般向量或者矩阵都有两个方法,dense表示密集版,sparse表示稀疏版,稀疏版是可以指定下标的。

基本的统计方法

  • colStats 以列统计基本数据,count个数、max最大值、mean最小值、normL1欧几里德距离、normL2曼哈顿距离、numNonzeros不为0的个数、variance标准差
  • chiSqTest 皮尔逊距离计算,Statistics.corr(rddx,rddy,"spearman")
  • corr 数据集相关系数计算,Statistics.corr(rddx,rddy)
  • 分层抽样 data.sampleByKey(withReplacement=false,fractions,0)
  • 假设检验 自由度、统计量、P值、卡方检验
  • 随机数 RandomRDDs.normalRDD(sc,100)

5 协同过滤

协同过滤可以基于人也可以基于物品,不足之处在于:

  • 基于人会对热点物品不够精确
  • 基于物品,但是没有什么多样性

相似度度量

  • 基于欧几里德距离的计算
  • 基于夹角余弦的相似度计算

他们的区别:

  • 欧几里德注重空间上的差异
  • 夹角余弦注重趋势

最小二乘法

最小二乘,就是基于均方误差寻找最佳匹配函数的过程。在矩阵中就是把大矩阵拆分成连个小矩阵的计算。

实践

new ALS()
rank 隐藏的因子数
iterations 迭代次数
lambda 正则项参数
implicitPref 显示反馈还是隐式反馈
alpha 拟合修正的幅度

6 线性回归

梯度下降

道士下山的例子,以及随机梯度下降中 θ=θ-α*J'(θ)公式的原理。

正则项

避免过拟合,可以使用正则项——lasso回归(L1)和岭回归(L2)。关于岭回归可以参考下面两篇:

7 分类

分类算法,包括 逻辑回归、支持向量机SVM、贝叶斯等。

逻辑回归

跟线性回归差不多,多了一个sigmoid函数,输出的内容也稍有变化。

另外,对于损失函数的推导也不同了,这里需要最大似然估计的知识!

基本的流程就是,确定1或者0的概率,然后推导出极大似然公式,然后取对数,求导...最终基于梯度下降,优化参数。

由于忘记最大似然估计,所以这里真是理解不上去.

支持向量机

求解的是划分边界的最优解,他的名字听起来像一种很高级的机器人,其实跟逻辑回归差不多,就是选取一条最优的线把数据分作两类。

这里有疑问的可以参考——逻辑回归和SVM的区别是什么?各适合解决什么问题?

https://www.zhihu.com/question/24904422?sort=created

暂时不知道它的损失函数是怎么算出来的...慢慢研究吧

朴素贝叶斯

明明就是计算概率,非叫这么高大上的名字。

《Spark MLlib 机器学习实战》1——读后总结的更多相关文章

  1. Spark MLlib 机器学习

    本章导读 机器学习(machine learning, ML)是一门涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多领域的交叉学科.ML专注于研究计算机模拟或实现人类的学习行为,以获取新知识.新 ...

  2. 《Spark MLlib机器学习实践》内容简介、目录

      http://product.dangdang.com/23829918.html Spark作为新兴的.应用范围最为广泛的大数据处理开源框架引起了广泛的关注,它吸引了大量程序设计和开发人员进行相 ...

  3. Spark MLlib机器学习

    前言 Spark MLlib是Spark对常用的机器学习算法的实现库,同时包括相关的测试和数据生成器.

  4. Spark MLlib机器学习(一)——决策树

    决策树模型,适用于分类.回归. 简单地理解决策树呢,就是通过不断地设置新的条件标准对当前的数据进行划分,最后以实现把原始的杂乱的所有数据分类. 就像下面这个图,如果输入是一大堆追求一个妹子的汉子,妹子 ...

  5. Spark Mllib里的向量标签概念、构成(图文详解)

    不多说,直接上干货! Labeled point: 向量标签 向量标签用于对Spark Mllib中机器学习算法的不同值做标记. 例如分类问题中,可以将不同的数据集分成若干份,以整数0.1.2,... ...

  6. Spark Mllib里如何采用保序回归做回归分析(图文详解)

    不多说,直接上干货! 相比于决策树,保序回归的应用范围没有决策树算法那么广泛. 特别在数据处理较为庞大的时候,采用保序回归做回归分析,可以极大地节省资源,从而提高计算效率. 保序回归的思想,是对数据进 ...

  7. Spark Mllib里的卡方检验

    不多说,直接上干货! import org.apache.spark.mllib.stat.Statistics 具体,见 Spark Mllib机器学习实战的第4章 Mllib基本数据类型和Mlli ...

  8. Spark Mllib里的分层抽样(使用map作为分层抽样的数据标记)

    不多说,直接上干货! 具体,见 Spark Mllib机器学习实战的第4章 Mllib基本数据类型和Mllib数理统计

  9. Spark Mllib里的如何对单个数据集用斯皮尔曼计算相关系数

    不多说,直接上干货! import org.apache.spark.mllib.stat.Statistics 具体,见 Spark Mllib机器学习实战的第4章 Mllib基本数据类型和Mlli ...

随机推荐

  1. Python运维开发基础04-语法基础

    上节作业回顾(讲解+温习90分钟) #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen # 仅用列表+循环实现"简单 ...

  2. Python小程序之「读取站点地图 自动为Gitalk创建Issues」

    首发于个人博客 想获得更好的阅读体验,烦请移步⬆️ 前言 前些天给博客加了评论功能,试了Disqus.Valine等一干评论系统,最后还是选择了在大陆相对友好而且符合技术博客风格的Gitalk.但是由 ...

  3. Server.Transfer和Response.Redirect的区别

    (1)Server.Transfer方法: Server.Transfer("m2.aspx");//页面转向(服务器上执行). 服务器停止解析本页,保存此页转向前的数据后,再使页 ...

  4. Putty建立隧道的方法[z]

    通过上节我们了解了SSH隧道的优点,但是无论是现实中还是网络中,隧道都是有入口和出口的,本节就以Putty隧道为例,详细介绍Putty建立隧道的方法. 模拟案例一: 端口,出口为2012端口,隧道建立 ...

  5. string.match(RegExp) 与 RegExp.exec(string) 深入详解

    string.match(RegExp) 与 RegExp.exec(string) 相同点与不同点对比解析: 1. 这两个方法,如果匹配成功,返回一个数组,匹配失败,返回null. 2. 当RegE ...

  6. Zookeeper 源码(五)Leader 选举

    Zookeeper 源码(五)Leader 选举 前面学习了 Zookeeper 服务端的相关细节,其中对于集群启动而言,很重要的一部分就是 Leader 选举,接着就开始深入学习 Leader 选举 ...

  7. wcf已知类型 known type

    .服务契约的定义 /* Copyright (c) 2014 HaiHui Software Co., Ltd. All rights reserved * * Create by huanglc@h ...

  8. Java程序设计17——多线程-Part-A

    1 多线程 1.1 简介 大部分时候,我们编写的程序都是单线程的.也就是都只有一条顺序执行流:程序从main方法开始执行,依次向下执行每行代码,如果程序执行某行代码遇到了阻塞,则程序会停滞在该处.如果 ...

  9. SpringMvc 全局异常处理器定义,友好的返回后端错误信息

    import com.google.common.collect.Maps; import org.apache.log4j.Logger; import org.springframework.be ...

  10. 马婕 2014MBA专硕考试 报刊选读 6(转)

    http://blog.sina.com.cn/s/blog_3e66af4601016udh.html Protecting the weakest保护最弱势群体The recession may ...