adaboost.zip MathWork地址
PRML-PRMLT-v2.2-1-gbaac49f.zip MathWork地址
优先使用第一个工具箱

第一个工具箱中的函数介绍

两个分类算法

  • 工具箱中包含有2个用于多分类的adaboost分类器,AdaBoost_samme.m,使用M1算法,这个算法是Ji Zhu, Saharon Rosset, Hui Zou and Trevor Hastie在2006年1月12日的论文“Multi-class AdaBoost”中提到的。
  • 工具箱中的AdaBoost_mult.m使用多个2分类器的组合来解决问题。例如,我们常见的3分类器应用2分类的情况的话,分类情况如图1所示

image.png
图1. 使用2分类组合得到3分类
最后,我们将这3种情况得到的结果做一个投票或者平均,就得到了3分类的结果。

弱分类器

Boosting分类器是通过一系列的弱分类学习器来工作的,在这个工具箱中提供了两个弱学习分类器:

  • decision_stump.m是单节点的决策树桩分类器

image.png
图2. 决策树桩

  • two_level_decision_tree.m是一个有3个节点的两层决策树,如图3所示

image.png
图3. 两层决策树

帮助函数

  • train_stump_2.m是用决策树桩弱分类器达到2分类的函数
  • train_stump_N.m是通过决策树桩分类器达到N分类的函数
  • save_ababoost_model.m将训练得到的模型存入CSV文件
  • load_adaboost_model.m将模型从CSV文件导入

    示例函数

  • demo_adaboost_mult_with_decision_stumps.m使用决策树桩弱分类达到AdaBoost_mult多分类

  • demo_adaboost_mult_with_decision_trees.m使用两层决策树达到AdaBoost_mult多分类
  • demo_adaboost_sammy_with_decision_stump.m使用决策树桩弱分类器达到AdaBoost_samme多分类
  • demo_adaboost_sammy_with_decision_trees.m使用两层决策树达到AdaBoost_samme多分类

    函数学习

    demo_adaboost_mult_with_decision_stumps.mdemo_adaboost_mult_with_decision_stumps.html

    demo_adaboost_mult_with_decision_trees.m

    demo_adaboost_mult_with_decision_trees.html

    demo_adaboost_sammy_with_decision_stump.m

    demo_adaboost_sammy_with_decision_stump.html

    demo_adaboost_sammy_with_decision_trees.m

    demo_adaboost_sammy_with_decision_trees.html