专栏首页人工智能LeadAI监督学习中各算法优缺点及应用场景概览

监督学习中各算法优缺点及应用场景概览

记录一波监督学习算法的应用场景和优缺点。

高斯朴素贝叶斯

场景:该模型常用于性别分类(https://en.wikipedia.org/wiki/Naive_Bayes_classifier#Sex_classification),即通过一些测量的特征,包括身高、体重、脚的尺寸,判定一个人是男性还是女性。

优点:这个模型的优势是处理连续数据,特别当数据是高斯分布时,有一个很好的表现。处理连续数据数值问题的另一种常用技术是通过离散化连续数值的方法。通常,当训练样本数量较少或者是精确的分布已知时,通过概率分布的方法是一种更好的选择。在大量样本的情形下离散化的方法表现最优,因为大量的样本可以学习到数据的分布。

缺点:由于高斯朴素贝叶斯使用的是概率分布估计的方法,不合适在大数据集上应用,因为容易出现欠拟合,在数据分布不准确时或数据样本很大时,表现很差。

决策树

场景:百度到一个相亲用决策树的应用,每个节点是一个评判标准,最后决定是否要嫁/娶。

优点:决策过程接近人的思维习惯,模型容易理解。

缺点:决策树学习方法的准确率不如其他模型,不支持在线学习,有新样本来的时候需要重建决策树,容易产生过拟合现象。(http://m.blog.csdn.net/article/details?id=47616255)

KNN

场景:KNN的应用有分类未知案例的项目(摘自百度百科)。

优点:无需估计参数,简单,易于理解。特别适合于多分类问题(multi-modal,对象具有多个类别标签), KNN比SVM的表现要好(svm更适合二分类)。

缺点:当有偏斜类的情况下,由于算法只计算最近的k个样本,假设小样本总数小于k/2,即使都很近,也会分错。该方法的另一个不足之处是计算量较大,因为对每一个待分类的文本都要计算它到全体已知样本的距离,才能求得它的K个最近邻点。

集成学习之AdaBoost

场景:人脸检测,AdaBoost以弱学习器作为基分类器,并且输入数据,使其通过权重向量进行加权,第一次迭代时所有数据等权重,在后续迭代中,前次迭代分错的数据权重会增大。

优点:它有错误调节能力,分类精度高;在Adaboost的框架下可以使用各种回归分类模型来构建弱学习器,非常灵活;作为简单的二元分类器时,构造简单,结果可理解;不容易发生过拟合。

缺点:对异常样本敏感,异常样本在迭代中可能会获得较高的权重,影响最终的强学习器的预测准确性。

SVM

场景:进行文本的分类

优点:在解决小样本、非线性以及高维模式识别中表现出许多特有的优势,对于非线性的分类问题,可以通过核函数把原来低维的空间中线性不可分的问题映射到高维,变成线性可分的问题进而得以解决。同样,也可以采用SMO的方式,将分解的思维推向极致,用SVM来处理多分类的问题。

缺点:在处理数据上面的时间较慢,复杂度较高,在处理多分类的问题上面存在着不足,还需要在二分类的基础上自己构造多分类相关的算法,代价比较大。

随机梯度下降分类器(SGDC)

场景:图片分类。

优点:普通的梯度下降算法在更新回归系数时要遍历整个数据集,是一种批处理方法,这样训练数据特别忙庞大时,可能出现收敛过程可能非常慢、不能保证找到全局最小值这样的问题。而随机梯度下降分类器能够更好地处理上述问题,更能避免进入局部极小值中。SGDC处理大规模问题表现比较好。

缺点:不太适合用于高精度问题,当处理高精度问题时它的表现很差。

Logistic回归

场景:主要用于危险因素探索(摘自百度百科)

优点:分类时计算量非常小,速度很快,易于理解和实现。他是一个单调上升的函数,具有良好的连续性,不存在不连续点。

缺点:当特征空间很大时,逻辑回归的性能不是很好;容易欠拟合,一般准确度不太高;不能很好地处理大量多类特征或变量;对于非线性特征,需要进行转换;只能处理两分类问题(在此基础上衍生出来的softmax可以用于多分类),且必须线性可分。

本文分享自微信公众号 - 人工智能LeadAI(atleadai),作者:刘开心_8a6c

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-10-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 二、机器学习面试之有必要手推SVM吗?

    上篇文章中,我们介绍了SVM的基本思想,并将其推导成了一个数学问题,今天的任务,就是解决如何求解这个数学问题,同时,回答上篇文章中提出的第二个问题: 如果将正负...

    用户1332428
  • 基于朴素贝叶斯的自然语言分类器

    概述 自然语言分类是指按照预先定义的主题类别,为文档集合中的每个文档确定一个类别。本文将介绍一个限定类别的自然语言分类器的原理和实现。采用Python作为编程语...

    用户1332428
  • SVM原理及推导

    对于二类分类问题,训练集T={(${ x }{ 1 }$,${ y }{ 1 }$),(${ x }{ 2 }$,${ y }{ 2 }$),...,(${ x...

    用户1332428
  • 机器学习(二十五) ——adaboost算法与实现

    机器学习(二十五)——adaboost算法与实现 (原创内容,转载请注明来源,谢谢) 一、概述 当进行监督学习时,除了使用某个分类器外,还可以将各个分类器结...

    用户1327360
  • 机器学习概念总结笔记(三)

    C4.5 算法有如下优点:产生的分类规则易于理解,准确率较高。其缺点是:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。此外,C4....

    serena
  • 网站性能优化实战——从12.67s到1.06s的故事

    Java高级架构
  • 机器学习中的七大经典问题

    这是最有名错误判断,现在的教科书几乎已经不再有这样的结论,但如果看15年、20年前的机器学习教科书,会有一个很有趣的结论:神经网络不能超过三层。这和我们现在说的...

    两只橙
  • 机器学习教材中的 7 大经典问题

    一、神经网络不宜超过三层 这是最有名错误判断,现在的教科书几乎已经不再有这样的结论,但如果看15年、20年前的机器学习教科书,会有一个很有趣的结论:神经网络不能...

    两只橙
  • [Kubernetes](二)Kubernetes核心组件解读(上)

    Kubernetes由两种节点组成:master节点和工作节点,前者是管理节点,后者是容器运行的节点。其中master节点中主要有3个重要的组件,分别是APIS...

    baron
  • 第十四章 无监督学习

    聚类算法(非监督学习算法)。我们将要让计算机学习无标签数据,而不是此前的标签数据。

    tomas家的小拨浪鼓

扫码关注云+社区

领取腾讯云代金券