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 内の予測子木の学習の再開
反復回数を少なくして一変量の分類の 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 内の交互作用木の学習の再開
線形項と交互作用項の両方が格納されている回帰 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
でモデルを更新すると、回帰損失が減少します。
入力引数
Mdl
— 一般化加法モデル
ClassificationGAM
モデル オブジェクト | RegressionGAM
モデル オブジェクト
一般化加法モデル。ClassificationGAM
または RegressionGAM
モデル オブジェクトとして指定します。
numTrees
— 追加する木の数
正の整数スカラー
追加する木の数。正の整数スカラーとして指定します。
データ型: single
| double
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名、Value
は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。
R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name
を引用符で囲みます。
例: 'Verbose',1,'NumPrint',100
は、100 回の反復ごとに診断メッセージをコマンド ウィンドウに出力するように指定します。
NumPrint
— 診断メッセージ出力の反復回数
Mdl.ModelParameters.NumPrint
(既定値) | 非負の整数スカラー
Verbose
— 詳細レベル
Mdl.ModelParameters.VerbosityLevel
(既定値) | 0 | 1
| 2
詳細レベル。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
出力引数
UpdatedMdl
— 更新された一般化加法モデル
ClassificationGAM
モデル オブジェクト | RegressionGAM
モデル オブジェクト
更新された一般化加法モデル。ClassificationGAM
または RegressionGAM
モデル オブジェクトとして返されます。UpdatedMdl
のオブジェクト タイプは入力モデル Mdl
と同じになります。
入力引数 Mdl
を上書きするには、resume
の出力を Mdl
に代入します。
Mdl = resume(Mdl,numTrees);
詳細
逸脱度
逸脱度は、残差二乗和を汎化したものです。飽和モデルと比較した適合度を測定します。
当てはめたモデルの逸脱度は、そのモデルと飽和モデルの対数尤度の差の 2 倍です。
-2(logL - logLs),
L は当てはめたモデルの対数尤度、Ls は飽和モデルの対数尤度です。飽和モデルは、推定可能な最大数のパラメーターを含むモデルです。
resume
は、逸脱度を使用してモデルの適合度を測定し、各反復で逸脱度が小さくなる学習率を探します。コマンド ウィンドウに逸脱度と学習率を表示するには、'Verbose'
で 1 または 2 を指定します。
バージョン履歴
R2021a で導入
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)