机器学习(十一)—常用机器学习算法优缺点对比、适用条件

1、决策树

  适用条件:数据不同类边界是非线性的,并且通过不断将特征空间切分为矩阵来模拟。特征之间有一定的相关性。特征取值的数目应该差不多,因为信息增益偏向于更多数值的特征。

  优点:1.直观的决策规则;2.可以处理非线性特征;3.考虑了变量之间的相互作用。

  缺点:1.容易过拟合(随机森林、剪枝);2.处理缺失数据时的困难;3、数据集中属性间的相关性。

2、SVM

  适用条件:特征空间大,可以处理非线性的特征。

  优点:1、可以处理小样本情况下的机器学习问题;2、可以处理高维特征;3、使用核函数应对非线性特征空间,解决非线性问题;4、分类面不依赖所有数据,只与几个支持向量有关

  缺点:1.对于大量的预测样本,效率会很低;2.需要找合适的核函数。3、对缺失数据敏感

3、LR

  适用条件:数据线性分布;

  优点:1.模型简单,训练速度快;2.逻辑回归广泛应用与工业问题上。

  缺点:1、形式简单,但准确率不是很高;2、依赖所有数据,很难处理数据不平衡问题;3、处理非线性数据较麻烦。逻辑回归在不引入其他方法的情况下,只能处理线性可分的数据,或者进一步说,处理二分类的问题;4、逻辑回归本身无法筛选特征。有时候,我们会用gbdt来筛选特征,然后再上逻辑回归。

4、三者对比:

  模型复杂度:SVM支持核函数,可处理线性非线性问题;LR模型简单,训练速度快,适合处理线性问题;决策树容易过拟合,需要进行剪枝

  损失函数:SVM hinge loss; LR L2正则化; DT adaboost 指数损失

  数据敏感度:SVM添加容忍度对outlier不敏感,只关心支持向量,且需要先做归一化; LR对远点敏感

  数据量:数据量大就用LR,数据量小且特征少就用SVM非线性核

5、神经网络

  适用条件:数据量庞大,参数之间存在内在联系。

  优点:1.并行分布处理能力强;2.提取数据特征;3.逼近复杂的非线性关系。

  缺点:1.需要大量参数;2.学习时间过长;3.不能观察之间的学习过程,输出结果难以解释。

6、随机森林

  优点:1、训练可以高度并行化,对于大数据时代的大样本训练速度有优势;2、能够处理很高维度(feature很多)的数据,并且不用做特征选择;3、可以用于特征选择,给出各个特征的重要性,缩减特征空间维度;4、由于采用了随机采样,训练出的模型的方差小,泛化能力强;5、实现简单,对部分缺失数据不敏感(由于是随机选择样本、随机选择特征)

  缺点:1、在某些噪音比较大的样本集上,RF模型容易陷入过拟合;2、对于有不同取值的属性的数据,取值划分较多的属性会对随机森林产生更大的影响,所以随机森林在这种数据上产出的属性权值是不可信的。

7、Adaboost

  优点:1、Adaboost作为分类器时,分类精度很高。;2、在Adaboost的框架下,可以使用各种回归分类模型来构建弱学习器,不用对特征进行筛选,非常灵活。 3、不容易发生过拟合。

  缺点:1、对异常样本敏感,异常样本在迭代中可能会获得较高的权重,影响最终的强学习器的预测准确性。2、由于弱学习器之间存在依赖关系,难以并行训练数据。不过可以通过自采样的SGBT来达到部分并行。

8、GBDT

  优点:1、可以灵活处理各种类型的数据,包括连续值和离散值,处理分类和回归问题;2、 在相对少的调参时间情况下,预测的准备率也可以比较高。这个是相对SVM来说的;3、可以用于筛选特征。

4、使用一些健壮的损失函数,对异常值的鲁棒性非常强。比如 Huber损失函数和Quantile损失函数。

  缺点:1、由于弱学习器之间存在依赖关系,难以并行训练数据。不过可以通过自采样的SGBT来达到部分并行。

参考文献:https://blog.csdn.net/cppjava_/article/details/68922113

  https://www.jianshu.com/p/169dc01f0589

原文地址:https://www.cnblogs.com/eilearn/p/9047070.html

时间: 2024-10-29 18:47:56

机器学习(十一)—常用机器学习算法优缺点对比、适用条件的相关文章

机器学习常见算法优缺点总结

机器学习常见算法优缺点总结 K近邻:算法采用测量不同特征值之间的距离的方法进行分类. 优点: 1.简单好用,容易理解,精度高,理论成熟,既可以用来做分类也可以用来做回归: 2.可用于数值型数据和离散型数据: 3.训练时间复杂度为O(n):无数据输入假定: 4.对异常值不敏感 缺点: 1.计算复杂性高:空间复杂性高: 2.样本不平衡问题(即有些类别的样本数量很多,而其它样本的数量很少): 3.一般数值很大的时候不用这个,计算量太大.但是单个样本又不能太少 否则容易发生误分. 4.最大的缺点是无法给

台大林轩田机器学习课程笔记----机器学习初探及PLA算法

机器学习初探 1.什么是机器学习 学习指的是一个人在观察事物的过程中所提炼出的技能,相比于学习,机器学习指的就是让计算机在一堆数据中通过观察获得某些经验(即数学模型),从而提升某些方面(例如推荐系统的精度)的性能(可测量的). 2.机器学习使用的条件 需要有规则可以学习 有事先准备好的数据 编程很难做到 3.机器学习所组成的元素 输入X 输出 Y 目标函数f:X->Y 数据(训练集):D={(x1,y1),(x2,y2),-.(xn,yn)}假设(skill):g:X->Y 4.如何使用机器学

Mahout机器学习平台之聚类算法详细剖析(含实例分析)

第一部分: 学习Mahout必须要知道的资料查找技能: 学会查官方帮助文档: 解压用于安装文件(mahout-distribution-0.6.tar.gz),找到如下位置,我将该文件解压到win7的G盘mahout文件夹下,路径如下所示: G:\mahout\mahout-distribution-0.6\docs 学会查源代码的注释文档: 方案一:用maven创建一个mahout的开发环境(我用的是win7,eclipse作为集成开发环境,之后在Maven Dependencies中找到相应

机器学习14种常见算法

最近收到一封公司内部邮件,说,有个机器人程序--**小助手,上线(不知道哪个部门写的),让大家没事的时候,测试,顺便让程序学习一下,超过 50 条聊天,有抽奖机会~我大概试了一下,有点无语,这写得是个神马玩意啊,这么烂,基本聊不上 3 句,最多也就是,"你是谁","多大了",即便我顺着程序说,也是驴唇不对马嘴~你要是让程序学习,互联网这么大,还用得着让人来吗,即便让人来,自己也得差不多才行啊,连个雏形都没有,还好意思让大家测试,美其名曰:让程序学习~ 机器学习无疑是

【机器学习基础】机器学习算法的分类——关于如何选择机器学习算法和适用解决的问题

引子 系统的学习机器学习课程让我觉得受益匪浅,有些基础问题的认识我觉得是非常有必要的,比如机器学习算法的类别. 为什么这么说呢?我承认,作为初学者,可能无法在初期对一个学习的对象有全面而清晰的理解和审视,但是,对一些关键概念有一个初步并且较为清晰的认识,有助于让我们把握对问题的认识层次,说白了,就是帮助我们有目的的去学习心得知识,带着问题去学习,充满对解决问题的动力去实验,我觉得这种方式是有益并且良性的. 之前,我遇到过很多这方面的问题,可能出于对问题分析不够,在寻找解决的问题的方法或者模型的时

分享《Python机器学习—预测分析核心算法》高清中文版PDF+高清英文版PDF+源代码

下载:https://pan.baidu.com/s/1sfaOZmuRj14FWNumGQ5ahw 更多资料分享:http://blog.51cto.com/3215120 <Python机器学习-预测分析核心算法>高清中文版PDF+高清英文版PDF+源代码高清中文版,338页,带目录和书签,文字能够复制粘贴.高清英文版,361页,带目录和书签,文字能够复制粘贴.中英文两版对比学习.配套源代码.经典书籍,讲解详细. 其中,高清中文版如图所示: 原文地址:http://blog.51cto.c

《Python机器学习—预测分析核心算法》高清中文版PDF+高清英文版PDF+源代码

资源链接:https://pan.baidu.com/s/1J61jH-fqwGceoId6F8mr5Q<Python机器学习-预测分析核心算法>高清中文版PDF+高清英文版PDF+源代码高清中文版,338页,带目录和书签,文字能够复制粘贴.高清英文版,361页,带目录和书签,文字能够复制粘贴.中英文两版对比学习.配套源代码.经典书籍,讲解详细.其中,高清中文版如图所示: 原文地址:http://blog.51cto.com/14063572/2317037

分享《Python机器学习—预测分析核心算法》+PDF+源码+Michael Bowles+沙嬴

下载:https://pan.baidu.com/s/1JnyeiZwh74MIWo1LB4pIqA 更多资料分享:http://blog.51cto.com/14087171 <Python机器学习-预测分析核心算法>高清中文版PDF+高清英文版PDF+源代码高清中文版,338页,带目录和书签,文字能够复制粘贴.高清英文版,361页,带目录和书签,文字能够复制粘贴.中英文两版对比学习.配套源代码.经典书籍,讲解详细. 其中,高清中文版如图所示: 原文地址:http://blog.51cto.

基于Spark的机器学习实践 (九) - 聚类算法

0 相关源码 1 k-平均算法(k-means clustering)概述 1.1 回顾无监督学习 ◆ 分类.回归都属于监督学习 ◆ 无监督学习是不需要用户去指定标签的 ◆ 而我们看到的分类.回归算法都需要用户输入的训练数据集中给定一个个明确的y值 1.2 k-平均算法与无监督学习 ◆ k-平均算法是无监督学习的一种 ◆ 它不需要人为指定一个因变量,即标签y ,而是由程序自己发现,给出类别y ◆ 除此之外,无监督算法还有PCA,GMM等 源于信号处理中的一种向量量化方法,现在则更多地作为一种聚类