zoukankan      html  css  js  c++  java
  • 【转载】 机器学习实战

    原文地址:

    https://www.cnblogs.com/steven-yang/p/5686473.html

    -----------------------------------------------------------------------------------------------------------------

    前言

    最近在看Peter Harrington写的“机器学习实战”,这是我的学习笔记,这次是第7章 - 利用AdaBoost元算法提高分类性能。

    这个思路称之为Adaboost算法,是对其它算法组合的一种方式。
    我们可以看出弱算法是同类的算法,也就是说,它们是基于相同的算法只不过参数不同。这样元算法在训练算法的步骤中就好容易控制。

    注:也有其它的的元算法,可以针对不同算法的。

    基本概念

    • 元算法(meta-algorithm),是对其它算法组合的一种方式。也称为集成方法(ensemble method)。
    • 弱算法:准确度较低的算法。元算法通过组合多个弱算法来提高准确率。
    • 强算法:可以认为是组合后的算法。
    • boosting : 是一种元算法,将多个弱算法变成强算法的算法族。除了AdsBoost,还有LPBoost, TotalBoost, BrownBoost, xgboost, MadaBoost, LogitBoost, and others.
    • Adaboost : Adaptive Boosting的简称。一个具体的boosting算法。本章就是介绍这个算法。

    详解Adaboost

    说明:书中弱算法是一个单层决策树算法,返回的是一个二类分类结果(-1, 1)。所以书中Adaboost也是一个二类分类算法。

    Adaboost训练算法

    • 输入
      • 样本数据
      • 弱算法的数量
    • 输出
      • 一个弱算法数组(弱算法参数,弱算法权重)
    • 逻辑
    在一个迭代中(弱算法数量)
        计算当前算法的参数
        计算当前算法的错误率
        计算当前算法的权重
        计算下次样本数据的权重
        计算当前的样本数据错误数,如果是0,退出。

     

     解释:
    假如有1000个sample,有100个sample被分错类,则:

     

     可以看出错误的sample占的比例越小,下次的权重是二次方级数增大。

    Adaboost分类算法

    • 输入
      • 分类数据
      • 弱算法数组
    • 输出
      • 分类结果
    • 逻辑
    在一个迭代中(弱算法数量)
        用当前弱算法计算分类结果$classified_i$
        计算强分类结果(使用下面的公式)
    返回分类结果

    AdaBoost分类器中计算公式

    参考

    -------------------------------------------------------------------------------------

  • 相关阅读:
    typedef void (*funcptr)(void) typedef void (*PFV)(); typedef int32_t (*PFI)();
    STM32 STM32F4 寄存器怎么配置不上, 无法往寄存器写入数据
    GPIO
    JSP和selevt 生命周期详解(JSP的生命周期和select很像,jsp底层就是一个selevt)
    jquery自带的排序方法(js也是)
    GET和POST是HTTP请求的两种基本方法,区别是什么!?
    springboot特性
    restful风格接口类型和优点
    提升必看!!!
    分组函数 partition by 的详解,与order by 区别
  • 原文地址:https://www.cnblogs.com/devilmaycry812839668/p/10830468.html
Copyright © 2011-2022 走看看