このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
FeatureSelectionNCARegression クラス
近傍成分分析 (NCA) を使用する回帰用の特徴選択
説明
FeatureSelectionNCARegression
オブジェクトには、近傍成分分析 (NCA) モデルのデータ、当てはめの情報、特徴量の重み、その他のモデル パラメーターが格納されます。fsrnca
は、NCA を対角的に適用して特徴量の重みを学習し、FeatureSelectionNCARegression
オブジェクトのインスタンスを返します。この関数は、特徴量の重みを正則化することにより特徴選択を実現します。
構築
FeatureSelectionNCAClassification
オブジェクトを作成するには、fsrnca
を使用します。
プロパティ
NumObservations
— 学習データに含まれている観測値の数
スカラー
NaN
または Inf
値を削除した後で学習データ (X
および Y
) に含まれている観測値の数。スカラーとして格納されます。
データ型: double
ModelParameters
— モデル パラメーター
構造体
モデルの学習に使用されたモデル パラメーター。構造体として格納されます。
ModelParameters
のフィールドには、ドット表記を使用してアクセスできます。
たとえば、mdl
という名前の FeatureSelectionNCARegression オブジェクトの場合、mdl.ModelParameters.LossFunction
を使用して LossFunction
の値にアクセスできます。
データ型: struct
Lambda
— 正則化パラメーター
スカラー
このモデルの学習に使用された正則化パラメーター。スカラーとして格納されます。n 個の観測値がある場合、NCA モデルの汎化誤差を最小化する最良の Lambda
の値は 1/n の整数倍であると考えられます。
データ型: double
FitMethod
— このモデルの当てはめに使用した手法の名前
'exact'
| 'none'
| 'average'
このモデルの当てはめに使用した手法の名前。次のいずれかとして格納されます。
'exact'
— すべてのデータを使用して当てはめを実行します。'none'
— 当てはめを行いません。fsrnca
を呼び出すときに指定した特徴量の重みの初期値を使用して NCA モデルの汎化誤差を評価する場合に、このオプションを使用します。'average'
— データをサブセットに分割し、exact
法を使用して各分割を当てはめ、特徴量の重みの平均を返します。名前と値のペアの引数NumPartitions
を使用して分割数を指定できます。
Solver
— このモデルの当てはめに使用したソルバーの名前
'lbfgs'
| 'sgd'
| 'minibatch-lbfgs'
このモデルの当てはめに使用したソルバーの名前。次のいずれかとして格納されます。
'lbfgs'
— メモリ制限 Broyden-Fletcher-Goldfarb-Shanno (LBFGS) アルゴリズム'sgd'
— 確率的勾配降下 (SGD) アルゴリズム'minibatch-lbfgs'
— LBFGS アルゴリズムをミニバッチに適用した確率的勾配降下
GradientTolerance
— 勾配ノルムに対する収束の相対許容誤差
正のスカラー
'lbfgs'
ソルバーと 'minibatch-lbfgs'
ソルバーの、勾配ノルムに対する収束の相対許容誤差。正のスカラー値として格納されます。
データ型: double
IterationLimit
— 最適化の最大反復回数
正の整数
最適化の最大反復回数。正の整数値として格納されます。
データ型: double
PassLimit
— 最大通過回数
正の整数
ソルバーが 'sgd'
または 'minibatch-lbfgs'
である場合の最大通過回数。1 回の通過ごとに、データ内の観測値がすべて処理されます。
データ型: double
InitialLearningRate
— 初期学習率
正の実数のスカラー
ソルバーが 'sgd'
または 'minibatch-lbfgs'
である場合の初期学習率。学習率は、InitialLearningRate
について指定された値から始まって反復ごとに減衰します。
fsrnca
を呼び出すときの初期学習率の自動調整を制御するには、NumTuningIterations
および TuningSubsetSize
を使用します。
データ型: double
Verbose
— 詳細レベル インジケーター
非負の整数
詳細レベル インジケーター。非負の整数として格納されます。利用可能な値は以下のとおりです。
0 — 収束概要なし
1 — 勾配のノルムと目的関数の値を収束概要に含める
1 より大きい値 - 当てはめアルゴリズムに応じた、より多くの収束情報。
'minibatch-lbfgs'
ソルバーを使用する場合に詳細レベルを 1 より大きい値にすると、中間的なミニバッチ LBFGS の当てはめによる反復ログが収束情報に含まれます。
データ型: double
InitialFeatureWeights
— 特徴量の重みの初期値
正の実数スカラーによる p 行 1 列のベクトル
特徴量の重みの初期値。正の実数スカラーによる p 行 1 列のベクトルとして格納されます。p は X
内の予測子の個数です。
データ型: double
FeatureWeights
— 特徴量の重み
実数スカラー値による p 行 1 列のベクトル
特徴量の重み。実数スカラー値による p 行 1 列のベクトルとして格納されます。p は X
内の予測子の個数です。
'FitMethod'
が 'average'
である場合、FeatureWeights
は p 行 m 列の行列になります。m は、fsrnca
を呼び出すときに名前と値のペアの引数 'NumPartitions'
で指定した分割数です。
FeatureWeights(k)
の絶対値は予測子 k
の重要度の尺度です。FeatureWeights(k)
が 0 に近い場合、予測子 k
は Y
内の応答に影響を与えません。
データ型: double
FitInfo
— 当てはめの情報
構造体
当てはめの情報。次のフィールドをもつ構造体として格納されます。
フィールド名 | 意味 |
---|---|
Iteration | 反復のインデックス |
Objective | 最小化対象の正則化された目的関数 |
UnregularizedObjective | 最小化対象の正則化されていない目的関数 |
Gradient | 最小化対象の正則化された目的関数の勾配 |
分類の場合、
UnregularizedObjective
は学習データに対する NCA 分類器の leave-one-out 精度の負数を表します。回帰の場合、
UnregularizedObjective
は NCA 回帰モデルを使用して予測された応答と真の応答の間の leave-one-out 損失を表します。'lbfgs'
ソルバーの場合、Gradient
は最終的な勾配です。'sgd'
ソルバーと'minibatch-lbfgs'
ソルバーの場合、Gradient
は最終的なミニバッチの勾配です。FitMethod
が'average'
の場合、FitInfo
は m 行 1 列の構造体配列になります。m は、名前と値のペアの引数'NumPartitions'
で指定される分割数です。
FitInfo
のフィールドには、ドット表記を使用してアクセスできます。たとえば、mdl
という名前の FeatureSelectionNCARegression オブジェクトの場合、mdl.FitInfo.Objective
を使用して Objective
フィールドにアクセスできます。
データ型: struct
Mu
— 予測子の平均
p 行 1 列のベクトル | []
予測子の平均。学習データが標準化されている場合、p 行 1 列のベクトルとして格納されます。この場合、predict
メソッドでは、Mu
の対応する要素を各列から減算することにより、予測子行列 X
をセンタリングします。
学習時にデータが標準化されていない場合、Mu
は空になります。
データ型: double
Sigma
— 予測子の標準偏差
p 行 1 列のベクトル | []
予測子の標準偏差。学習データが標準化されている場合、p 行 1 列のベクトルとして格納されます。この場合、predict
メソッドは予測子行列 X
を、Mu
を使用したデータのセンタリング後にその各列を Sigma
の対応する要素で除算することにより、スケーリングします。
学習時にデータが標準化されていない場合、Sigma
は空になります。
データ型: double
X
— 予測子の値
n 行 p 列の行列
このモデルの学習に使用した予測子の値。n 行 p 列の行列として格納されます。n は学習データに含まれている観測値の個数、p は予測子変数の個数です。
データ型: double
Y
— 応答値
サイズ n の数値ベクトル
このモデルの学習に使用した応答値。サイズ n の数値ベクトルとして格納されます。n は観測値の個数です。
データ型: double
W
— 観測値の重み
サイズ n の数値ベクトル
このモデルの学習に使用した観測値の重み。サイズ n の数値ベクトルとして格納されます。観測値の重みの合計は n です。
データ型: double
メソッド
loss | 学習した特徴量の重みの精度を検定データに対して評価 |
predict | 近傍成分分析 (NCA) 回帰モデルの使用による応答の予測 |
refit | 回帰用の近傍成分分析 (NCA) モデルの再当てはめ |
例
FeatureSelectionNCARegression
オブジェクトの調査
標本データを読み込みます。
load imports-85
最初の 15 列には連続予測子変数が、16 列目には応答変数 (自動車の価格) が含まれています。近傍成分分析モデル用の変数を定義します。
Predictors = X(:,1:15); Y = X(:,16);
回帰用の近傍成分分析 (NCA) モデルを当てはめて、関連する特徴量を判別します。
mdl = fsrnca(Predictors,Y);
返された NCA モデル mdl
は FeatureSelectionNCARegression
オブジェクトです。このオブジェクトには、学習データ、モデルおよび最適化に関する情報が格納されています。このオブジェクトのプロパティ (特徴量の重みなど) には、ドット表記を使用してアクセスできます。
特徴量の重みをプロットします。
figure() plot(mdl.FeatureWeights,'ro') xlabel('Feature Index') ylabel('Feature Weight') grid on
無関係な特徴量の重みはゼロになります。fsrnca
を呼び出すときに 'Verbose',1
オプションを指定すると、最適化の情報がコマンド ラインに表示されます。目的関数と反復回数をプロットして最適化プロセスを可視化することもできます。
figure() plot(mdl.FitInfo.Iteration,mdl.FitInfo.Objective,'ro-') grid on xlabel('Iteration Number') ylabel('Objective')
ModelParameters
プロパティは、モデルに関する詳細情報が含まれている struct
です。このプロパティのフィールドには、ドット表記を使用してアクセスできます。たとえば、データが標準化されているかどうかを調べます。
mdl.ModelParameters.Standardize
ans = logical
0
0
は、NCA モデルを当てはめる前にデータが標準化されていないことを意味します。各予測子のスケールが非常に異なる場合は、fsrnca
を呼び出すときに名前と値のペアの引数 'Standardize',1
を使用して予測子を標準化することができます。
コピーのセマンティクス
値。値のクラスがコピー操作に与える影響については、オブジェクトのコピーを参照してください。
バージョン履歴
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)