博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
集成(提升)算法:随机森林
阅读量:5349 次
发布时间:2019-06-15

本文共 798 字,大约阅读时间需要 2 分钟。

一.集成算法概述

目的:让机器学习效果更好

 

二.集成方法(基础模型:树模型比较合适)

1.Bagging(并行)

训练多个分类器取平均,并行训练一堆分类器

 

随机森林

随机:数据采样随机(60%-80%有放回随机采样),特征选择随机(60%-80%有放回随机采样)

备注:每棵树数据量和特征数量相同

森林:很多个决策树并行放在一起

 

优势:

  • 能够处理很高维度(feature很多)的数据,并且不用做特征选择
  • 在训练完后,它能够给出哪些feature比较重要
  • 容易做成并行化方法,速度比较快
  • 可以进行可视化展示,便于分析

 

2.Boosting(串行)

从弱学习器开始加强,通过加权来进行训练

(先构造A树,根据残差构造B树)

 

AdaBoost(自适应增强)未完成

自适应:前一个基本分类器分错的样本会得到加强,加权后的全体样本再次被用来训练下一个基本分类器。同时在每一轮中加入一个新的弱分类器,直到达到某个预定的足够小的错误率或达到预先指定的最大迭代次数。

 

根据前一次的分类效果调整数据权重(如果某一个数据在这次分错了,那么在下一次我就会给它更大的权重)

最终的结果:每个分类器根据自身的准确性来确定各自的权重,再合体

 

Xgboost(重要)未完成

得分值计算:叶子节点*权重的和

预测值:

   

目标函数:

   (均方误差)

值的最小化:

    

集成算法的表示:

   

    

正则化的惩罚项:

   

梯度上升的决策树

结构分数(类似吉尼系数一样更加一般的对于树结构进行打分的函数)

 

3.Stacking

聚合多个分类或回归模型(可以分阶段来做)

堆叠各种各样的分类器(KNN,SVM,RF等等)

 

分阶段:第一阶段用不同分类器得出各自结果,第二阶段再用前一阶段结果当成特征训练一个分类器

堆叠在一起确实能使得准确率提升,但是速度是个问题

 

 

转载于:https://www.cnblogs.com/xyp666/p/9136365.html

你可能感兴趣的文章
学习 KJFrameForAndroid
查看>>
使用Cacti监控你的网络(四)- Cacti脚本及模板
查看>>
第一个GUI
查看>>
一道简单的dp题 --- Greenhouse Effect CodeForces - 269B
查看>>
SQLServer之触发器简介
查看>>
CentOS-7 部署Django----安装数据库环境
查看>>
SpringMVC---简单登录例子
查看>>
141. Linked List Cycle
查看>>
spark-submit提示资源不足
查看>>
快速创建一个 Servlet 项目(2)
查看>>
tomee.xml
查看>>
Cisco WebEx设备ssl证书安装指南
查看>>
[bzoj省选十连测推广赛2]T2七彩树
查看>>
Qt Widget 在点击了主窗口右上角的叉叉时候,程序没有结束问题
查看>>
无题,李商隐,哈哈哈,随便写写
查看>>
微信支付(java版本)_支付结果通知
查看>>
LeetCode 476. Number Complement
查看>>
深度解密Go语言之context
查看>>
The postulate written ghd australia outlet
查看>>
windows 7、Windows10 系统目录迁移,修改安装的默认路径:Users,Program Files,ProgramData
查看>>