通过源码学算法--AdaBoost (CART): RealAdaBoost.m + tree_node_w.m

本文深入探讨AdaBoost算法,通过源码分析`RealAdaBoost.m`和`tree_node_w.m`。`tree_node_w.m`定义了分类树节点类,每个节点作为弱分类器。在`RealAdaBoost.m`中,初始权重分布被设定,并在循环训练过程中不断调整,每次生成一棵CART树,包含4个节点,每个节点对应一个弱分类器。权重分布根据分类结果动态调整并进行归一化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

tree_node_w.m

代表分类树的类结构。很简单,只有5个成员

如果是左树则只有right_constraint有值,如果是右树则只有left_constraint有值

实际上在这里是一个类多用了。

比如一个训练好的最大深度为3(max_split == 3)的CART 树有四个节点(node),每个节点就是该类tree_node_w的一个object,同时每个节点又是一个弱分类器 (weak classifier)

如果循环训练100次(Max_Iter == 100),就有100棵CART树,即400个弱分类器。每个分类器都有对应的权重

function tree_node = tree_node_w(max_split)

tree_node.left_constrain  = [];
tree_node.right_constrain = [];
tree_node.dim             = [];
tree_node.max_split       = max_split;
tree_node.parent         = [];

tree_node = class(tree_node, 'tree_node_w') ;


RealAdaBoost.m

权重分布初始化

  Learners = {};
  Weights = [];
  distr = ones(1, length(Data)) / length(Data);  
  final_hyp = zeros(1, length(Data));


循环训练100次

每次得到一个4节点的CART树(也就是4个弱分类器)

DN_M3:600;DN_A3:988;DN_X3:0;DN_Y3:0;DN_U3:180.469;UP_M:850;UP_A:0UP_X:0;UP_Y:0;UP_U:0;DN_M3:600;DN_A3:983;DN_X3:0;DN_Y3:0;DN_U3:180.352;UP_M2:700;UP_A2:996;UP_X2:-273.822;UP_Y2:331.354;UP_U2:1.11361 DN_M:700;DN_A:826;DN_X:43.173;DN_Y:42.129;DN_U:270.016;DN_X2:43.173;DN_Y2:42.129;DN_U2:270.016;DN_M:700;DN_A:879;DN_X:43.137;DN_Y:41.757;DN_U:270.016 DN_M:700;DN_A:987;DN_X:117.959;DN_Y:153.537;DN_U:179.556;DN_M2:700;DN_A2:987;DN_X2:115.981;DN_Y2:-164.45;DN_U2:179.556;UP_M:600;UP_A:887;UP_M2:500;UP_A2:913;UP_X2:114.367;UP_Y2:665.271;UP_U2:359.945 DN_M:600;DN_A:920;UP_M:700;UP_A:902;UP_X:-344.15;UP_Y:96.6941;UP_U:118.214 S1:750;N1:64;R1:12;D1:-1147;T1:0.862;S2:750;N2:64;R2:12;D2:-1147;T2:0.912 DN_M:700;DN_A:991;DN_X:-8.459;DN_Y:73.486;DN_U:270.965;DN_M2:700;DN_A2:998;DN_X2:119.146;DN_Y2:119.146;DN_U2:119.146;UP_M:720;UP_A:982;UP_X:-481.552;UP_Y:9.20481;UP_U:91.0588;UP_M2:700;UP_A2:989;UP_X2:-553.514;UP_Y2:110.943;UP_U2:90.4118 UP_M:400;UP_A:744;UP_X:-184.879;UP_Y:88.2181;UP_U:224.441;FA :-42;FM:35;FD:-8.93106 DN_M:450;DN_A:570;DN_X:-42.951;DN_Y:135.492;DN_U:0.102;DN_M2:350;DN_A2:463 UP_M:700;UP_A:895;UP_X:100.363;UP_Y:581.49;UP_U:359.845;UP_M2:600;UP_A2:998;UP_X2:-340.689;UP_Y2:357.439;UP_U2:61.38 UP_M:600;UP_A:891;S1:780,N1:64,R1:15,D1:-80.1171,T1:0.858 UP_M:300;UP_A:565;UP_X:-236.777;UP_Y:426.319;UP_U:293.297;S1:780;N1:64;R1:10;D1:-53.3217;T1:0.661 DN_M:800;DN_A:994;DN_M3:800;DN_A3:981 DN_M:700;DN_A:934;DN_M2:700;DN_A2:980 UP_M:500;UP_A:993;UP_X:-138.289;UP_Y:459.667;UP_U:324.76;UP_M2:700;UP_A2:992;UP_X2:-138.289;UP_Y2:459.667;UP_U2:324.76;S1:1000;N1:64;R1:10;D1:-64.0405;T1:0.441 DN_M:980;DN_A:999;DN_X:-104.456,DN_Y:-112.449,DN_U:89.664;DN_M2:980;DN_A2:998;DN_X2:-41.5565,DN_Y2:-99.4215,DN_U2:-168.299 DN_M:700;DN_A:994;DN_X:-11.905;DN_Y:45.031;DN_U:180.828;DN_M2:700;DN_A2:988 DN_M:700;DN_A:986;DN_X:75.273;DN_Y:-26.692;DN_U:158.673;UP_M:900;UP_A:0;UP_X:0;UP_Y:0;UP_U:0;UP_M:800;UP_A:0;UP_X:0;UP_Y:0;UP_U:0;UP_M:800;UP_A:994;UP_X:255.16;UP_Y:488.11;UP_U:270.341 DN_M:600;DN_A:735;DN_X:-24.601;DN_Y:106.466;DN_U:0.832;S1:780;N1:55;R1:10;D1:-134.742;T1:0.823;UP_M:630;UP_A:845;DN_M:600;DN_A:741;DN_X:-24.38;DN_Y:106.582;DN_U:0.832;S1:780;N1:55;R1:10;D1:-135.997;T1:0.804;UP_M:600;UP_A:951;UP_X:-572.846;UP_Y:249.513;UP_U:97.7764 UP_M:700;UP_A:999;UP_X:13.386;UP_Y:2.717;UP_U:359.573;UP_M2:700;UP_A2:999 UP_M:700;UP_A:985;UP_X:457.801;UP_Y:131.872;UP_U:359.467;S1:710;N1:55;R1:10;D1:-97.6416;T1:1.183;S2:710;N2:55;R2:10;D2:-97.2046;T2:0.993;S3:710;N3:55;R3:10,D3:-97.7466,T3:1.133 X:257.198;Y:385.852;U:85.1613; DN_M:700;DN_A:946;DN_X:-162.704;DN_Y:44.091;DN_U:269.83;DN_M2:700;DN_A2:996;DN_X2:15.82;DN_Y2:-51.318;DN_U2:269.83 UP_M:600;UP_A:838;UP_X:-381.147;UP_Y:492.668;UP_U:6.47709;S1:510;N1:64;R1:16;D1:-103.8947;T1:1.506 UP_M:700;UP_A:995;UP_X:-34.718;UP_Y:13.254;UP_U:108.724;DN_M:600;DN_A:861;DN_X:-34.718;DN_Y:13.254;DN_U:108.724 各种类别,比如UP_M,UP_X,UP_U,UP_Y,DN_M,DN_A等等,我现在需要实现每种类型的参数推荐,用随机森林模型怎么样
最新发布
07-15
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值