集成学习(Ensembling Learning)

标签(空格分隔): 机器学习


Adabost

对于一些弱分类器来说,如何通过组合方法构成一个强分类器。一般的思路是:改变训练数据的概率分布(权值分布),针对不同的训练数据分布调用弱学习算法学习一系列的弱分类器,然后将他们组合起来,形成强分类器。
需要解决的问题有:

  • 在每一轮如何改变训练数据的权值或概率分布?
  • 如何将若分类器组合成一个强分类器。

已知数据集\(T = \{(x_{1},y_{1}),(x_{2},y_{2}),..., (x_{n},y_{n}) \}\)

  1. 初始化训练数据集\(T\)的权值分布:\(D_{1} = \{w_{11}, w_{12},..., w_{1n} \}\),则预测的损失函数为:\(J = \sum_{i=1}^{n}w_{1i}L(\hat{y}_{i} - y_{i})\);
  2. 使用带有权值分布的数据集\(D_{1}\)学习,得到一个基本分类器:\(G_{1}(x)\);
  3. 计算分类器\(G_{1}(x)\)在训练数据集上的分类误差率:\(\epsilon_{1} = \sum_{i=1}^{n}w_{1i}I(G_{1}(x_{i}) \neq y_{i})\);(该分类错误率 为)
  4. 计算每个分类器的系数:\(\alpha_{1} = \frac{1}{2}ln\frac{1-\epsilon_{1}}{\epsilon_{1}}\).
  5. 根据下式更新数据集分布\(D_{m}\): (\(w_{mi}\)为第m个分类器中每个数据i的权重)
    \[ w_{mi}= \begin{cases} \frac{w_{mi}}{Z_{m}}e^{-\alpha_{m}}, & \text {$G_{m}(x_{i}) = y_{i}$ } \\ \frac{w_{mi}}{Z_{m}}e^{-\alpha_{m}}, & \text{$G_{m}(x_{i})\neq y_{i}$ } \end{cases} \]
    (通过上式计算,可以使被基本分类器\(G_{m}\)正确分类的样本的权值减小,而错误分类的样本权值增大)
  6. 最终分类器为:\(G(x) = sign(\sum_{m=1}^{M}\alpha_{m}G_{m}(x))\)

梯度提升(Gradient Boosting)

与Adaboost不同的是,每一步的弱预测模型生成都是依据损失函数的梯度方向,则称之为梯度提升。

梯度提升算法首先给定一个目标损失函数,它的定义域是所有可行的弱函数集合(基函数);
提升算法通过迭代的选择一个扶梯度方向上的基函数来逐渐逼近局部极小值。

首先,给定输入向量x和输出变量y组成的若干训练样本\(\{(x_{1}, y_{1}), (x_{2}, y_{2}),...,(x_{n}, y_{n}) \}\),目标是找到近似函数\(\hat{F}(x)\),使得损失函数\(L(y,F(x))\)的损失值最小。

  1. 给定常函数\(F_{0}(x):\) \(F_{0}(x) = argmin_{\gamma}\sum_{i=1}^{n}L(y_{i}, \gamma)\)
  2. 对于m=1 到 M

a. 计算伪残差\(r_{im} = [\frac{\partial L(y_{i}, F(x_{i}))}{\partial F(x_{i})}]_{F(x) = F_{m-1}(x)}\);

b. 使用数据\(\{(x_{i},r_{im})\}_{i=1}^{n}\)计算拟合残差的基函数\(f_{m}(x)\);

c. 计算步长\(\gamma_{m} = argmin_{\gamma}\sum_{i=1}^{n}L(y_{i},F_{m-1}(x_{i}) - \gamma * f_{m}(x_{i}))\);

  1. 更新模型\(F_{m}(x) = F_{m-1}(x) - \gamma_{m}f_{m}(x_{i})\).

集成学习(Ensembling Learning)的更多相关文章

  1. 笔记︱集成学习Ensemble Learning与树模型、Bagging 和 Boosting

    本杂记摘录自文章<开发 | 为什么说集成学习模型是金融风控新的杀手锏?> 基本内容与分类见上述思维导图. . . 一.机器学习元算法 随机森林:决策树+bagging=随机森林 梯度提升树 ...

  2. 【Supervised Learning】 集成学习Ensemble Learning & Boosting 算法(python实现)

    零. Introduction 1.learn over a subset of data choose the subset uniformally randomly (均匀随机地选择子集) app ...

  3. 集成学习中的 stacking 以及python实现

    集成学习 Ensemble learning 中文名叫做集成学习,它并不是一个单独的机器学习算法,而是将很多的机器学习算法结合在一起,我们把组成集成学习的算法叫做“个体学习器”.在集成学习器当中,个体 ...

  4. 集成学习的不二法门bagging、boosting和三大法宝<结合策略>平均法,投票法和学习法(stacking)

    单个学习器要么容易欠拟合要么容易过拟合,为了获得泛化性能优良的学习器,可以训练多个个体学习器,通过一定的结合策略,最终形成一个强学习器.这种集成多个个体学习器的方法称为集成学习(ensemble le ...

  5. [白话解析] 通俗解析集成学习之bagging,boosting & 随机森林

    [白话解析] 通俗解析集成学习之bagging,boosting & 随机森林 0x00 摘要 本文将尽量使用通俗易懂的方式,尽可能不涉及数学公式,而是从整体的思路上来看,运用感性直觉的思考来 ...

  6. 机器学习:集成学习:随机森林.GBDT

    集成学习(Ensemble Learning) 集成学习的思想是将若干个学习器(分类器&回归器)组合之后产生一个新学习器.弱分类器(weak learner)指那些分类准确率只稍微好于随机猜测 ...

  7. 浅谈树模型与集成学习-从决策树到GBDT

    引言   神经网络模型,特别是深度神经网络模型,自AlexNet在Imagenet Challenge 2012上的一鸣惊人,无疑是Machine Learning Research上最靓的仔,各种进 ...

  8. 第七章——集成学习和随机森林(Ensemble Learning and Random Forests)

    俗话说,三个臭皮匠顶个诸葛亮.类似的,如果集成一系列分类器的预测结果,也将会得到由于单个预测期的预测结果.一组预测期称为一个集合(ensemble),因此这一技术被称为集成学习(Ensemble Le ...

  9. 集成学习(ensemble learning)

    集成学习,又称为“多分类器系统”(multi-classifier system).“基于委员会的学习”(committee-based learning)等.基本的想法是结合多个学习器,获得比单一学 ...

随机推荐

  1. 高效的使用Response.Redirect解决一些不必要的问题(转载)

    这篇文章主要介绍了如何高效的使用 Response.Redirect解决一些不必要的问题,需要的朋友可以参考下 介绍: 我正在评估一个 ASP.NET Web 项目应用.它有一些可扩展性问题.意味着当 ...

  2. android 常用命令

    1.查看当前手机界面的 Activity   dumpsys | grep "mFocusedActivity" 查看任务栈 dumpsys | grep "Hist&q ...

  3. flex 右键连接

    var menuItem:ContextMenuItem = new ContextMenuItem("技术支持:中科天宇软件有限公司", true, true); menuIte ...

  4. 利用BAT批处理安装服务程序

    @echo off @echo off set filename=LXServer.exe set servicename=Service1 set Frameworkdc=%SystemRoot%\ ...

  5. C# ZipHelper C#公共类 压缩和解压

    关于本文档的说明 本文档基于ICSharpCode.SharpZipLib.dll的封装,常用的解压和压缩方法都已经涵盖在内,都是经过项目实战积累下来的 1.基本介绍 由于项目中需要用到各种压缩将文件 ...

  6. 关于Win7 64位 mysql 5.7下载安装问题

    1.从官网下载mysql: 网址:http://dev.mysql.com/downloads/mysql/ 这是我们要找的,win7 64位 点击下载: 出现如图所示,我们不必要登录注册,点击红线内 ...

  7. ALTFP_CONVERT IP使用与仿真

    ALTFP_CONVERT IP使用与仿真   近期项目要使用到整型数据转浮点型数据,将16位的整数转换为单精度浮点数(32bit).本打算自己写逻辑实现的,不过考虑到本身项目时间紧,能力也有限,就没 ...

  8. rtsp里面的音频类型,大部分都默认规定了样本大小的。

    从src/audio_output/common.c里面的函数aout_BitsPerSample可知,rtsp里面的音频类型,大部分都默认规定了样本bit大小的.即是,一个音频编码类型,对应一个固定 ...

  9. AR专用汉明码

    增强现实技术(Augmented Reality,简称 AR),是一种实时地计算摄影机影像的位置及角度并加上相应图像.视频.3D模型的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动. ...

  10. MVP+RXJAVA+RecyclerView实现sd卡根目录下的所有文件中的照片加载并显示

    初学Rxjava,目前只能遍历加载指定目录下的所有文件夹中的照片,文件夹中如果还嵌套有文件夹目前还没找到实现方法. 先看mvp目录结构: 很抱歉,没有model. 接下来是view层的接口代码和pre ...