在线机器学习算法及其伪代码
机器学习:需要从已知的数据 学习出需要的模型
在线算法:需要及时处理收集的数据,并给出预测或建议结果,并更新模型
通用的在线学习算法步骤如下:
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/
在线机器学习算法及其伪代码相关推荐
- 基于实时计算Flink的机器学习算法平台及场景介绍
作者:高旸(吾与),阿里巴巴高级技术专家 1. 前言 随着互联网"人口红利"的"消耗殆尽",基于"T+1"或者离线计算的机器学习平台及推荐系 ...
- 机器学习算法知识总结
BAT机器学习面试系列 1.请简要介绍下SVM. SVM,全称是support vector machine,中文名叫支持向量机.SVM是一个面向数据的分类算法,它的目标是为确定一个分类超平面,从而将 ...
- 在线机器学习FTRL(Follow-the-regularized-Leader)算法介绍
现在特别是像做在线学习和CTR这块,应用LR是最广泛的.但是批量处理超大规模的数据集和在线数据流时就遇到了问题,FTRL就是google在这样的背景下研发出来的.在处理非光滑正则化项的凸优化问题上性能 ...
- 机器学习算法平台alink_Alink漫谈(十二) :在线学习算法FTRL 之 整体设计
Alink漫谈(十二) :在线学习算法FTRL 之 整体设计 [Toc] 0x00 摘要 Alink 是阿里巴巴基于实时计算引擎 Flink 研发的新一代机器学习算法平台,是业界首个同时支持批式算法. ...
- 新兴机器学习算法:在线学习
1.前言 前面介绍的是对于所有训练样本{(xi,yi)}i=1->n同时进行学习的回归.分类算法.一般来说,在训练样本不同时给定的情况下,比起将所有的训练样本集中起来同时进行学习,把训练样本逐个 ...
- 大疆2019校招提前批机器学习算法工程师在线笔试题目回忆版
最后还涉及到两道16分的在线编程题目,但是我忘记了,故没有列出来,望大家原谅2333. 大疆2019年校招提前批机器学习算法工程师B卷题目回忆版 1 考察关于各种激活函数 sigmoid.tanh.r ...
- 机器学习算法-KMeans聚类算法解析及伪代码实现。
机器学习算法-KMeans聚类算法解析及伪代码实现. 徐小狗在文末附上了几条大神们关于KMeans聚类算法的博文,欲详细研究请前往浏览~ 作为初学者,许多地方可能笨拙或有误,希望有大神看到后给予优化和 ...
- 从零实现来理解机器学习算法:书籍推荐及障碍的克服
从零实现来理解机器学习算法:书籍推荐及障碍的克服 发表于2015-09-10 16:16| 1261次阅读| 来源Machine Learning Mastery| 2 条评论| 作者Jason ...
- 【机器学习基础】数学推导+纯Python实现机器学习算法24:LightGBM
Python机器学习算法实现 Author:louwill Machine Learning Lab 第17讲我们谈到了竞赛大杀器XGBoost,本篇我们来看一种比XGBoost还要犀利的Boosti ...
最新文章
- 《人件集》阅读笔记第一篇
- python sanic 向别的服务器发送post请求_Sanic框架请求与响应实例分析
- 有点烦,不知道如何开始准备评测师考试?
- numpy T、transpose()函数、swapaxes()函数
- LeetCode 986. 区间列表的交集
- STM32那点事之构建工程模板
- MVVM和MVC有什么区别
- magento 问题解答 FQA
- 使用强大的 Mockito 来测试你的代码
- 斐讯k1支持千兆吗_千兆宽带如何使用?看这里!
- Codeforces Round #479 (Div. 3) F. Consecutive Subsequence (简单dp)
- 天线理论巴拉尼斯_天线学习类图书推荐 - 欧源通天线厂家
- SQL SEVER select对象名无效
- 婴儿电动摇篮车摇篮床单芯片蓝牙芯片IC方案
- 钰泰ETA8113,ETA8120,ETA8121降压转换器,2A/3A电流,OVP保护
- 读取生产环境go语言的最佳实践展示
- Java环境安装步骤
- java谷歌填表_chrome自动填表会遮挡input中背景图的问题解决方法
- 根据UV风计算风速风向,根据风速与风向计算UV风
- 三国志X威力加强版 解决新武将姓名和列传乱码问题——大五码(BIG5)
热门文章
- ls、ls -a、ls -l、ls -al、ll、ll -a区别
- windows计算器(calc)按键功能详解
- BeagleBone Black 打开CAN总线
- 电除尘器 matlab,基于MATALAB的静电除尘电源技术仿真
- 布袋除尘器过滤风速多少_布袋除尘器-布袋除尘器过滤风速是指的什么?-宏大除尘设备...
- Java按钮监听器ActionListener 事件监听教程.
- 0x3f3f3f3f
- Android自动生成Shape资源文件,迈出可视化脚手架第一步(上)
- python namedtuple用法_Python namedtuple
- tensorflow 之tf.Session