Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

resume

交差検証分割における学習器の学習の再開

構文

ens1 = resume(ens,nlearn)
ens1 = resume(ens,nlearn,Name,Value)

説明

ens1 = resume(ens,nlearn) は、すべての分割で ens の学習をさらに nlearn サイクル行います。resume は、fitcensembleens の作成に使用した同じ学習オプションを使用します (並列学習オプションを除く)。並列学習を再開する場合は、名前と値のペア 'Options' を渡します。

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

入力引数

ens

交差検証されたアンサンブル分類。ens は次のどちらかの結果です。

  • 交差検証の名前と値のペアの引数を使用した関数 fitcensemble。この名前は、'crossval''kfold''holdout''leaveout'、または 'cvpartition' です。

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

nlearn

ens の追加学習でのサイクル数を示す、正の整数。

名前と値の引数

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

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

NPrint

出力頻度、正の整数のスカラーまたは 'off' (出力しない)。NPrint が正の整数である場合、NPrint 個の分割の学習後に、コマンド ラインにメッセージが表示されます。

ヒント

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

既定値: 'off'

Options

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

メモ

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

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

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

並列計算する場合は、この値を true に設定します。並列アンサンブル学習では、名前と値の引数 Method"Bag" に設定する必要があります。並列学習は "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)

出力引数

ens1

追加学習で拡張された、交差検証したアンサンブル分類 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 サイクルの追加学習後、アンサンブルの交差検証誤差が小さくなっています。

拡張機能