机器学习:需要从已知的数据 学习出需要的模型

在线算法:需要及时处理收集的数据,并给出预测或建议结果,并更新模型

通用的在线学习算法步骤如下:

1. 收集和学习现有的数据

2. 依据模型或规则,做出决策,给出结果

3. 根据真实的结果,来训练和学习规则或模型

常用的在线学习算法:

Perceptron: 感知器

PA: passive Perceptron

PA-I

PA-II

Voted Perceptron

confidence-weighted linear linear classification: 基于置信度加权的线性分类器

Weight Majority algorithm

AROW:adaptive regularization of weighted vector 加权向量的自适应正则化

"NHERD":Normal Herd 正态

这里收集了一些算法伪代码,代码然后配上语言描述,就清晰多了。

感知器Perceptron:

线性分类器,是一个利用超平面来进行二分类的分类器,每次利用新的数据实例,预测,比对,更新,来调整超平面的位置。

相对于SVM,感知器不要每类数据与分类面的间隔最大化。

平均感知器Average Perceptron:

线性分类器,其学习的过程,与Perceptron感知器的基本相同,只不过,它将所有的训练过程中的权值都保留下来,然后,求均值。

优点:克服由于学习速率过大,所引起的训练过程中出现的震荡现象。即超平面围着一个中心,忽左忽右之类...

Passive Aggressive Perceptron:

修正权值时,增加了一个参数Tt,预测正确时,不需要调整权值,预测错误时,主动调整权值。并可以加入松弛变量的概念,形成其算法的变种。

优点:能减少错误分类的数目,而且适用于不可分的噪声情况。

Tt 有三种计算方法:

a. Tt =  lt / (||Xt||^2)

b. Tt =  min{C, lt / ||Xt||^2}

c.  Tt =  lt / (||Xt||^2 + 1/(2C))

分别对应PA, PA-I, PA-II 算法,三种类型。

Voted Perceptron:

存储和使用所有的错误的预测向量。

优点:实现对高维数据的分类,克服训练过程中的震荡,训练时间比SVM要好。

缺点:不能保证收敛

Confidence Weight:

线性分类器

每个学习参数都有个信任度(概率),信任度小的参数更应该学习,所以会得到更频繁的修改机会。信任度,用参数向量的高斯分布表示。

权值w符合高斯分布N(u, 离差阵),而 由w*x的结果,可以预测其分类的结果。

并对高斯分布(的参数)进行更新。

这种方法能提供分类的准确性,并加快学习速度。其理论依据在在于算法正确的预测概率不小于高斯分布的一个值。

AROW: adaptive regularition of weighted vector

具有的属性:大间隔训练large margin training,置信度权值confidence weight,处理不可分数据(噪声)non-separable

相对于SOP(second of Perceptron),PA, CW, 在噪声情况下,其效果会更好.

Normal herding:

线性分类器

NHerd算法在计算全协方差阵和对角协方差阵时,比AROW更加的积极。

Weight Majority:

每个维度都可以作为一个分类器,进行预测;然后,依据权值,综合所有结果,给出一个最终的预测。

依据最终的预测和实际测量结果,调整各个维度的权值,即更新模型。

易于实施,错误界比较小,可推导。

Voted Perceptron:

存储和使用所有的错误的预测向量。

优点:实现对高维数据的分类,克服训练过程中的震荡,训练时间比SVM要好。

缺点:不能保证收敛

以上Perceptron, PA, CW, AROW, NHerd都是Jubatus分布式在线机器学习 框架能提供的算法。

Jubatus与Mahout的异同?

两者都是针对分布式处理的机器学习算法库,有较强的伸缩性和运行在普通的硬件上。

但Mahout由于mapreduce的架构,对一些比较复杂的机器学习算法还无法及时支持,且对于实时在线处理数据流也支持比较弱。

Jubatus偏重于在线处理方式,具有较高吞吐量和低延迟的特点,这与Jubatus模型的同步和共享能力相关,并且Jubatus是将数据都是在内存中进行处理分析的。

http://en.wikipedia.org/wiki/Jubatus

http://jubat.us/en/

在线机器学习算法及其伪代码相关推荐

  1. 基于实时计算Flink的机器学习算法平台及场景介绍

    作者:高旸(吾与),阿里巴巴高级技术专家 1. 前言 随着互联网"人口红利"的"消耗殆尽",基于"T+1"或者离线计算的机器学习平台及推荐系 ...

  2. 机器学习算法知识总结

    BAT机器学习面试系列 1.请简要介绍下SVM. SVM,全称是support vector machine,中文名叫支持向量机.SVM是一个面向数据的分类算法,它的目标是为确定一个分类超平面,从而将 ...

  3. 在线机器学习FTRL(Follow-the-regularized-Leader)算法介绍

    现在特别是像做在线学习和CTR这块,应用LR是最广泛的.但是批量处理超大规模的数据集和在线数据流时就遇到了问题,FTRL就是google在这样的背景下研发出来的.在处理非光滑正则化项的凸优化问题上性能 ...

  4. 机器学习算法平台alink_Alink漫谈(十二) :在线学习算法FTRL 之 整体设计

    Alink漫谈(十二) :在线学习算法FTRL 之 整体设计 [Toc] 0x00 摘要 Alink 是阿里巴巴基于实时计算引擎 Flink 研发的新一代机器学习算法平台,是业界首个同时支持批式算法. ...

  5. 新兴机器学习算法:在线学习

    1.前言 前面介绍的是对于所有训练样本{(xi,yi)}i=1->n同时进行学习的回归.分类算法.一般来说,在训练样本不同时给定的情况下,比起将所有的训练样本集中起来同时进行学习,把训练样本逐个 ...

  6. 大疆2019校招提前批机器学习算法工程师在线笔试题目回忆版

    最后还涉及到两道16分的在线编程题目,但是我忘记了,故没有列出来,望大家原谅2333. 大疆2019年校招提前批机器学习算法工程师B卷题目回忆版 1 考察关于各种激活函数 sigmoid.tanh.r ...

  7. 机器学习算法-KMeans聚类算法解析及伪代码实现。

    机器学习算法-KMeans聚类算法解析及伪代码实现. 徐小狗在文末附上了几条大神们关于KMeans聚类算法的博文,欲详细研究请前往浏览~ 作为初学者,许多地方可能笨拙或有误,希望有大神看到后给予优化和 ...

  8. 从零实现来理解机器学习算法:书籍推荐及障碍的克服

     从零实现来理解机器学习算法:书籍推荐及障碍的克服 发表于2015-09-10 16:16| 1261次阅读| 来源Machine Learning Mastery| 2 条评论| 作者Jason ...

  9. 【机器学习基础】数学推导+纯Python实现机器学习算法24:LightGBM

    Python机器学习算法实现 Author:louwill Machine Learning Lab 第17讲我们谈到了竞赛大杀器XGBoost,本篇我们来看一种比XGBoost还要犀利的Boosti ...

最新文章

  1. 《人件集》阅读笔记第一篇
  2. python sanic 向别的服务器发送post请求_Sanic框架请求与响应实例分析
  3. 有点烦,不知道如何开始准备评测师考试?
  4. numpy T、transpose()函数、swapaxes()函数
  5. LeetCode 986. 区间列表的交集
  6. STM32那点事之构建工程模板
  7. MVVM和MVC有什么区别
  8. magento 问题解答 FQA
  9. 使用强大的 Mockito 来测试你的代码
  10. 斐讯k1支持千兆吗_千兆宽带如何使用?看这里!
  11. Codeforces Round #479 (Div. 3) F. Consecutive Subsequence (简单dp)
  12. 天线理论巴拉尼斯_天线学习类图书推荐 - 欧源通天线厂家
  13. SQL SEVER select对象名无效
  14. 婴儿电动摇篮车摇篮床单芯片蓝牙芯片IC方案
  15. 钰泰ETA8113,ETA8120,ETA8121降压转换器,2A/3A电流,OVP保护
  16. 读取生产环境go语言的最佳实践展示
  17. Java环境安装步骤
  18. java谷歌填表_chrome自动填表会遮挡input中背景图的问题解决方法
  19. 根据UV风计算风速风向,根据风速与风向计算UV风
  20. 三国志X威力加强版 解决新武将姓名和列传乱码问题——大五码(BIG5)

热门文章

  1. ls、ls -a、ls -l、ls -al、ll、ll -a区别
  2. windows计算器(calc)按键功能详解
  3. BeagleBone Black 打开CAN总线
  4. 电除尘器 matlab,基于MATALAB的静电除尘电源技术仿真
  5. 布袋除尘器过滤风速多少_布袋除尘器-布袋除尘器过滤风速是指的什么?-宏大除尘设备...
  6. Java按钮监听器ActionListener 事件监听教程.
  7. 0x3f3f3f3f
  8. Android自动生成Shape资源文件,迈出可视化脚手架第一步(上)
  9. python namedtuple用法_Python namedtuple
  10. tensorflow 之tf.Session