机器学习常见算法简介 - 原文链接: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)

卷积是指来自后续层的权重的融合,可用于标记输出层。

  • 优点:当存在非常大型的数据集、大量特征和复杂的分类任务时,卷积神经网络是非常有用的
  • 场景举例:图像识别、文本转语音、药物发现

参考信息

AI - 机器学习常见算法简介(Common Algorithms)的更多相关文章

  1. [Machine Learning] 机器学习常见算法分类汇总

    声明:本篇博文根据http://www.ctocio.com/hotnews/15919.html整理,原作者张萌,尊重原创. 机器学习无疑是当前数据分析领域的一个热点内容.很多人在平时的工作中都或多 ...

  2. paper 12:机器学习常见算法分类汇总

    机器学习无疑是当前数据分析领域的一个热点内容.很多人在平时的工作中都或多或少会用到机器学习的算法.这里南君先生为您总结一下常见的机器学习算法,以供您在工作和学习中参考. 机器学习的算法很多.很多时候困 ...

  3. Spark入门实战系列--8.Spark MLlib(上)--机器学习及SparkMLlib简介

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .机器学习概念 1.1 机器学习的定义 在维基百科上对机器学习提出以下几种定义: l“机器学 ...

  4. RSA算法原理——(1)目前常见加密算法简介

      艾伦·麦席森·图灵在二战期间主要负责破译德国人的密码系统Enigma,破解密码需要大量的计算,图灵深知工欲善其事必先利其器的道理,于是一台叫作CO-LOSSUS的计算机在1943年被研制出来,后来 ...

  5. 机器学习经典算法详解及Python实现--基于SMO的SVM分类器

    原文:http://blog.csdn.net/suipingsp/article/details/41645779 支持向量机基本上是最好的有监督学习算法,因其英文名为support vector  ...

  6. 机器学习 101 Mahout 简介 建立一个推荐引擎 使用 Mahout 实现集群 使用 Mahout 实现内容分类 结束语 下载资源

      机器学习 101 Mahout 简介 建立一个推荐引擎 使用 Mahout 实现集群 使用 Mahout 实现内容分类 结束语 下载资源 相关主题   在信息时代,公司和个人的成功越来越依赖于迅速 ...

  7. 机器学习优化算法之EM算法

    EM算法简介 EM算法其实是一类算法的总称.EM算法分为E-Step和M-Step两步.EM算法的应用范围很广,基本机器学习需要迭代优化参数的模型在优化时都可以使用EM算法. EM算法的思想和过程 E ...

  8. [Evolutionary Algorithm] 进化算法简介

    进化算法,也被成为是演化算法(evolutionary algorithms,简称EAs),它不是一个具体的算法,而是一个“算法簇”.进化算法的产生的灵感借鉴了大自然中生物的进化操作,它一般包括基因编 ...

  9. 常见算法是js实现汇总(转载)

    常见算法是js实现汇总 /*去重*/ <script> function delRepeat(arr){ var newArray=new Array(); var len=arr.len ...

随机推荐

  1. oracle的部分增删查改

    1. 创建表空间 create tablespace (demo)表名 logging datafile( 表空间存放的位置)  ‘D:\app\Administrator\oradata\orcl\ ...

  2. 印度视觉设计师Rishab平面设计作品,简直太美了!

    来自印度的视觉设计师Rishab Jindal(@iamrishabjindal) 你别以为仅仅是视觉上吸引你眼球. 其实融入和宗教和z哲学. 你慢慢品味一下. 这张有点意思 有一种末日丧尸围城的氛围 ...

  3. OO第二次作业总结

    OO~第二次作业总结 连续三周的电梯作业结束了,总的来说这三次作业做的还算平稳,既没有被刀,也没有刀中别人.那么接下来开始谈谈我对这三次作业的认识. 一.设计策略 我三次作业的设计思路基本上是相同的, ...

  4. linux下安装srilm

    1.安装相关依赖库 a.c/c++ compiler:编译器gcc 3.4.3及以上版本   b.GNU make:构建和管理工程的工具,解释Makefile里的指令,描述了整个工程所有文件的编译顺序 ...

  5. 解决Xcode8模拟器无法删除应用的问题

    关闭模拟器的​3DTouch.Hardware​ →Touch Pressure→Use Trackpad Force.

  6. Eclipse 安装 AmaterasUML 插件

    网上很多Eclipse 安装UML插件教程,可能对高版本Eclipse都无法安装成功,本文提供的安装方式,亲测可用. 一.安装GEF插件 1.打开eclipse官网 https://www.eclip ...

  7. 小白的CTF学习之路7——内存与硬盘

    前天去网吧跟朋友包宿,导致昨天一整天都报废,今天早上研究了一下nethunter导致手机成功变砖,感冒不停地咳嗽,这些理由应该足够我前两天拖更了吧,下面开始正题 磁盘学习路线 虚拟缓存 虚拟内存 节约 ...

  8. k8s storageClass对接nfs

    前提:已存在一个nfs服务 192.168.137.11:/home/nfs_data 下面以rbac方式对接nfs 1.创建/root/k8s-nfs-rbac/serviceaccount.yam ...

  9. SFTP文件服务器的搭建

    由于公司项目的需要,需要自己搭建一个SFTP文件服务器,来实现不同IP服务器之间文件的传输: 应用的场景:由于需要缓解服务器的压力,需要对服务进分离,分别放置在不同IP服务器上: 首先提供一个SFTP ...

  10. mvc 路由伪静态实现

    很多网站都采用伪静态,例如以html.shtml等结尾的url,mvc的路由可以轻松实现. 配置路由 默认路由配置 添加伪静态路由 mvc的路由原理是从上往下匹配的,所以只需要在后面添加自己配置的路由 ...