Main Content

resume

アンサンブル分類モデルの学習の再開

説明

ens1 = resume(ens,nlearn) は、ens の学習に使用したものと同じオプション (並列学習オプションと出力頻度は除く) を使用して、学習をさらに nlearn サイクル続行します。この関数は、新しいアンサンブル分類モデル ens1 を返します。

ens1 = resume(___,Name=Value) では、1 つ以上の名前と値の引数を使用してオプションを指定します。たとえば、学習させた弱学習器の数を追跡したり、計算を並列に実行したりできます。

すべて折りたたむ

アンサンブル分類に 3 サイクル学習をさせ、アンサンブルにさらに数サイクル学習をさせた後で再代入誤差を比較します。

ionosphere データ セットを読み込みます。

load ionosphere

アンサンブル分類に 3 サイクル学習をさせ、再代入誤差を調べます。

ens = fitcensemble(X,Y,Method="GentleBoost",NumLearningCycles=3);
L = resubLoss(ens)
L = 0.0085

さらに 3 サイクル学習をさせ、新しい再代入誤差を調べます。

ens1 = resume(ens,3);
L = resubLoss(ens1)
L = 0

新しいアンサンブルでは、元のアンサンブルより再代入誤差がはるかに小さくなっています。

入力引数

すべて折りたたむ

アンサンブル分類モデル。fitcensemble で学習させた ClassificationEnsemble モデル オブジェクトとして指定します。

メモ

ensfitcensembleMethod="Subspace"NumLearningCycles="AllPredictorCombinations" のオプションを設定して学習させたモデルの場合、学習は再開できません。

ens の追加学習サイクル数。正の整数として指定します。

データ型: double | single

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。

R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name を引用符で囲みます。

例: resume(ens,10,NPrint=5,Options=statset(UseParallel=true)) は、ens の学習を追加で 10 サイクル行い、resume で 5 個の弱学習器の学習が完了するたびにコマンド ラインにメッセージを表示し、計算を並列に実行するように指定します。

出力頻度。正の整数 m または "off" として指定します。resume は、m 個の弱学習器の学習が完了するたびにコマンド ラインにメッセージを表示します。"off" を指定した場合、resume で弱学習器の学習が完了してもメッセージは表示されません。

ヒント

分類の Method"AdaBoostM1""AdaBoostM2""GentleBoost"、または "LogitBoost" の場合に一部のブースティングされた決定木の学習を最速にするには、Nprint"off" (既定値) に設定します。

例: NPrint=5

データ型: single | double | char | string

並列計算と乱数ストリーム設定のオプション。構造体として指定します。statset を使用して Options 構造体を作成します。

メモ

並列計算を行うには、Parallel Computing Toolbox™ が必要です。

resume では元の学習に使用したものと同じ並列オプションを使用できます。必要に応じて、引数 Options を使用して並列オプションを変更します。次の表に、オプションのフィールドとその値を示します。

フィールド名既定の設定
UseParallel

並列計算する場合は、この値を true に設定します。並列アンサンブル学習では、名前と値の引数 Method"Bag" に設定する必要があります。並列学習は Method="Bag" の既定のタイプである木学習器にのみ使用できます。

false
UseSubstreams

再現可能な方法で計算を実行する場合は、この値を true に設定します。

再現性のある計算を行うには、Streams をサブストリームを許可する型 ("mlfg6331_64" または "mrg32k3a") に設定します。

false
StreamsRandStream オブジェクトまたはそのようなオブジェクトの cell 配列としてこの値を指定します。UseParallel の値が true でなく、UseSubstreams の値も false でない場合、単一オブジェクトを使用します。この場合は、並列プールと同じサイズの cell 配列を使用します。Streams を指定しないと、resume には既定のストリームが使用されます。

デュアルコア以上のシステムの場合、resume では Intel® スレッディング ビルディング ブロック (TBB) を使用して学習を並列化します。したがって、UseParallel オプションを true に設定しても、単一のコンピューターではそれほど大きな速度の向上は得られないことがあります。Intel TBB の詳細については、https://www.intel.com/content/www/us/en/developer/tools/oneapi/onetbb.htmlを参照してください。

例: Options=statset(UseParallel=true)

データ型: struct

拡張機能

バージョン履歴

R2011a で導入