AI - 机器学习常见算法简介(Common Algorithms)
机器学习常见算法简介 - 原文链接:http://usblogs.pwc.com/emerging-technology/machine-learning-methods-infographic/
应该使用哪种机器学习算法?
很大程度上依赖于可用数据的性质和数量以及每一个特定用例中你的训练目标。
不要使用最复杂的算法,除非其结果值得付出昂贵的开销和资源。
这里给出了一些最常见的算法,按使用简单程度排序。
1. 决策树(DT,Decision Trees)
在进行逐步应答过程中,典型的决策树分析会使用分层变量或决策节点,例如,可将一个给定用户分类成信用可靠或不可靠。
- 优点:擅长对人、地点、事物的一系列不同特征、品质、特性进行评估
- 场景举例:基于规则的信用评估、赛马结果预测

2. 支持向量机(SVM,Support Vector Machine)
基于超平面(hyperplane),支持向量机可以对数据群进行分类。
- 优点:支持向量机擅长在变量 X 与其它变量之间进行二元分类操作,无论其关系是否是线性的
- 场景举例:新闻分类、手写识别

3. 回归(Regression)
回归可以勾画出因变量与一个或多个因变量之间的状态关系。
在这个例子中,将垃圾邮件和非垃圾邮件进行了区分。
- 优点:回归可用于识别变量之间的连续关系,即便这个关系不是非常明显
- 场景举例:路面交通流量分析、邮件过滤

4. 朴素贝叶斯分类(Naive Bayes Classification)
朴素贝叶斯分类器用于计算可能条件的分支概率。每个独立的特征都是「朴素」或条件独立的,因此它们不会影响别的对象。
例如,在一个装有共 5 个黄色和红色小球的罐子里,连续拿到两个黄色小球的概率是多少?从图中最上方分支可见,前后抓取两个黄色小球的概率为 1/10。
朴素贝叶斯分类器可以计算多个特征的联合条件概率。
- 优点:对于在小数据集上有显著特征的相关对象,朴素贝叶斯方法可对其进行快速分类
- 场景举例:情感分析、消费者分类

5. 隐马尔可夫模型(Hidden Markov model)
显马尔可夫过程是完全确定性的——一个给定的状态经常会伴随另一个状态。交通信号灯就是一个例子。
相反,隐马尔可夫模型通过分析可见数据来计算隐藏状态的发生。随后,借助隐藏状态分析,隐马尔可夫模型可以估计可能的未来观察模式。
在本例中,高或低气压的概率(这是隐藏状态)可用于预测晴天、雨天、多云天的概率。
- 优点:容许数据的变化性,适用于识别(recognition)和预测操作
- 场景举例:面部表情分析、气象预测

6. 随机森林(Random forest)
随机森林算法通过使用多个带有随机选取的数据子集的树(tree)改善了决策树的精确性。
本例在基因表达层面上考察了大量与乳腺癌复发相关的基因,并计算出复发风险。
- 优点:随机森林方法被证明对大规模数据集和存在大量且有时不相关特征的项(item)来说很有用
- 场景举例:用户流失分析、风险评估

7. 循环神经网络(Recurrent neural network,RNN)
在任意神经网络中,每个神经元都通过 1 个或多个隐藏层来将很多输入转换成单个输出。
循环神经网络(RNN)会将值进一步逐层传递,让逐层学习成为可能。换句话说,RNN 存在某种形式的记忆,允许先前的输出去影响后面的输入。
- 优点:循环神经网络在存在大量有序信息时具有预测能力
- 场景举例:图像分类与字幕添加、政治情感分析

8. 长短期记忆(Long short-term memory,LSTM)与门控循环单元神经网络(gated recurrent unit nerual network,GRU)
早期的 RNN 形式是会存在损耗的。
尽管这些早期循环神经网络只允许留存少量的早期信息,新近的长短期记忆(LSTM)与门控循环单元(GRU)神经网络都有长期与短期的记忆。
换句话说,这些新近的 RNN 拥有更好的控制记忆的能力,允许保留早先的值或是当有必要处理很多系列步骤时重置这些值,这避免了「梯度衰减」或逐层传递的值的最终 degradation。
LSTM 与 GRU 网络使得我们可以使用被称为「门(gate)」的记忆模块或结构来控制记忆,这种门可以在合适的时候传递或重置值。
- 优点:长短期记忆和门控循环单元神经网络具备与其它循环神经网络一样的优点,但因为它们有更好的记忆能力,所以更常被使用
- 场景举例:自然语言处理、翻译

9. 卷积神经网络(convolutional neural network,CNN)
卷积是指来自后续层的权重的融合,可用于标记输出层。
- 优点:当存在非常大型的数据集、大量特征和复杂的分类任务时,卷积神经网络是非常有用的
- 场景举例:图像识别、文本转语音、药物发现

参考信息
- 图解机器学习的常见算法:https://mp.weixin.qq.com/s/K97zUqnp-DDs4qHEeLWWrQ
- 初学者如何选择合适的机器学习算法:http://mp.weixin.qq.com/s/doajj7phcbLa6I_h_c8paA
- 经验之谈:如何为你的机器学习问题选择合适的算法:https://mp.weixin.qq.com/s/deh0RvpfjCO_RZF7FsrM7Q
AI - 机器学习常见算法简介(Common Algorithms)的更多相关文章
- [Machine Learning] 机器学习常见算法分类汇总
声明:本篇博文根据http://www.ctocio.com/hotnews/15919.html整理,原作者张萌,尊重原创. 机器学习无疑是当前数据分析领域的一个热点内容.很多人在平时的工作中都或多 ...
- paper 12:机器学习常见算法分类汇总
机器学习无疑是当前数据分析领域的一个热点内容.很多人在平时的工作中都或多或少会用到机器学习的算法.这里南君先生为您总结一下常见的机器学习算法,以供您在工作和学习中参考. 机器学习的算法很多.很多时候困 ...
- Spark入门实战系列--8.Spark MLlib(上)--机器学习及SparkMLlib简介
[注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .机器学习概念 1.1 机器学习的定义 在维基百科上对机器学习提出以下几种定义: l“机器学 ...
- RSA算法原理——(1)目前常见加密算法简介
艾伦·麦席森·图灵在二战期间主要负责破译德国人的密码系统Enigma,破解密码需要大量的计算,图灵深知工欲善其事必先利其器的道理,于是一台叫作CO-LOSSUS的计算机在1943年被研制出来,后来 ...
- 机器学习经典算法详解及Python实现--基于SMO的SVM分类器
原文:http://blog.csdn.net/suipingsp/article/details/41645779 支持向量机基本上是最好的有监督学习算法,因其英文名为support vector ...
- 机器学习 101 Mahout 简介 建立一个推荐引擎 使用 Mahout 实现集群 使用 Mahout 实现内容分类 结束语 下载资源
机器学习 101 Mahout 简介 建立一个推荐引擎 使用 Mahout 实现集群 使用 Mahout 实现内容分类 结束语 下载资源 相关主题 在信息时代,公司和个人的成功越来越依赖于迅速 ...
- 机器学习优化算法之EM算法
EM算法简介 EM算法其实是一类算法的总称.EM算法分为E-Step和M-Step两步.EM算法的应用范围很广,基本机器学习需要迭代优化参数的模型在优化时都可以使用EM算法. EM算法的思想和过程 E ...
- [Evolutionary Algorithm] 进化算法简介
进化算法,也被成为是演化算法(evolutionary algorithms,简称EAs),它不是一个具体的算法,而是一个“算法簇”.进化算法的产生的灵感借鉴了大自然中生物的进化操作,它一般包括基因编 ...
- 常见算法是js实现汇总(转载)
常见算法是js实现汇总 /*去重*/ <script> function delRepeat(arr){ var newArray=new Array(); var len=arr.len ...
随机推荐
- git学习笔记:常用命令总结
本文根据廖雪峰的博客,记录下自己的学习笔记.主要记录常用的命令,包括仓库初始化.添加文件.提交修改.新建分支.内容暂存.分支管理.标签管理等内容. git是分布式版本控制系统. 首先是安装,从官网下载 ...
- 【机器学习】随机森林 Random Forest 得到模型后,评估参数重要性
在得出random forest 模型后,评估参数重要性 importance() 示例如下 特征重要性评价标准 %IncMSE 是 increase in MSE.就是对每一个变量 比如 X1 随机 ...
- IntelliJ IDEA2017 + tomcat 即改即生效 实现热部署
https://www.cnblogs.com/1024zy/p/6344000.html
- C++ 使用命名规范
刚开始正式学习C++, 之前写了一个C++ 的小程序,但是并没有注意命名规范之类的.这一次重写一个类似的程序,再加上这几天学习 c++Prime(发现好喜欢这本书.虽然看的很慢,每一小节都感是满满的干 ...
- keras常见参数input_dim、input_length理解
在看keras文档embedding层的时候,不太理解其中的input_dim 和input_length 这两个参数,查阅了一下资料,记录下来. keras.layers.Embedding(inp ...
- 我的Unity学习笔记之——Unity中从网站下载ab资源+下载存储一条龙
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Net ...
- UE4行为树
这是 UE4中行为树编辑器 中可用的默认节点.取决于开发项目的不同(如射击游戏),可能会有更多节点.这里介绍五种行为树节点类型: 节点类型 描述 Composite(流程控制节点) 这种节点定义一 ...
- nginx报错:./configure: error: C compiler cc is not found, gcc 是已经安装了的
源码安装nginx报错,找不到gcc,但是实际上gcc是存在的,如下: # ./configure checking for OS + Linux -.el7.x86_64 x86_64 checki ...
- ie9 css文件大小限制
使用webpack生成CSS对于一些有趣的定义很有趣.不幸的是,当你拥有一个大型应用程序并且需要IE9支持时,乐趣就会停止,因为IE9会忽略你生成的CSS包中的大于4000个选择器的部分.解决方案是将 ...
- lucene之Field属性的解释
Field类 数据类型 Tokenized是否分词 Indexed 是否索引 Stored 是否存储 说明 StringField(FieldName, FieldValue,Store.YES)) ...