1. 随机森林优缺点
随机森林(RF)是Bagging的一个扩展变体。RF在以决策树为基分类器进行集成的基础上,进一步在决策树的训练过程中引入了随机属性选择。

Bagging就是对数据集训练多个基分类器,然后将基分类器得到的结果进行投票表决作为最终分类的结果。基分类器在构建过程中需要尽可能保证训练出的基分类器有比较大的差异性,这就需要用对训练样本集进行采样,不同的基分类器训练不同的样本集。但是样本过少会导致基分类器的性能较差,我们可以通过使用相互有交叠的采样子集。

具体来说,传统的决策树在选择划分属性时通过对当前结点的属性集合计算信息增益,选择信息增益最大的属性作为划分属性。而在随机森林中,对基决策树的每一个结点,先从该结点的属性集合中随机选择一个包含k个属性的子集,然后再从这个子集中选择一个最优属性进行划分。这里的参数k控制随机性的引入程度,若k=dk=d,则与传统决策树相同;一般来说,k=log2dk=log2d。

那么,随机森林有什么优点呢? 
1. 简单,容易实现,计算开销小,并且它在很多现实任务中展现出来了强大的性能。它相对于Bagging能够收敛于更小的泛化误差,且训练效率要优于Bagging,被誉为“代表集成学习技术水平的方法”。 
2、它能够处理很高维度(feature很多)的数据,并且不用做特征选择 
PS:特征子集是随机选择的 
3、在训练完后,它能够给出哪些feature比较重要 
PS:http://blog.csdn.NET/keepreder/article/details/47277517 
4、在创建随机森林的时候,对generlization error使用的是无偏估计,模型泛化能力强 
5、训练速度快,容易做成并行化方法 
PS:训练时树与树之间是相互独立的 
6、 在训练过程中,能够检测到feature间的互相影响 
7、 实现比较简单 
8、 对于不平衡的数据集来说,它可以平衡误差。 
9、如果有很大一部分的特征遗失,仍可以维持准确度。

缺点: 
1、随机森林已经被证明在某些噪音较大的分类或回归问题上会过拟合 
2、对于有不同取值的属性的数据,取值划分较多的属性会对随机森林产生更大的影响,所以随机森林在这种数据上产出的属性权值是不可信的。

2. SVM优缺点
SVM有如下主要几个特点:

(1)非线性映射是SVM方法的理论基础,SVM利用内积核函数代替向高维空间的非线性映射; 
(2)对特征空间划分的最优超平面是SVM的目标,最大化分类边际的思想是SVM方法的核心; 
(3)支持向量是SVM的训练结果,在SVM分类决策中起决定作用的是支持向量。 
(4)SVM 是一种有坚实理论基础的新颖的小样本学习方法。它基本上不涉及概率测度及大数定律等,因此不同于现有的统计方法。从本质上看,它避开了从归纳到演绎的传统过程,实现了高效的从训练样本到预报样本的“转导推理”,大大简化了通常的分类和回归等问题。 
(5)SVM 的最终决策函数只由少数的支持向量所确定,计算的复杂性取决于支持向量的数目,而不是样本空间的维数,这在某种意义上避免了“维数灾难”。 
(6)少数支持向量决定了最终结果,这不但可以帮助我们抓住关键样本、“剔除”大量冗余样本,而且注定了该方法不但算法简单,而且具有较好的“鲁棒”性。这种“鲁棒”性主要体现在: 
①增、删非支持向量样本对模型没有影响; 
②支持向量样本集具有一定的鲁棒性; 
③有些成功的应用中,SVM 方法对核的选取不敏感

两个不足:

(1) SVM算法对大规模训练样本难以实施 
由于SVM是借助二次规划来求解支持向量,而求解二次规划将涉及m阶矩阵的计算(m为样本的个数),当m数目很大时该矩阵的存储和计算将耗费大量的机器内存和运算时间。针对以上问题的主要改进有有J.Platt的SMO算法、T.Joachims的SVM、C.J.C.Burges等的PCGC、张学工的CSVM以及O.L.Mangasarian等的SOR算法 
(2) 用SVM解决多分类问题存在困难 
经典的支持向量机算法只给出了二类分类的算法,而在数据挖掘的实际应用中,一般要解决多类的分类问题。可以通过多个二类支持向量机的组合来解决。主要有一对多组合模式、一对一组合模式和SVM决策树;再就是通过构造多个分类器的组合来解决。主要原理是克服SVM固有的缺点,结合其他算法的优势,解决多类问题的分类精度。如:与粗集理论结合,形成一种优势互补的多类问题的组合分类器。

3. 神经网络优缺点
多层前向BP网络的优点:

网络实质上实现了一个从输入到输出的映射功能,而数学理论已证明它具有实现任何复杂非线性映射的功能。这使得它特别适合于求解内部机制复杂的问题; 
网络能通过学习带正确答案的实例集自动提取“合理的”求解规则,即具有自学习能力; 
网络具有一定的推广、概括能力。

多层前向BP网络的缺点:

BP算法的学习速度很慢,其原因主要有:

由于BP算法本质上为梯度下降法,而它所要优化的目标函数又非常复杂,因此,必然会出现“锯齿形现象”,这使得BP算法低效; 
存在麻痹现象,由于优化的目标函数很复杂,它必然会在神经元输出接近0或1的情况下,出现一些平坦区,在这些区域内,权值误差改变很小,使训练过程几乎停顿; 
为了使网络执行BP算法,不能用传统的一维搜索法求每次迭代的步长,而必须把步长的更新规则预先赋予网络,这种方法将引起算法低效。 
网络训练失败的可能性较大,其原因有:

从数学角度看,BP算法为一种局部搜索的优化方法,但它要解决的问题为求解复杂非线性函数的全局极值,因此,算法很有可能陷入局部极值,使训练失败; 
网络的逼近、推广能力同学习样本的典型性密切相关,而从问题中选取典型样本实例组成训练集是一个很困难的问题。 
难以解决应用问题的实例规模和网络规模间的矛盾。这涉及到网络容量的可能性与可行性的关系问题,即学习复杂性问题; 
网络结构的选择尚无一种统一而完整的理论指导,一般只能由经验选定。为此,有人称神经网络的结构选择为一种艺术。而网络的结构直接影响网络的逼近能力及推广性质。因此,应用中如何选择合适的网络结构是一个重要的问题; 
新加入的样本要影响已学习成功的网络,而且刻画每个输入样本的特征的数目也必须相同; 
网络的预测能力(也称泛化能力、推广能力)与训练能力(也称逼近能力、学习能力)的矛盾。一般情况下,训练能力差时,预测能力也差,并且一定程度上,随训练能力地提高,预测能力也提高。但这种趋势有一个极限,当达到此极限时,随训练能力的提高,预测能力反而下降,即出现所谓“过拟合”现象。此时,网络学习了过多的样本细节,而不能反映样本内含的规律

机器学习总结(四):RF,SVM和NN的优缺点相关推荐

  1. 机器学习(四)——SVM(2)

    http://antkillerfarm.github.io/ 拉格朗日对偶(续) 如果w不满足约束,也就是gi(w)>0g_i(w)>0或hi(w)≠0h_i(w)\ne 0.这时由于L ...

  2. 机器学习(四)SVM之根据相关数据预测交通流量

    根据相关数据预测交通流量 实验内容 准备工作 详细步骤 实验结果 实验内容 我们将建立一个SVM来根据相关数据预测交通流量. 准备工作 我们将要使用的数据集可以在https://archive.ics ...

  3. 机器学习(六)——SVM(4)、学习理论

    http://antkillerfarm.github.io/ 序列最小优化方法(续) 同理: L−y(2)Lv2=Lf2 L-y^{(2)}Lv_2=Lf_2 f2=y(2)(b−E2)+sα1K1 ...

  4. 机器学习(五)——SVM(3)

    http://antkillerfarm.github.io/ 规则化和不可分情况处理(续) 这时候应该允许一些点游离并在模型中违背限制条件(函数间隔大于1).我们设计得到新的模型如下(也称软间隔(S ...

  5. 机器学习(四)——逻辑斯蒂回归(Logistic Regression)

    机器学习(四)--逻辑斯蒂回归(Logistic Regression) 一.算法简介 1.1 概念 二.Logistic回归理论推导 2.1 Logistic回归 2.1.1 参数向量θ 2.2 梯 ...

  6. 机器学习算法 08 —— 支持向量机SVM算法(核函数、手写数字识别案例)

    文章目录 系列文章 支持向量机SVM算法 1 SVM算法简介 1.1 引入 1.2 算法定义 2 SVM算法原理 2.1 线性可分支持向量机 2.2 SVM计算过程与算法步骤(有点难,我也没理解透,建 ...

  7. Coursera公开课笔记: 斯坦福大学机器学习第四课“多变量线性回归(Linear Regression with Multiple Variables)”

    Coursera公开课笔记: 斯坦福大学机器学习第四课"多变量线性回归(Linear Regression with Multiple Variables)" 斯坦福大学机器学习第 ...

  8. DL之NN/Average_Darkness/SVM:手写数字图片识别(本地数据集50000训练集+数据集加4倍)比较3种算法Average_Darkness、SVM、NN各自的准确率

    DL之NN/Average_Darkness/SVM:手写数字图片识别(本地数据集50000训练集+数据集加4倍)比较3种算法Average_Darkness.SVM.NN各自的准确率 目录 数据集下 ...

  9. 斯坦福大学机器学习第四课“逻辑回归(Logistic Regression)”

    斯坦福大学机器学习第四课"逻辑回归(Logistic Regression)" 本次课程主要包括7部分: 1) Classification(分类) 2) Hypothesis R ...

最新文章

  1. 滥用网络爬虫技术,多家公司被查!互金行业风控外包时代终结
  2. python atan_Python
  3. 坚持是一件很难的事情
  4. 【评分】第三次作业-团队展示
  5. Docker 入门(3)Docke的安装和基本配置
  6. 一种基于邻域的聚类算法
  7. 快速配置 Samba 将 Linux 目录映射为 Windows 驱动器
  8. Ajax 实现在WebForm中拖动控件并即时在服务端保存状态数据 (Asp.net 2.0)(示例代码下载)...
  9. WebView详解与简单实现Android与H5互调
  10. 【jQuery笔记Part1】04-webstorm定义活动模板
  11. java 下划线_Java SE 9:“ _”(下划线)更改
  12. [mysql终极优化]之主从复制与读写分离详细设置教程
  13. MOOC:模式识别——贝叶斯决策理论
  14. mysql误删除数据恢复_mysql误删除数据恢复
  15. Office(Word/Excel/PPT)问题集
  16. 微信提现(商户向商家转账)
  17. AR/AP - 借项通知单和贷项通知单的区别
  18. 100天精通Andriod逆向——第2天:Android基础知识和jadx的使用
  19. 高性能Excel操作工具
  20. SAP BOM物料清单详解

热门文章

  1. 【多元统计分析】聚类分析【期末复习】
  2. 我叒玩坏eclipse以后决定把问题记录下来了
  3. vue单页面程序对谷歌GA事件的应用
  4. 3.2.1 体渲染之Ray Casting
  5. 落单的数(Java)
  6. 〖编程初学者的自我修养 - 职业规划篇⑤〗- 利用职业能力模型拆解目标岗位
  7. Python 实例教学_ 04_排序
  8. arm linux 时钟源 信息,Linux学习——ARM芯片时钟体系
  9. 淘宝运营 淘金币的定义 怎样利用淘金币引流 怎样推广
  10. qt中ui的 使用介绍