このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
このトピックでは,バギング,ランダム空间,各种のブースティングなど,统计和机器学习工具箱™でサポートされるアンサンブル习アルゴリズムについて说明し。アルゴリズムアルゴリズム,fitcensemble
、fitrensemble
またはtemplateEnsemble
の名前と値のペアの引数“方法”
を使用して指定できます。学習器のアンサンブルを作成するには,分類の場合はfitcensemble
,回帰の場合はfitrensemble
を使用します。ECOCマルチクラス学習用のアンサンブルバイナリ学習器を指定するには,templateEnsemble
を使用して作成したアンサンブル学習器テンプレートをfitcecoc
に渡します。
引导聚合(バギング)とランダムフォレストの場合は,TreeBagger
も使用できます。
“方法” の値 |
アルゴリズム | サポートされる問題 | 例 |
---|---|---|---|
“包” |
引导聚合(バギング)とランダムフォレスト([1],[2],[3]) | バイナリおよびマルチクラス分類,回帰 | |
“子” |
ランダム部分空間([9]) | バイナリおよびマルチクラス分類 | ランダムランダム分空间の分享 |
“AdaBoostM1” |
バイナリ分類用の適応ブースティング([5],[6],[7],[11]) | バイナリ分類 | |
“AdaBoostM2” |
マルチクラス分類用の適応ブースティング([5]) | マルチクラス分類 | アンサンブル分類の使用によるクラスラベルの予測 |
“GentleBoost” |
ジェントル適応ブースティング([7]) | バイナリ分類 | |
“LogitBoost” |
適応ロジスティック回帰([7]) | バイナリ分類 | |
“LPBoost” |
線形計画ブースティング([13]) | バイナリおよびマルチクラス分類 | 小さいアンサンブルでのLPBoostとTotalBoost |
“LSBoost” |
最小二乗ブースティング([2],[8]) | 回帰 | |
“RobustBoost” |
ロバストブースティング([4]) | バイナリ分類 | robustboostの调整 |
“RUSBoost” |
ランダムアンダーサンプリングブースティング([12]) | バイナリおよびマルチクラス分類 | 不均衡データでの分類 |
“TotalBoost” |
完全補正ブースティング([13]) | バイナリおよびマルチクラス分類 | 小さいアンサンブルでのLPBoostとTotalBoost |
適切なアルゴリズムを選択する方法については,適用するアンサンブル集約法の選択を参照してください。
LPBoost
、TotalBoost
、RobustBoost
など一部のアルゴリズムを使用するには优化工具箱™が必要であることに注意してください。
统计和机器学习工具箱には,バギングおよびランダムフォレスト用に3つのオブジェクトが用意されています。
fitcensemble
によって作成される,分類用のClassificationBaggedEnsemble
fitrensemble
によって作成される,回帰用のRegressionBaggedEnsemble
TreeBagger
によって作成される,分類および回帰用のTreeBagger
TreeBagger
とバギングアンサンブル(ClassificationBaggedEnsemble
およびRegressionBaggedEnsemble
)の违いについては,TreeBaggerとバギングアンサンブルの比較を参照してください。
“引导聚合”(“バギング”)はアンサンブル学習の一種です。データセットに対して決定木などの弱学習器をバギングするには,データセットのブートストラップ複製を多数生成し,この複製に対して決定木を成長させます。N
個の観測値からN
個を復元抽出法で無作為に選択することにより,各ブートストラップ複製を取得します(N
はデータセットのサイズ)。さらに,アンサンブル内のすべての木で各決定分岐の予測子を無作為に選択できます。これはランダムフォレスト[2]と呼ばれる手法で,バギング木の精度が向上することが知られています。既定では,各分岐に対して無作為に選択する予測子の個数は,分類の場合は予測子の個数の平方根,回帰の場合は予測子の個数の3分の1です。モデルに学習をさせた後で関数预测
を使用すると,新しいデータについて学習済みアンサンブルの予測応答を求めることができます。预测
は,個々の木による予測を平均します。
既定では,バギング木の葉ごとの最小観測値数は,分類の場合は1
に,回帰の場合は5
に设定さます。通讯,既定の设定のリーフサイズ使してなりしは,非常に深くますますはは,アンサンブルの予测を高度めるはほとんど最适な设定。多重くの合书。そうすることによってますリーフするによって,学校済みだけでなく,学校やだけでなく,学校习予测の,习やだけでなく,所以习やだけでなく,学校习だけでなくのもれなる,学校や予测のもさますの叶ごとさやだけでなく,学校や予测のにれますだけでなくさずににリーフだけでなくだけでなくず短缩少なくやsの最小観测観测は,templateTree
またはTreeBagger
の名前と値のペアの引数“MinLeafSize”
を使用して制御できます。バギングアンサンブルの作成にfitcensemble
やfitrensemble
を使用した場合は,関数templateTree
を使用して木学習器のオプションを指定することに注意してください。
バギングされた決定木の特徴量のいくつかは固有なアルゴリズムになります。N
個の観測値からN
個を復元抽出すると,決定木ごとに平均37%の観測値が省略されます。このような省略された観測値はout-of-bag“観測値と呼ばれます。TreeBagger
とバギングアンサンブル(ClassificationBaggedEnsemble
およびRegressionBaggedEnsemble
)には,out-of-bag観測値を使用するプロパティとオブジェクト関数があります。これらは,名前がoob
で始まります。
予測力と特徴量の重要度は,関数oobPredict
を使用して推定できます。oobPredict
は,観測値がout-of-bagであるアンサンブル内のすべての木による予測の平均を計算することにより,各観測値についてout-of-bag予測を推定します。
平均out-of-bag誤差の推定には,oobError
(TreeBagger
の場合)またはoobLoss
(バギングアンサンブルの場合)を使用します。これらの関数は,学習に使用したすべての観測値について,out-of-bag予測応答と観測された応答を比較します。out-of-bagの平均は真のアンサンブル誤差の不偏推定量です。
特徴量の重要度のout-of-bag推定を取得するには,OOBPermutedPredictorDeltaError
プロパティ(TreeBagger
の場合)またはoobPermutedPredictorImportance
プロパティ(バギングアンサンブルの場合)を使用します。1変数または 1 列ごとに out-of-bag データが無作為に並べ替えられ、この並べ替えによる out-of-bag 誤差の増加が推定されます。増加がより大きいほど、特徴はより重要になります。したがって、学習の過程で予測力と特徴量の重要度について信頼できる推定が得られるので、バギング アンサンブル用の検定データを提供する必要はありません。
TreeBagger
は,接近
プロパティで近接行列も提供します。あるツリーの同じリーフに2つの観測値が着地するたびに,その近接度は1増加します。正規化するには,これらの近接度をアンサンブル内のすべてのツリーにおいて合計し,ツリーの数で除算します。生成される行列は,対角要素が1に等しく非対角要素が0 ~ 1の範囲にある対称行列です。この行列を使用すると,外れ値である観測値とクラスターを多次元尺度構成法によりデータから検出できます。
バギングバギング使使,以下を参照てください。
TreeBagger
とバギングアンサンブルの比較TreeBagger
とバギングアンサンブル(ClassificationBaggedEnsemble
およびRegressionBaggedEnsemble
)はほとんどの機能が共通していますが,すべてではありません。また,一部の機能は名前が異なります。
バギングアンサンブルにはないTreeBagger
の機能
機能 | TreeBagger プロパティ |
TreeBagger メソッド |
---|---|---|
近接行列の計算 | 接近 |
|
外れ値の計算 | 概要 |
該当なし |
分類マージンの使用による予測子の重要度のout-of-bag推定 | OOBPermutedPredictorDeltaMeanMargin およびOOBPermutedPredictorCountRaiseMargin |
該当なし |
個別に学習させた2つのアンサンブルのマージ | 該当なし | 附加 |
分位点回帰 | 該当なし | quantilePredict ,SmileileError. ,oobQuantilePredict ,oobQuantileError |
アンサンブル作成に対する高配列のサポート | 該当なし | 詳細については,高配列を参照してください。 |
TreeBagger
にはないバギングアンサンブルの機能
機能 | 説明 |
---|---|
ハイパーパラメーターの最適化 | 名前と値のペアの引数“OptimizeHyperparameters” を使用する。 |
学習を高速化するための数値予測子のビン化 | 名前と値のペアの引数“NumBins” を使用する。 |
预测 用のコード生成 |
モデルに学習をさせた後で,新しいデータについてラベルを予測するC / c++コードを生成できます。C / c++コードの生成にはMATLAB编码器™が必要です。詳細については、コード生成の绍介を参照してください。 |
TreeBagger
とバギングアンサンブルにおける名前の違い
機能 | TreeBagger |
バギングアンサンブル |
---|---|---|
予測子ごとの分離基準の貢献度 | DeltaCriterionDecisionSplit プロパティ |
predictorImportance (分類)またはpredictorImportance (回帰)の最初の出力 |
予測子の関連付け | SurrogateAssociation プロパティ |
predictorImportance (分類)またはpredictorImportance (回帰)の2番目の出力 |
予測子の重要度に関するout-of-bag推定 | OOBPermutedPredictorDeltaError プロパティ |
oobPermutedPredictorImportance (分類)またはoobPermutedPredictorImportance (回帰)の出力 |
誤差(誤分類の確率または平均二乗誤差) | 错误 メソッドとoobError メソッドが用意されています。 |
损失 メソッドとoobLoss メソッド(分類),または损失 メソッドとoobLoss メソッド(回帰) |
追加した木の学習とアンサンブルへの追加 | growTrees メソッド |
的简历 メソッド(分類)または的简历 メソッド(回帰) |
ツリーごとの分類マージンの平均 | meanMargin メソッドとoobMeanMargin メソッドが用意されています。 |
边缘 とoobEdge メソッド(分類) |
さらに,モデルの学習と応答の予測を行うときに,2つの重要な違いがあります。
TreeBagger
に誤分類コスト行列を渡した場合,この行列が木に渡されます。fitcensemble
に誤分類コスト行列を渡した場合,この行列を使用してクラスの事前確率が調整されます。その後fitcensemble
は,调整调整された事前と既定のコスト列を木に渡し列既定既定コスト列列列は木コスト列列K
クラスでは(K)的黑眼圈(K)
です。
ClassificationBaggedEnsemble
の损失
および边缘
メソッドとは異なり,TreeBagger
の错误
およびmeanMargin
メソッドは,それぞれのクラスの事前確率について,入力観測値の重みを正規化しません。
ランダム部分空間アンサンブル(子空间
)を使使用しし,判别分享(ClassificationDiscriminant
)またはk最近傍法 (ClassificationKNN
)分類器の精度を向上させます。また,子空间
アンサンブルはすべての予測子をもつアンサンブルよりも少ないメモリを使用し,さらに欠損値(南
)も処理できます。
基本のランダム部分空間アルゴリズムでは以下のパラメーターを使用します。
mは各学習器で標本を取り出す次元(変数)の数です。mの設定には名前と値のペアNPredToSample
を使用します。
dはデータ内の次元数で,X
データ行列の列(予測子)の数を示します。
nはアンサンブル内に存在する学習器の数です。nlearn.
を入力してnを設定します。
基本のランダム部分空間アルゴリズムは以下の手順を実行します。
m予測子のセットを非復元抽出法によりdの候補値から無作為に選択します。
m個の選択された予測子のみを使用して,弱学習器を学習させます。
弱学習器がnになるまで,手順1と2を繰り返します。
弱学習器の分数
予測を平均して予測し,分数
の平均が最も高いカテゴリを分類します。
Dの次元から选択可なのの个の予测子ので,弱学仪がさよう选択できます。“AllPredictorCombinations”
に設定します。この場合,アンサンブルにはnchoosek(大小(X, 2), NPredToSample)
個の弱学習器があります。
関数fitcensemble
は,後続の学習器が前に使用された予測子を使用する確率が下がるように,学習器の予測子を選択した後で予測子の重みを小さくします。このように重み付けを行うと,一様に重み付けするよりも学習器内の予測子が均等に分布される傾向をもちます。
子空间
の使用例は,ランダムランダム分空间の分享を参照してください。
AdaBoostM1
という名前の適応ブースティングは,バイナリ分類のブースティングアルゴリズムとして一般的に利用されています。アルゴリズムでは,学習器に連続的に学習を行わせます。インデックスtをもつすべての学習器について,AdaBoostM1
は重み付き分類誤差を計算します。
ここで
xnは,観測値nの予測子値のベクトルです。
ynは真のクラスラベルです。
htはインデックスtをもつ学習器の予測(仮説)です。
はインジケーター関数です。
は,ステップtにおける観測値nの重みです。
AdaBoostM1
は,次に学習器tによって誤分類された観測値の重みを増加させ,学習器tによって正しく分類された観測値の重みを減少させます。次の学習器t + 1は,更新された重み
をもつデータで学習を行います。
学習が完了した後で,AdaBoostM1
は次の式を使用して新しいデータの予測を計算します。
ここで
は,アンサンブルに存在する弱仮説の重みです。
AdaBoostM1
による学習は,指数損失の逐次最小化と見なすことができます。
ここで
yn∊{1 + 1}は真のクラスラベルです。
wnは最大で1まで正規化される観測値の重みです。
f (xn)∊(-∞,+∞)は予測された分類スコアです。
観測値の重みwnは,fitcensemble
に渡した元の観測値の重みです。
AdaBoostM1
アンサンブル分類の预测
メソッドの2番目の出力は,2つのクラスとN個の観測値のN行2列の行列です。この行列の2列目は常に1列目の負数に等しくなります。预测
メソッドはマルチクラスモデルと一致する2つのスコアを返します。ただし2番目の列は常に最初の列の負数になるため,これは冗長です。
AdaBoostM1
が最もよく使用されるのは,木の決定株(既定の設定)または浅いツリーで使用される場合です。ブースティングされた決定株の性能が低い場合は,最小親ノードサイズを学習データの4分の1に設定します。
既定の設定では,ブースティングアルゴリズムの学習率は1
です。学習率を低い値に設定した場合には,アンサンブル学習率は低くなりますが,最終的には良い結果が得られます。最もよく使用される学習率は,0.1
です。1
より低い学習率を使用することは,“縮小“と呼ばれる場合があります。
AdaBoostM1
の使用例は,コストを考慮して2つの分類モデルを比較する、ECOCマルチクラス学習のアンサンブルテンプレートの作成を参照してください。
AdaBoostM2
という名前の適応ブースティングは,複数クラス用に拡張されたAdaBoostM1
です。重み付き分類誤差の代わりに,AdaBoostM2
ではN個の観測値とKクラスに対して,重み付き疑似損失を使用します。
ここで
ht(xn, k)はステップtでの学習器の予測における信頼性であり,0(まったく信頼できない)から1(信頼性が高い)までの範囲のクラスkで表されます。
は,ステップtにおけるクラスkの観測値の重みです。
ynは真のクラスラベルで,Kの値のいずれかになります。
2番目の合計は,真のクラスyn以外のすべてのクラスを対象としたものです。
疑似損失の解釈は分類誤差より難しいですが,基本的概念は同じです。疑似損失は,アンサンブル内の任意の学習器の分類精度を測定するために使用できます。疑似損失は,通常はAdaBoostM1
の重み付き分類誤差と同じように動作します。ブースティングアンサンブルの最初のいくつかの学習器では,疑似損失の値は低くなります。その後、学習ステップが進むと、アンサンブル学習速度は遅くなり、疑似損失値は 0.5 に接近するほどに増加します。
AdaBoostM2
の使用例については,アンサンブル分類の使用によるクラスラベルの予測を参照してください。
ジェントル適応ブースティング(GentleBoost
,温柔演としても知られていまです)は,AdaBoostM1
とLogitBoost
の機能が結合されています。AdaBoostM1
と同様に,GentleBoost
は指数損失を最小化します。ただし,数値最適化の設定は異なります。LogitBoost
と同様に,すべての弱学習器は回帰モデルを応答値yn∊{1 + 1}に当てはめます。
fitcensemble
はアンサンブルオブジェクトのFitInfo
プロパティに平均二乗誤差を計算して格納します。平均二乗誤差は次の式で求められます。
ここで
は,ステップtにおける観測値の重みです(重みの合計は1)。
ht(xn)は応答値ynに近似された回帰モデルhtの予測です。
個々の学習器の強度が弱くなるに従って,重み付けられた平均二乗誤差は1に近づきます。
GentleBoost
の使用例は,ビン化と並列計算の使用によるECOC分類器の学習の高速化、アンサンブル分類における不均衡データまたは一様ではない誤分類コストの処理を参照してください。
適応ロジスティック回帰(LogitBoost
)もバイナリ分類用の一般的なアルゴリズムです。LogitBoost
はAdaBoostM1
と同じように機能しますが,二項分布からの逸脱度を最小化するという点が異なります。
ここで
yn∊{1 + 1}は真のクラスラベルです。
wnは最大で1まで正規化される観測値の重みです。
f (xn)∊(-∞,+∞)は予測された分類スコアです。
二項分布からの逸脱度により,誤分類の程度が大きい観測値(ynf (xn)が高い負の値になる観測値)への重みの割り当てが低くされます。LogitBoost
を使用すると,クラスが適切に分割されないようなデータに対しても,AdaBoostM1
より高度平面精选达达成できます。
LogitBoost
アンサンブルの学習器tは回帰モデルを応答値にあてはめます。
ここで
y *n∊{0,+ 1}は(1ではなく0に)ラベルを付け直されたクラスです。
pt(xn)は観測値xnがクラス1になる確率を現在のアンサンブルで推定した値です。
fitcensemble
はアンサンブルオブジェクトのFitInfo
プロパティに平均二乗誤差を計算して格納します。平均二乗誤差は次の式で求められます。
ここで
は,ステップtにおける観測値の重みです(重みの合計は1)。
ht(xn)は応答値 に近似された回帰モデルhtの予測です。
値ynの範囲は-∞~ +∞です。そのため,平均二乗誤差には、明確な限界がありません。
LogitBoost
の使用例は,アンサンブル分類に学習をさせる、数値予測子の値のビン化による学習の高速化を参照してください。
線形計画ブースティング(LPBoost
)は,TotalBoost
と同様に,学習セットの最小“マージン”を最大化しようとすることにより,マルチクラス分類を実行します。この試行では最適化アルゴリズム(具体的にはLPBoost
の線形計画法)が使用されます。そのため,LPBoost
やTotalBoost
を使用するには优化工具箱のライセンスが必要です。
分類のマージンは,真のクラスについて予測されたソフト分類“スコア”と,偽のクラスの最大スコアの差を表します。ツリーの場合,葉ノードの分類の“スコア”は,そのノードでの分類の事後確率です。あるノードにおける分類の事後確率とは,分類によって実際にそのノードに達するのに要した学習シーケンスの数を,そのノードまでの学習シーケンスの数で除算した値です。詳細は,保证金
の詳細を参照してください。
最小マージンを最大化するのはなぜでしょうか。まず,汎化誤差(新しいデータでの誤差)は負のマージンが発生する確率です。Schapireと歌手[10]は,負のマージンが発生する確率に関して次のような不等式を確立しました。
ここで,mはマージン,θは任意の正の数値,Vは分類器空間のVapnik-Chervonenkis次元,Nは学習セットのサイズ,δは正の少数です。この不等式は,多数の独立同一分布の学習セットと検定セットに対して確率が1 -δの場合に成立します。この不等式から,汎化誤差を小さくするには,学習セットで観測数を最小化してマージンθより小さくすればよいことがわかります。
LPBoost
は,一連の線形プログラミングの問題によって最小マージンの最大化するよう反復します。同様に,その双対性から,LPBoost
は最大“エッジ”を最小化します。エッジとは重み付けされた平均マージンです(詳細を参照してください)。反復を実行するたびに,問題の制約が増えていきます。そのため,大きな問題に対しては、最適化の問題の制約が非常に多くなり、解決に時間がかかることになります。
LPBoost
は通常,重み付けされた多数の学習器をもつアンサンブルを作成します。この重みは,他の学習器の桁数より小さい桁数です。そのため,重要でないアンサンブルのメンバーをより確実に削除できるようにするため、紧凑的
メソッドではLPBoost
アンサンブルのメンバーを重みの大きい順に並べ替えられます。これにより,removeLearners
メソッドを使用して的重要性が最も低いメンバーをアンサンブルから簡単に削除できるようになります。
LPBoost
の使用例については,小さいアンサンブルでのLPBoostとTotalBoostを参照してください。
最小二乗ブースティング(LSBoost
)はアンサンブル回帰をあてはめます。ステップごとに,アンサンブルは新しい学習器を、実際に観測された応答とこれまでに学習させたすべての学習器を対象に集約された予測との差分にあてはめます。アンサンブルは近似によって平均二乗誤差を最小化します。
LearnRate
パラメーターを渡すことによって,LSBoost
を縮小で使用できます。既定の設定では,このパラメーターは1
に設定されており,アンサンブルは最大速度で学習を行います。LearnRate
を0
から1
までの値に設定した場合は,アンサンブルはすべての新しい学習器をyn- ηf(xn)に当てはめます。ここで,
ynは,観測された応答です。
f (xn)は,これまでに観测値xnについて学習を行ったすべての弱学習器から集約された予測です。
ηは学習率です。
LSBoost
の使用例については,アンサンブル回帰に学習をさせる、ブースティング回帰アンサンブル回帰の最適化およびアンサンブルの正則化を参照してください。
AdaBoostM1
やLogitBoost
などのブースティングアルゴリズムでは,ブースティングのステップごとに誤分類された観測値の重みを増加させます。これらの重みは非常に大きくなる可能性があります。その場合は,ブースティングアルゴリズムが少数の誤分類された観測値に集中して,学習データの大部分が無視されてしまう可能性があります。その結果,平均分類精度が低下します。このような状況では,ロバストブースティング(RobustBoost
)の使用を試すことができます。このアルゴリズムでは,全データ分の重みを少数の誤分類された観測値に割り当ててしまうようなことはほとんど起こりません。そのため,優れた平均分類精度を達成できます。RobustBoost
を使用するには优化工具箱のライセンスが必要です。
AdaBoostM1
やLogitBoost
とは異なり,RobustBoost
では,特定の損失関数を最小化することはありません。代わりに,一定のしきい値を超える分類マージンをもつ観測値の数を最大化します。
RobustBoost
は,時間発展に基づいて学習を行います。このアルゴリズムは,t = 0から始まります。ステップごとに,RobustBoost
は最適化問題を解いて,時間Δtでの肯定的なステップと,それに対応する学習データΔmの平均マージンにおける肯定的な変更を行います。3次のつの条件のいずれかが真の場合に,RobustBoost
は学習を停止し,終了します。
時間tが1に到達する。
ΔtおよびΔmの更新によっては,RobustBoost
が最適化問題の解を求めることができなくなる。
RobustBoost
は,要求した数の学習器を作成できます。
RobustBoost
の結果は,どのような終了条件でも使用できます。交差検証または独立した検定セットを使用することによって,分類精度を推定します。
RobustBoost
で得られる精度を高くするには,関数fitcensemble
で次の3つのパラメーターを調整します。このパラメーターはRobustErrorGoal
、RobustMaxMargin
およびRobustMarginSigma
です。はじめに、RobustErrorGoal
の値を0から1まで変化させます。RobustErrorGoal
について指定できる最大値は,他の2つのパラメーターによって決まります。高すぎる値を指定した場合は,fitcensemble
はエラーメッセージを表示し,RobustErrorGoal
に使用できる値の範囲を示します。
RobustBoost
の使用例については,robustboostの调整を参照してください。
ランダムアンダーサンプリングブースティング(RUSBoost
)は不均衡なデータを分類する場合,つまり,学習データの一部のクラスのメンバーが他のクラスよりはるかに少ない場合に特に効果的です。俄文は下“随机抽样”の略です。このアルゴリズムでは,N(学習データで最もメンバー数が少ないクラスのメンバー数)をサンプリングの基本単位として使用します。これよりメンバー数が多いクラスは,各クラスの観測値の中からN件だけを抽出してアンダーサンプリングされます。つまり,クラス数がKの場合,アンサンブル内の弱学習器のそれぞれについて,RUSBoost
はK個のクラスのそれぞれからN件の観測値があるデータのサブセットを抽出します。ブースティングはマルチクラス分類用の適応ブースティングの手順に従って実行され,アンサンブルの再度の重み付けと構築が行われます。
RUSBoost
アンサンブルを構築する場合,RatioToSmallest
という名前のオプションの名前と値のペアがあります。K個の値 (各値は割り当てられたクラスの標本数 N の倍数) があるベクトルを指定します。たとえば、最も小さいクラスのメンバー数が N = 100 の場合、RatioToSmallest
=(2、3、4)
は各弱学習器のメンバー数がクラス1では200年クラス2では300年クラス3では400であることを表します。RatioToSmallest
が特价のクラスのの数号大大値値导き出した合并,RUSBoost
はメンバーを復元抽出します。それ以外の場合,RUSBoost
はメンバーを非復元抽出します。
RUSBoost
の使用例については,不均衡データでの分類を参照してください。
完全補正ブースティング(TotalBoost
)は線形計画ブースティング(LPBoost
)と同様に,学習セットの最小“マージン”を最大化しようとすることにより,マルチクラス分類を実行します。この試行では最適化アルゴリズム(TotalBoost
の二次計画法)が使用されます。そのため,LPBoost
やTotalBoost
を使用するには优化工具箱のライセンスが必要です。
分類のマージンは,真のクラスについて予測されたソフト分類“スコア”と,偽のクラスの最大スコアの差を表します。ツリーの場合,葉ノードの分類の“スコア”は,そのノードでの分類の事後確率です。あるノードにおける分類の事後確率とは,分類によって実際にそのノードに達するのに要した学習シーケンスの数を,そのノードまでの学習シーケンスの数で除算した値です。詳細は,保证金
の詳細を参照してください。
最小マージンを最大化するのはなぜでしょうか。まず,汎化誤差(新しいデータでの誤差)は負のマージンが発生する確率です。Schapireと歌手[10]は,負のマージンが発生する確率に関して次のような不等式を確立しました。
ここで,mはマージン,θは任意の正の数値,Vは分類器空間のVapnik-Chervonenkis次元,Nは学習セットのサイズ,δは正の少数です。この不等式は,多数の独立同一分布の学習セットと検定セットに対して確率が1 -δの場合に成立します。この不等式から,汎化誤差を小さくするには,学習セットで観測数を最小化してマージンθより小さくすればよいことがわかります。
TotalBoost
は,“エッジ”(重み付きマージン)が特定の値より下であるという制約のもとで,現在の重み分布と初期の重み分布の間のカルバック・ライブラーダイバージェンスのプロキシを最小限にします。このプロキシは,このダイバージェンスの2次展開です。
ここで,ΔはW (n)(現在の反復と次の反復の重み)とW0(初期の重み分布。一様分布です)の差を表します。この最適化定式によって,重みは0になりません。反復を実行するたびに,問題の制約が増えていきます。そのため,大きな問題に対しては、最適化の問題の制約が非常に多くなり、解決に時間がかかることになります。
TotalBoost
は通常,重み付けされた多数の学習器をもつアンサンブルを作成します。この重みは,他の学習器の桁数より小さい桁数です。そのため,重要でないアンサンブルのメンバーをより確実に削除できるようにするため、紧凑的
メソッドではTotalBoost
アンサンブルのメンバーを重みの大きい順に並べ替えられます。これにより,removeLearners
メソッドを使用して的重要性が最も低いメンバーをアンサンブルから簡単に削除できるようになります。
TotalBoost
の使用例については,小さいアンサンブルでのLPBoostとTotalBoostを参照してください。
[1] Breiman, L。“装袋预测”。机器学习26,1996,第123-140页。
[2] Breiman, L。“随机森林。”机器学习45,2001,第5-32页。
[3] Breiman, L。https://www.stat.berkeley.edu/~breiman/RandomForests/
[4] Freund, Y。“一个更健壮的助推算法”,arXiv:0905.2138v1, 2009。
弗洛因德,Y.和R. E. Schapire。在线学习的决策理论推广及其在助推中的应用计算机与系统科学,Vol. 55, 1997, pp. 119-139。
[6]弗里德曼,J。贪婪函数近似:梯度增强机《统计年鉴》,第29卷第5期,2001年,第1189-1232页。
Friedman, J., T. Hastie,和R. Tibshirani。加性逻辑回归:助推的统计学观点《统计年鉴》,第28卷第2期,2000年,第337-407页。
Hastie, T., R. Tibshirani, J. Friedman。统计学习的要素,第二版。纽约:施普林格,2008。
Ho, T. K."构建决策森林的随机子空间方法"《模式分析与机器智能》,第20卷,第8期,1998年,第832-844页。
R. Schapire和Y. Singer。“使用信心评级预测改进了提振算法。”机器学习,Vol. 37, No. 3, 1999, pp. 297-336。
Schapire, r.e.等。“扩大差额:对投票方法有效性的新解释。”《统计年鉴》,1998年第26卷第5期,第1651-1686页。
Seiffert, C., T. Khoshgoftaar, J. Hulse和A. Napolitano。“RUSBoost:在训练数据有偏差时提高分类性能。”国际模式识别会议,2008,第1-4页。
[13]温穆特,廖建军,陈志强。“完全正确的助推算法,使利润最大化。”Proc, 23日国际。机器学习大会,ACM,纽约,2006,第1001-1008页。
fitcensemble
|fitrensemble
|TreeBagger
|ClassificationBaggedEnsemble
|RegressionBaggedEnsemble
|CompactClassificationEnsemble
|CompactRegressionEnsemble
|ClassificationKNN
|ClassificationDiscriminant
|RegressionEnsemble
|ClassificationEnsemble
|ClassificationPartitionedEnsemble
|RegressionPartitionedEnsemble