Main Content

resume

交差検証アンサンブル分類モデルの学習の再開

説明

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

ens1 = resume(ens,nlearn,Name=Value) では、1 つ以上の名前と値の引数を使用して追加オプションを指定します。たとえば、出力頻度を指定したり、並列計算のオプションを設定したりできます。

ens1 = resume(ens,nlearn,Name,Value) では、1 つ以上の Name,Value の引数ペアで指定された追加オプションを使用して、ens の学習を行います。

すべて折りたたむ

分割されたアンサンブル分類に 10 サイクル学習をさせ、アンサンブルにさらに数サイクル学習をさせた後で分類損失を比較します。

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

load ionosphere

分割されたアンサンブル分類に 10 サイクル学習をさせ、誤差を調べます。

t = templateTree('MaxNumSplits',1); % Weak learner template tree object
cvens = fitcensemble(X,Y,'Method','GentleBoost','NumLearningCycles',10,'Learners',t,'crossval','on');
rng(10,'twister') % For reproducibility
L = kfoldLoss(cvens)
L = 0.0940

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

cvens = resume(cvens,10);
L = kfoldLoss(cvens)
L = 0.0712

10 サイクルの追加学習後、アンサンブルの交差検証誤差が小さくなっています。

入力引数

すべて折りたたむ

交差検証アンサンブル分類。次のいずれかで作成された ClassificationPartitionedEnsemble モデル オブジェクトとして指定します。

  • 交差検証の名前と値の引数 crossvalkfoldholdoutleaveout、または cvpartition を使用した関数 fitcensemble

  • アンサンブル分類に適用される crossval メソッド。

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 で分割の学習が完了してもメッセージは表示されません。

ヒント

一部のブースティングされた決定木の学習を最速にするには、NPrint を既定値の "off" に設定します。このヒントは、分類の Method"AdaBoostM1""AdaBoostM2""GentleBoost"、または "LogitBoost" であるか、回帰の Method"LSBoost" である場合に有効です。

例: 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

拡張機能

バージョン履歴

R2012b で導入