resume
説明
は、UpdatedMdl = resume(Mdl,numTrees)Mdl の学習に使用したものと同じオプションを使用して、さらに numTrees 回の反復について Mdl に学習させ、更新された一般化加法モデル UpdatedMdl を返します。
それぞれの反復において、resume は、線形項ごとに 1 つの予測子木または交互作用項ごとに 1 つの交互作用木に学習させます。
Mdlに予測子の線形項 (予測子木) のみが含まれている場合、resumeは予測子ごとにnumTrees個の追加の木に学習させます。Mdlに予測子の線形項と交互作用項 (予測子木と交互作用木) の両方が含まれている場合、resumeは交互作用項ごとにnumTrees個の追加の木に学習させます。
resume はモデルに新しい項は追加しません。線形項のみを含むモデルに交互作用項を追加する場合は、関数 addInteractions を使用します。
では、1 つ以上の名前と値の引数を使用して追加オプションを指定します。たとえば、UpdatedMdl = resume(Mdl,numTrees,Name,Value) は、1 回の反復ごとに診断メッセージを表示するように詳細レベルを 2 に指定します。'Verbose',2
例
反復回数を少なくして一変量の分類の GAM (線形項のみを格納) に学習させます。反復回数を増やしてモデルに追加で学習させてから、再代入損失を比較します。
ionosphere データ セットを読み込みます。このデータ セットには、レーダー反射についての 34 個の予測子と、不良 ('b') または良好 ('g') という 351 個の二項反応が含まれています。
load ionosphereレーダー反射が不良 ('b') と良好 ('g') のどちらであるかを識別する一変量の GAM に学習させます。線形項あたりの木の数を 2 と指定します。fitcgam は、反復回数の指定に従ってブースティング アルゴリズムを反復します。それぞれのブースティング反復において、線形項ごとに 1 つの木が追加されます。'Verbose' を 2 と指定して、1 回の反復ごとに診断メッセージを表示します。
Mdl = fitcgam(X,Y,'NumTreesPerPredictor',2,'Verbose',2);
|========================================================| | Type | NumTrees | Deviance | RelTol | LearnRate | |========================================================| | 1D| 0| 486.59| - | - | | 1D| 1| 166.71| Inf| 1| | 1D| 2| 78.336| 0.58205| 1|
fitcgam で指定した数の木の学習が実行されたかどうかを確認するには、学習済みモデルの ReasonForTermination プロパティを表示し、表示されるメッセージを確認します。
Mdl.ReasonForTermination
ans = struct with fields:
PredictorTrees: 'Terminated after training the requested number of trees.'
InteractionTrees: ''
学習データの分類損失を計算します。
resubLoss(Mdl)
ans = 0.0142
モデルの学習を再開し、100 回の反復を追加で実行します。Mdl には線形項のみが格納されているため、関数 resume は線形項の学習を再開し、それらについての木 (予測子木) を追加します。'Verbose' と 'NumPrint' を指定して、10 回の反復ごとに診断メッセージを表示します。
UpdatedMdl = resume(Mdl,100,'Verbose',1,'NumPrint',10);
|========================================================| | Type | NumTrees | Deviance | RelTol | LearnRate | |========================================================| | 1D| 0| 78.336| - | - | | 1D| 1| 38.364| 0.17429| 1| | 1D| 10| 0.16311| 0.011894| 1| | 1D| 20| 0.00035693| 0.0025178| 1| | 1D| 30| 8.1191e-07| 0.0011006| 1| | 1D| 40| 1.7978e-09| 0.00074607| 1| | 1D| 50| 3.6113e-12| 0.00034404| 1| | 1D| 60| 1.7497e-13| 0.00016541| 1|
UpdatedMdl.ReasonForTermination
ans = struct with fields:
PredictorTrees: 'Unable to improve the model fit.'
InteractionTrees: ''
resume は、木を追加してもモデルの当てはめの逸脱度が改善されなくなると学習を終了します。
更新されたモデルを使用して分類損失を計算します。
resubLoss(UpdatedMdl)
ans = 0
反復回数を増やして resume でモデルを更新すると、分類損失が減少します。
線形項と交互作用項の両方が格納されている回帰 GAM に学習させます。反復回数を少なくして交互作用項に学習させるように指定します。反復回数を増やして交互作用項に追加で学習させてから、再代入損失を比較します。
carbig データ セットを読み込みます。このデータ セットには、1970 年代と 1980 年代初期に製造された自動車の測定値が格納されています。
load carbig予測子変数 (X) として Acceleration、Displacement、Horsepower および Weight を、応答変数 (Y) として MPG を指定します。
X = [Acceleration,Displacement,Horsepower,Weight]; Y = MPG;
X 内の使用可能なすべての線形項と交互作用項が格納されている GAM に学習させます。交互作用項あたりの木の数を 2 と指定します。fitrgam は、線形項についてはブースティング アルゴリズムを 300 回 (既定) 反復し、交互作用項については反復回数の指定に従ってアルゴリズムを反復します。それぞれのブースティング反復において、線形項ごとに 1 つの木または交互作用項ごとに 1 つの木が追加されます。'Verbose' を 1 と指定して、10 回の反復ごとに診断メッセージを表示します。
Mdl = fitrgam(X,Y,'Interactions','all','NumTreesPerInteraction',2,'Verbose',1);
|========================================================| | Type | NumTrees | Deviance | RelTol | LearnRate | |========================================================| | 1D| 0| 2.4432e+05| - | - | | 1D| 1| 9507.4| Inf| 1| | 1D| 10| 4470.6| 0.00025206| 1| | 1D| 20| 3895.3| 0.00011448| 1| | 1D| 30| 3617.7| 3.5365e-05| 1| | 1D| 40| 3402.5| 3.7992e-05| 1| | 1D| 50| 3257.1| 2.4983e-05| 1| | 1D| 60| 3131.8| 2.3873e-05| 1| | 1D| 70| 3019.8| 2.2967e-05| 1| | 1D| 80| 2925.9| 2.8071e-05| 1| | 1D| 90| 2845.3| 1.6811e-05| 1| | 1D| 100| 2772.7| 1.852e-05| 1| | 1D| 110| 2707.8| 1.6754e-05| 1| | 1D| 120| 2649.8| 1.651e-05| 1| | 1D| 130| 2596.6| 1.1723e-05| 1| | 1D| 140| 2547.4| 1.813e-05| 1| | 1D| 150| 2501.1| 1.8659e-05| 1| | 1D| 160| 2455.7| 1.386e-05| 1| | 1D| 170| 2416.9| 1.0615e-05| 1| | 1D| 180| 2377.2| 8.534e-06| 1| | 1D| 190| 2339| 7.6771e-06| 1| | 1D| 200| 2303.3| 9.5866e-06| 1| | 1D| 210| 2270.7| 8.4276e-06| 1| | 1D| 220| 2240.1| 8.5778e-06| 1| | 1D| 230| 2209.2| 9.6761e-06| 1| | 1D| 240| 2178.7| 7.0622e-06| 1| | 1D| 250| 2150.3| 8.3082e-06| 1| | 1D| 260| 2122.3| 7.9542e-06| 1| | 1D| 270| 2097.7| 7.6328e-06| 1| | 1D| 280| 2070.4| 9.4322e-06| 1| | 1D| 290| 2044.3| 7.5722e-06| 1| | 1D| 300| 2019.7| 6.6719e-06| 1| |========================================================| | Type | NumTrees | Deviance | RelTol | LearnRate | |========================================================| | 2D| 0| 2019.7| - | - | | 2D| 1| 1795.5| 0.0005975| 1| | 2D| 2| 1523.4| 0.0010079| 1|
fitrgam で指定した数の木の学習が実行されたかどうかを確認するには、学習済みモデルの ReasonForTermination プロパティを表示し、表示されるメッセージを確認します。
Mdl.ReasonForTermination
ans = struct with fields:
PredictorTrees: 'Terminated after training the requested number of trees.'
InteractionTrees: 'Terminated after training the requested number of trees.'
学習データの回帰損失を計算します。
resubLoss(Mdl)
ans = 3.8277
モデルの学習を再開し、100 回の反復を追加で実行します。Mdl には線形項と交互作用項の両方が格納されているため、関数 resume は交互作用項の学習を再開し、それらについての木 (交互作用木) を追加します。
UpdatedMdl = resume(Mdl,100);
|========================================================| | Type | NumTrees | Deviance | RelTol | LearnRate | |========================================================| | 2D| 0| 1523.4| - | - | | 2D| 1| 1363.9| 0.00039695| 1| | 2D| 10| 594.04| 8.0295e-05| 1| | 2D| 20| 359.44| 4.3201e-05| 1| | 2D| 30| 238.51| 2.6869e-05| 1| | 2D| 40| 153.98| 2.6271e-05| 1| | 2D| 50| 91.464| 8.0936e-06| 1| | 2D| 60| 61.882| 3.8528e-06| 1| | 2D| 70| 43.206| 5.9888e-06| 1|
UpdatedMdl.ReasonForTermination
ans = struct with fields:
PredictorTrees: 'Terminated after training the requested number of trees.'
InteractionTrees: 'Unable to improve the model fit.'
resume は、木を追加してもモデルの当てはめの逸脱度が改善されなくなると学習を終了します。
更新されたモデルを使用して回帰損失を計算します。
resubLoss(UpdatedMdl)
ans = 0.0944
反復回数を増やして resume でモデルを更新すると、回帰損失が減少します。
入力引数
一般化加法モデル。ClassificationGAM または RegressionGAM モデル オブジェクトとして指定します。
追加する木の数。正の整数スカラーとして指定します。
データ型: single | double
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name を引用符で囲みます。
例: 'Verbose',1,'NumPrint',100 は、100 回の反復ごとに診断メッセージをコマンド ウィンドウに出力するように指定します。
詳細レベル。0、1、または 2 を指定します。Verbose の値は、コマンド ウィンドウに表示される情報の量を制御します。
次の表は、使用できる詳細レベル オプションの一覧です。
| 値 | 説明 |
|---|---|
0 | いずれの情報も表示されません。 |
1 | numPrint 回の反復ごとに診断メッセージが表示されます。ここで、numPrint は 'NumPrint' の値です。 |
2 | 1 回の反復ごとに診断メッセージが表示されます。 |
診断メッセージの各行にそれぞれのブースティング反復に関する情報が表示されます。次の列があります。
Type— 学習済みの木のタイプ1D(予測子木、予測子の線形項のブースティング木) または2D(交互作用木、予測子の交互作用項のブースティング木)NumTrees—resumeがそれまでにモデルに追加した線形項または交互作用項あたりの木の数Deviance— モデルの逸脱度RelTol— モデル予測の相対変化 ( は反復 k におけるモデル予測の列ベクトル)LearnRate— 現在の反復で使用されている学習率
既定値は Mdl.ModelParameters.VerbosityLevel で、GAM オブジェクト Mdl を作成する際に指定する Verbose 値です。
例: 'Verbose',1
データ型: single | double
出力引数
更新された一般化加法モデル。ClassificationGAM または RegressionGAM モデル オブジェクトとして返されます。UpdatedMdl のオブジェクト タイプは入力モデル Mdl と同じになります。
入力引数 Mdl を上書きするには、resume の出力を Mdl に代入します。
Mdl = resume(Mdl,numTrees);
詳細
逸脱度は、残差二乗和を汎化したものです。飽和モデルと比較した適合度を測定します。
当てはめたモデルの逸脱度は、そのモデルと飽和モデルの対数尤度の差の 2 倍です。
-2(logL - logLs),
L は当てはめたモデルの対数尤度、Ls は飽和モデルの対数尤度です。飽和モデルは、推定可能な最大数のパラメーターを含むモデルです。
resume は、逸脱度を使用してモデルの適合度を測定し、各反復で逸脱度が小さくなる学習率を探します。コマンド ウィンドウに逸脱度と学習率を表示するには、'Verbose' で 1 または 2 を指定します。
バージョン履歴
R2021a で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)