resume
交差検証アンサンブル分類モデルの学習の再開
説明
では、1 つ以上の名前と値の引数を使用して追加オプションを指定します。たとえば、出力頻度を指定したり、並列計算のオプションを設定したりできます。ens1
= resume(ens
,nlearn
,Name=Value
)
では、1 つ以上の ens1
= resume(ens
,nlearn
,Name,Value
)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 サイクルの追加学習後、アンサンブルの交差検証誤差が小さくなっています。
入力引数
ens
— 交差検証アンサンブル分類モデル
ClassificationPartitionedEnsemble
モデル オブジェクト
交差検証アンサンブル分類。次のいずれかで作成された ClassificationPartitionedEnsemble
モデル オブジェクトとして指定します。
交差検証の名前と値の引数
crossval
、kfold
、holdout
、leaveout
、またはcvpartition
を使用した関数fitcensemble
。アンサンブル分類に適用される
crossval
メソッド。
nlearn
— 追加学習サイクル数
正の整数
ens
の追加学習サイクル数。正の整数として指定します。
データ型: double
| single
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名、Value
は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。
R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name
を引用符で囲みます。
例: resume(ens,10,NPrint=5,Options=statset(UseParallel=true))
は、ens
の学習を追加で 10 サイクル行い、resume
で 5 個の分割の学習が完了するたびにコマンド ラインにメッセージを表示し、計算を並列に実行するように指定します。
NPrint
— 出力頻度
"off"
(既定値) | 正の整数
出力頻度。正の整数 m
または "off"
として指定します。resume
は、m
個の分割の学習が完了するたびにコマンド ラインにメッセージを表示します。"off"
を指定した場合、resume
で分割の学習が完了してもメッセージは表示されません。
ヒント
一部のブースティングされた決定木の学習を最速にするには、NPrint
を既定値の "off"
に設定します。このヒントは、分類の Method
が "AdaBoostM1"
、"AdaBoostM2"
、"GentleBoost"
、または "LogitBoost"
であるか、回帰の Method
が "LSBoost"
である場合に有効です。
例: NPrint=5
データ型: single
| double
| char
| string
Options
— 並列計算と乱数ストリーム設定のオプション
構造体
並列計算と乱数ストリーム設定のオプション。構造体として指定します。statset
を使用して Options
構造体を作成します。
メモ
並列計算を行うには、Parallel Computing Toolbox™ が必要です。
resume
では元の学習に使用したものと同じ並列オプションを使用できます。必要に応じて、引数 Options
を使用して並列オプションを変更します。次の表に、オプションのフィールドとその値を示します。
フィールド名 | 値 | 既定の設定 |
---|---|---|
UseParallel | 並列計算する場合は、この値を | false |
UseSubstreams | 再現可能な方法で計算を実行する場合は、この値を 再現性のある計算を行うには、 | false |
Streams | RandStream オブジェクトまたはそのようなオブジェクトの 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
拡張機能
自動並列サポート
Parallel Computing Toolbox™ を使用して自動的に並列計算を実行することで、コードを高速化します。
resume
は、名前と値の引数 'Options'
を使用した並列学習をサポートします。オプションは、options = statset('UseParallel',true)
のように、statset
を使用して作成します。並列アンサンブル学習では、名前と値の引数 'Method'
を 'Bag'
に設定する必要があります。並列学習は 'Bag'
の既定のタイプである木学習器にのみ使用できます。
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
この関数は、GPU 配列を完全にサポートします。詳細は、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2012b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)