原文地址:

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分类器中计算公式

参考

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

【转载】 机器学习实战 - 读书笔记(07) - 利用AdaBoost元算法提高分类性能的更多相关文章

  1. 机器学习实战 - 读书笔记(07) - 利用AdaBoost元算法提高分类性能

    前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习笔记,这次是第7章 - 利用AdaBoost元算法提高分类性能. 核心思想 在使用某个特定的算法是, ...

  2. 《机器学习实战第7章:利用AdaBoost元算法提高分类性能》

    import numpy as np import matplotlib.pyplot as plt def loadSimpData(): dataMat = np.matrix([[1., 2.1 ...

  3. 利用AdaBoost元算法提高分类性能

    当做重要决定时,大家可能都会吸取多个专家而不只是一个人的意见.机器学习处理问题时又何尝不是如此?这就是元算法背后的思路.元算法是对其他算法进行组合的一种方式. 自举汇聚法(bootstrap aggr ...

  4. 第七章:利用AdaBoost元算法提高分类性能

    本章内容□ 组合相似的分类器来提髙分类性能□应用AdaBoost算法□ 处理非均衡分类问题

  5. 监督学习——AdaBoost元算法提高分类性能

    基于数据的多重抽样的分类器 可以将不通的分类器组合起来,这种组合结果被称为集成方法(ensemble method)或者元算法(meta-algorithom) bagging : 基于数据随机抽样的 ...

  6. 机器学习实战 - 读书笔记(13) - 利用PCA来简化数据

    前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第13章 - 利用PCA来简化数据. 这里介绍,机器学习中的降维技术,可简化样品数据. ...

  7. 使用 AdaBoost 元算法提高分类器性能

    前言 有人认为 AdaBoost 是最好的监督学习的方式. 某种程度上因为它是元算法,也就是说它会是几种分类器的组合.这就好比对于一个问题能够咨询多个 "专家" 的意见了. 组合的 ...

  8. 第九篇:使用 AdaBoost 元算法提高分类器性能

    前言 有人认为 AdaBoost 是最好的监督学习的方式. 某种程度上因为它是元算法,也就是说它会是几种分类器的组合.这就好比对于一个问题能够咨询多个 "专家" 的意见了. 组合的 ...

  9. 机器学习实战 - 读书笔记(14) - 利用SVD简化数据

    前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第14章 - 利用SVD简化数据. 这里介绍,机器学习中的降维技术,可简化样品数据. 基 ...

随机推荐

  1. 使用Visual Studio快速开发STM32F4-Discovery探索板入门

    本本将主要介绍如何使用Visual Studio创建一个基于STM32F4-Discovery探索板的简单工程. 本文使用以下硬件和软件: ●      Microsoft Visual Studio ...

  2. [LeetCode] 0279. Perfect Squares 完全平方数

    题目 Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9 ...

  3. Makefile学习二

    今天继续对Makefile进行研究,话不多说,进入正题: make常用内嵌函数: 下面利用上面的知识点来实现一个多级目录的Makefile,如下: 多级目录Makefile: 这个例子的目录结构如下: ...

  4. 二叉搜索树(python)

    # -*- coding: utf-8 -*- class BSTNode(object): def __init__(self, key, value, left=None, right=None) ...

  5. 数据分析常用shell命令

    目录 0.vim编辑器 1.awk命令(重要) 1.1 基本语法 1.2 基本用法 1.3 运算符 1.4 内建变量 1.5 其他 1.6 awk是一门变成语言,支持条件判断.数组.循环等功能.所以我 ...

  6. 一次完整的HTTP请求与响应

    本篇介绍的是一次完成的http请求都经过了那些步骤,这些步骤相应的作用又是什么 1.在浏览器端输入网站的url地址 只有知道了一个网站的url地址才能访问到这个网站 2.浏览器查找缓存 浏览器会查找浏 ...

  7. python get/post接口使用

    背景: 使用python调用get post接口,入参.出参都需要转换,在使用时经常会忘记其中的一步,本文用来记录,后面再使用时直接参考使用 代码如下 post: headers = {'Conten ...

  8. ORA-12638: Credential retrieval failed 解决办法

    ORA-12638 ORA-12638: Credential retrieval failed 身份证明检索失败     解决办法:   修改sqlnet.ora文件(位置:$ORACLE_HOME ...

  9. idea添加tomcat和服务添加项目

  10. LightOJ - 1369 - Answering Queries(规律)

    链接: https://vjudge.net/problem/LightOJ-1369 题意: The problem you need to solve here is pretty simple. ...