主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

RobustBoostの調整

RobustBoostアルゴリズムは,学習データにノイズが存在する場合でも,優れた分類予測を実行できます。ただし,RobustBoostパラメーターを既定の設定で使用すると,予測精度が十分ではないアンサンブルが生成される可能性があります。この例では,予測精度を高めるためにパラメーターを調整する方法の1つを示します。

ラベルノイズのあるデータの生成。この例では,観測値あたり20の一様乱数を使用しており,最初の5つの数字の合計が2.5を超えた場合(つまり,平均より大きい場合)には,観測値を1に分類し,それ以外の場合には,0に分類します。

rng (0,“旋风”%的再现性Xtrain =兰德(2000年,20);Ytrain = sum(Xtrain(:,1:5),2) > 2.5;

ノイズを追加するために,分類の10%をランダムに入れ替えます。

idx = randsample(2000、200);Ytrain (idx) = ~ Ytrain (idx);

比較の対象とするために,AdaBoostM1を使用してアンサンブルを作成します。

ada = fitcensemble (Xtrain Ytrain,“方法”“AdaBoostM1”...“NumLearningCycles”, 300,“学习者”“树”“LearnRate”, 0.1);

RobustBoostでアンサンブルを作成します。データの10%は間違って分類されているため,この場合,15%という誤差の目標値は適切です。

rb1 = fitcensemble (Xtrain Ytrain,“方法”“RobustBoost”...“NumLearningCycles”, 300,“学习者”“树”“RobustErrorGoal”, 0.15,...“RobustMaxMargin”1);

誤差の目標値がかなり高い値に設定されている場合,エラーが返されることに注意してください。

非常に楽観的な誤差の目標値0.01をもつアンサンブルを作成します。

而已= fitcensemble (Xtrain Ytrain,“方法”“RobustBoost”...“NumLearningCycles”, 300,“学习者”“树”“RobustErrorGoal”, 0.01);

3つのアンサンブルの再代入誤差を比較します。

图绘制(resubLoss (rb1“模式”“累积”));持有情节(resubLoss而已,“模式”“累积”),“r——”);情节(resubLoss (ada,“模式”“累积”),“g”。);持有;包含(树木的数量);ylabel (“Resubstitution错误”);传奇(“ErrorGoal = 0.15”“ErrorGoal = 0.01”...“AdaBoostM1”“位置”“不”);

图中包含一个坐标轴。轴线包含3个线型对象。这些对象代表ErrorGoal=0.15, ErrorGoal=0.01, AdaBoostM1。

RobustBoostの曲線はすべて,AdaBoostM1の曲線より低い再代入誤差を示しています。誤差の目標値が0.01の曲線は,ほとんどの範囲で最も低い再代入誤差を示しています。

Xtest =兰德(2000年,20);Ytest = sum(Xtest(:,1:5),2) > 2.5;idx = randsample(2000、200);欧美(idx) = ~欧美(idx);图;情节(损失(rb1 Xtest,欧美,“模式”“累积”));持有情节(损失(Xtest而已,欧美,“模式”“累积”),“r——”);情节(损失(ada Xtest,欧美,“模式”“累积”),“g”。);持有;包含(树木的数量);ylabel (测试错误的);传奇(“ErrorGoal = 0.15”“ErrorGoal = 0.01”...“AdaBoostM1”“位置”“不”);

图中包含一个坐标轴。轴线包含3个线型对象。这些对象代表ErrorGoal=0.15, ErrorGoal=0.01, AdaBoostM1。

0.15誤差の目標値がの誤差曲線は,プロットの範囲では最も低い値(最も精度が高い)であることを示しています。AdaBoostM10.15は,誤差の目標値の曲線より誤差が大きくなっています。過度に楽観的な誤差の目標値0.01の曲線は,プロットされたほとんどの範囲において,他の曲線よりも顕著に高い誤差(低い精度)を示しています。

参考

||

関連するトピック