このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
refit
回帰用の近傍成分分析 (NCA) モデルの再当てはめ
構文
mdlrefit = refit(mdl,Name,Value)
説明
は、1 つ以上の mdlrefit
= refit(mdl
,Name,Value
)Name,Value
ペア引数で指定された修正パラメーターを使用して、モデル mdl
を再度当てはめます。
入力引数
mdl
— 回帰用の近傍成分分析モデル
FeatureSelectionNCARegression
オブジェクト
分類用の近傍成分分析モデル。FeatureSelectionNCARegression
オブジェクトとして指定します。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名、Value
は対応する値です。名前と値の引数は他の引数の後ろにする必要がありますが、ペアの順序は関係ありません。
R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name
を引用符で囲みます。
FitMethod
— モデルの当てはめ方式
mdl.FitMethod
(既定値) | 'exact'
| 'none'
| 'average'
モデルの当てはめ方式。'FitMethod'
と次のいずれかから構成されるコンマ区切りのペアとして指定します。
'exact'
— すべてのデータを使用して当てはめを実行します。'none'
— 当てはめを行いません。fsrnca
を呼び出すときに指定した特徴量の重みの初期値を使用して NCA モデルの汎化誤差を評価する場合に、このオプションを使用します。'average'
— データをサブセットに分割し、exact
法を使用して各分割を当てはめ、特徴量の重みの平均を返します。名前と値のペアの引数NumPartitions
を使用して分割数を指定できます。
例: 'FitMethod','none'
Lambda
— 正則化パラメーター
mdl.Lambda
(既定値) | 非負のスカラー値
正則化パラメーター。'Lambda'
と非負のスカラー値から構成されるコンマ区切りのペアとして指定します。
n 個の観測値がある場合、NCA モデルの汎化誤差を最小化する最良の Lambda
の値は 1/n の整数倍であると考えられます。
例: 'Lambda',0.01
データ型: double
| single
Solver
— ソルバーのタイプ
mdl.Solver
(既定値) | 'lbfgs'
| 'sgd'
| 'minibatch-lbfgs'
特徴量の重みを推定するソルバーのタイプ。'Solver'
と次のいずれかから構成されるコンマ区切りのペアとして指定します。
'lbfgs'
— メモリ制限 BFGS (Broyden-Fletcher-Goldfarb-Shanno) アルゴリズム (LBFGS アルゴリズム)'sgd'
— 確率的勾配降下法'minibatch-lbfgs'
— LBFGS アルゴリズムをミニバッチに適用した確率的勾配降下
例: 'solver','minibatch-lbfgs'
InitialFeatureWeights
— 特徴量の重みの初期値
mdl.InitialFeatureWeights
(既定値) | 正の実数スカラー値による p 行 1 列のベクトル
特徴量の重みの初期値。'InitialFeatureWeights'
と正の実数スカラー値による p 行 1 列のベクトルから構成されるコンマ区切りのペアとして指定します。
データ型: double
| single
Verbose
— 詳細レベルのインジケーター
mdl.Verbose
(既定値) | 0 | 1 | >1
収束概要表示の詳細レベルのインジケーター。'Verbose'
と次のいずれかから構成されるコンマ区切りのペアとして指定します。
0 — 収束概要なし
1 — 反復回数、勾配のノルム、目的関数の値を含む収束概要。
1 より大きい値 — 当てはめたアルゴリズムに応じたより多くの収束情報
ソルバー
'minibatch-lbfgs'
を使用する場合に詳細レベルを 1 より大きい値にすると、中間的なミニバッチ LBFGS の当てはめによる反復ログが収束情報に含まれます。
例: 'Verbose',2
データ型: double
| single
GradientTolerance
— 収束の相対許容誤差
mdl.GradientTolerance
(既定値) | 正の実数スカラー値
ソルバーが lbfgs
である場合の、勾配ノルムに対する収束の相対許容誤差。'GradientTolerance'
と正の実数スカラー値から構成されるコンマ区切りのペアとして指定します。
例: 'GradientTolerance',0.00001
データ型: double
| single
InitialLearningRate
— ソルバーが sgd
である場合の初期学習率
mdl.InitialLearningRate
(既定値) | 正の実数スカラー値
ソルバーが sgd
である場合の初期学習率。'InitialLearningRate'
と正のスカラー値から構成されるコンマ区切りのペアとして指定します。
ソルバー タイプとして 'sgd'
を使用する場合、学習率は 'InitialLearningRate'
で指定された値から始まって反復ごとに減衰します。
例: 'InitialLearningRate',0.8
データ型: double
| single
PassLimit
— ソルバーが 'sgd'
である場合の最大通過回数
mdl.PassLimit
(既定値) | 正の整数値
ソルバーが 'sgd'
(確率的勾配降下) である場合の通過の最大回数。'PassLimit'
と正の整数から構成されるコンマ区切りのペアとして指定します。1 回通過するごとに、size(mdl.X,1)
個の観測値が処理されます。
例: 'PassLimit',10
データ型: double
| single
IterationLimit
— 最大反復回数
mdl.IterationLimit
(既定値) | 正の整数値
最大反復回数。'IterationLimit'
と正の整数で構成されるコンマ区切りのペアとして指定します。
例: 'IterationLimit',250
データ型: double
| single
出力引数
mdlrefit
— 回帰用の近傍成分分析モデル
FeatureSelectionNCARegression
オブジェクト
分類用の近傍成分分析モデル。FeatureSelectionNCARegression
オブジェクトとして返されます。結果を新しいモデルとして保存するか、mdl = refit(mdl,Name,Value)
として既存のモデルを更新することができます。
例
設定を修正した回帰用の NCA モデルの再当てはめ
標本データを読み込みます。
load('robotarm.mat')
robotarm
データセット (pumadyn32nm) は、ロボット アーム シミュレータを使用して作成されており、7168 個の学習観測値、1024 個のテスト観測値、32 個の特徴量が含まれています [1]、[2]。これは、オリジナルのデータセットを前処理したものです。データの前処理では、線形回帰近似を除外してから、すべての特徴量を単位分散に対して正規化しています。
特徴選択を行わずに汎化誤差を計算します。
nca = fsrnca(Xtrain,ytrain,'FitMethod','none','Standardize',1); L = loss(nca,Xtest,ytest)
L = 0.9017
次に、この問題に特徴選択が必要であるかどうかを判断するため、モデルを再度当てはめ、 = 0 (正則化項なし) で特徴選択を行って予測損失を計算し、前の損失値と比較します。変更しない設定については、refit
は初期モデル nca
の設定を使用します。たとえば、nca
に含まれている特徴量の重みが特徴量の重みの初期値として使用されます。
nca2 = refit(nca,'FitMethod','exact','Lambda',0); L2 = loss(nca2,Xtest,ytest)
L2 = 0.1088
損失が小さくなったので、特徴選択が必要であることがわかります。
特徴量の重みをプロットします。
figure()
plot(nca2.FeatureWeights,'ro')
通常は、正則化パラメーターを調整すると結果が改善されます。回帰用の NCA の正則化パラメーターの調整で説明されているように交差検証を使用して を調整した結果、最良の の値が 0.0035 になったとします。この の値と、ソルバーとして確率的勾配降下を使用して、nca
モデルを再度当てはめます。予測損失を計算します。
nca3 = refit(nca2,'FitMethod','exact','Lambda',0.0035,... 'Solver','sgd'); L3 = loss(nca3,Xtest,ytest)
L3 = 0.0573
特徴量の重みをプロットします。
figure()
plot(nca3.FeatureWeights,'ro')
正則化パラメーターを調整した結果、損失がさらに小さくなり、4 つの特徴量が関連することが識別されました。
参考文献
[1] Rasmussen, C. E., R. M. Neal, G. E. Hinton, D. van Camp, M. Revow, Z. Ghahramani, R. Kustra, and R. Tibshirani.The DELVE Manual, 1996, https://mlg.eng.cam.ac.uk/pub/pdf/RasNeaHinetal96.pdf
バージョン履歴
R2016b で導入
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)