FeatureSelectionNCAClassification
近傍成分分析 (NCA) を使用する分類用の特徴選択
説明
FeatureSelectionNCAClassification オブジェクトには、近傍成分分析 (NCA) モデルのデータ、当てはめの情報、特徴量の重み、その他のパラメーターが格納されます。fscnca は、NCA を対角的に適用して特徴量の重みを学習し、FeatureSelectionNCAClassification オブジェクトのインスタンスを返します。この関数は、特徴量の重みを正則化することにより特徴選択を実現します。
作成
FeatureSelectionNCAClassification オブジェクトを作成するには、fscnca を使用します。
プロパティ
NCA のプロパティ
この プロパティ は読み取り専用です。
モデルの学習に使用したモデル パラメーター。構造体として指定します。
ModelParameters のフィールドには、ドット表記を使用してアクセスできます。
たとえば、mdl という名前の FeatureSelectionNCAClassification オブジェクトの場合、mdl.ModelParameters.LossFunction を使用して LossFunction の値にアクセスできます。
データ型: struct
この プロパティ は読み取り専用です。
このモデルの学習に使用した正則化パラメーター。スカラーとして指定します。n 個の観測値がある場合、NCA モデルの汎化誤差を最小化する最適な Lambda の値は 1/n の整数倍であると考えられます。
データ型: double
この プロパティ は読み取り専用です。
このモデルの当てはめに使用した当てはめ手法の名前。次のいずれかとして指定します。
'exact'— すべてのデータを使用して当てはめを実行します。'none'— 当てはめを行いません。fscncaを呼び出すときに指定した特徴量の重みの初期値を使用して NCA モデルの汎化誤差を評価する場合に、このオプションを使用します。'average'— データをサブセットに分割し、exact法を使用して各分割を当てはめ、特徴量の重みの平均を返します。名前と値の引数NumPartitionsを使用して分割数を指定できます。
この プロパティ は読み取り専用です。
このモデルの当てはめに使用したソルバーの名前。次のいずれかとして指定します。
'lbfgs'— メモリ制限 Broyden-Fletcher-Goldfarb-Shanno (LBFGS) アルゴリズム'sgd'— 確率的勾配降下 (SGD) アルゴリズム'minibatch-lbfgs'— LBFGS アルゴリズムをミニバッチに適用した確率的勾配降下
この プロパティ は読み取り専用です。
'lbfgs' ソルバーと 'minibatch-lbfgs' ソルバーの勾配ノルムに対する収束の相対許容誤差。正のスカラー値として指定します。
データ型: double
この プロパティ は読み取り専用です。
最適化の最大反復回数。正の整数値として指定します。
データ型: double
この プロパティ は読み取り専用です。
'sgd' ソルバーと 'minibatch-lbfgs' ソルバーの最大通過回数。正の整数として指定します。1 回の通過ごとに、データ内の観測値がすべて処理されます。
データ型: double
この プロパティ は読み取り専用です。
'sgd' ソルバーと 'minibatch-lbfgs' ソルバーの初期学習率。正の実数スカラーとして指定します。学習率は、InitialLearningRate について指定された値から始まって反復ごとに減衰します。
fscnca を呼び出すときの初期学習率の自動調整を制御するには、名前と値の引数 NumTuningIterations および TuningSubsetSize を使用します。
データ型: double
この プロパティ は読み取り専用です。
詳細レベル インジケーター。非負の整数として指定します。利用可能な値は以下のとおりです。
0 — 収束概要なし
1 — 勾配のノルムと目的関数の値を収束概要に含める
1 より大きい値 - 当てはめアルゴリズムに応じた、より多くの収束情報。
'minibatch-lbfgs'ソルバーを使用する場合に詳細レベルを 1 より大きい値にすると、中間的なミニバッチ LBFGS の当てはめによる反復ログが収束情報に含まれます。
データ型: double
この プロパティ は読み取り専用です。
特徴量の重みの初期値。p 行 1 列の正の実数スカラーのベクトルとして指定します。p は X 内の予測子の数です。特徴量の重みの詳細については、近傍成分分析 (NCA) 特徴選択を参照してください。
データ型: double
この プロパティ は読み取り専用です。
特徴量の重み。p 行 1 列の数値ベクトルまたは p 行 m 列の数値行列として指定します。ここで、p はカテゴリカル変数用にダミー変数が作成された後の予測子変数の数です (詳細については、ExpandedPredictorNames を参照)。
FitMethod が 'average' である場合、FeatureWeights は p 行 m 列の行列になります。m は、fscnca を呼び出すときに名前と値の引数 NumPartitions で指定した分割数です。
FeatureWeights(k) の絶対値は予測子 k の重要度の尺度です。FeatureWeights(k) の値が 0 に近い場合、予測子 k は Y 内の応答に影響を与えません。
特徴量の重みの詳細については、近傍成分分析 (NCA) 特徴選択を参照してください。
データ型: double
この プロパティ は読み取り専用です。
当てはめの情報。次のフィールドをもつ構造体として指定します。
| フィールド名 | 意味 |
|---|---|
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 という名前の FeatureSelectionNCAClassification オブジェクトの場合、mdl.FitInfo.Objective を使用して Objective フィールドにアクセスできます。
データ型: struct
他の分類のプロパティ
この プロパティ は読み取り専用です。
NaN または Inf 値を削除した後の学習データ (X および Y) に含まれている観測値の数。スカラーとして指定します。
データ型: double
この プロパティ は読み取り専用です。
予測子の平均。学習データが標準化されている場合、p 行 1 列のベクトルとして指定します。この場合、predict メソッドでは、Mu の対応する要素を各列から減算することにより、予測子行列 X をセンタリングします。
学習時にデータが標準化されていない場合、Mu は空になります。
データ型: double
この プロパティ は読み取り専用です。
予測子の標準偏差。学習データが標準化されている場合、p 行 1 列のベクトルとして指定します。この場合、predict メソッドは予測子行列 X を、Mu を使用したデータのセンタリング後にその各列を Sigma の対応する要素で除算することにより、スケーリングします。
学習時にデータが標準化されていない場合、Sigma は空になります。
データ型: double
この プロパティ は読み取り専用です。
このモデルの学習に使用された予測子の値。行列または table として指定します。X の各列が 1 つの予測子 (変数) を表し、各行が 1 つの観測値を表します。
データ型: single | double | table
この プロパティ は読み取り専用です。
このモデルの学習に使用した応答値。サイズ n の数値ベクトルとして指定します。n は観測値の数です。
データ型: double
この プロパティ は読み取り専用です。
このモデルの学習に使用した観測値の重み。サイズ n の数値ベクトルとして指定します。観測値の重みの合計は n です。
データ型: double
この プロパティ は読み取り専用です。
カテゴリカル予測子のインデックス。正の整数のベクトルとして指定します。CategoricalPredictors には、対応する予測子がカテゴリカルであることを示すインデックス値が格納されます。インデックス値の範囲は 1 ~ p です。p はモデルの学習に使用した予測子の数です。どの予測子もカテゴリカルではない場合、このプロパティは空 ([]) になります。
データ型: single | double
この プロパティ は読み取り専用です。
応答変数名。文字ベクトルを指定します。
データ型: char
この プロパティ は読み取り専用です。
予測子データに現れる順序で並んでいる予測子変数名。一意の文字ベクトルの cell 配列として指定します。PredictorNames の長さは、予測子変数として使用される学習データ X に含まれている変数の数と等しくなります。
データ型: cell
この プロパティ は読み取り専用です。
展開された予測子名。一意の文字ベクトルの cell 配列として指定します。
モデルがカテゴリカル変数用のエンコーディングを使用している場合、ExpandedPredictorNames には展開された変数を表す名前が格納されます。それ以外の場合、ExpandedPredictorNames は PredictorNames と同じです。
データ型: cell
この プロパティ は読み取り専用です。
学習に使用された一意のクラス ラベル。一意の文字ベクトルの cell 配列として指定します。
データ型: cell
オブジェクト関数
loss | 学習した特徴量の重みの精度をテスト データに対して評価 |
predict | 近傍成分分析 (NCA) 分類器の使用による応答の予測 |
refit | 分類用の近傍成分分析 (NCA) モデルの再当てはめ |
selectFeatures | Select important features for NCA classification or regression |
例
標本データを読み込みます。
load ionosphereデータ セットには 34 個の連続予測子があります。応答変数はレーダー反射で、b (不良) または g (良好) のラベルが付けられます。
分類用の近傍成分分析 (NCA) モデルを当てはめて、関連する特徴量を判別します。
mdl = fscnca(X,Y);
返された NCA モデル mdl は FeatureSelectionNCAClassification オブジェクトです。このオブジェクトには、学習データ、モデルおよび最適化に関する情報が格納されています。このオブジェクトのプロパティ (特徴量の重みなど) には、ドット表記を使用してアクセスできます。
特徴量の重みをプロットします。
plot(mdl.FeatureWeights,"o") xlabel("Feature Index") ylabel("Feature Weight") grid on

無関係な特徴量の重みはゼロになります。fscnca を呼び出すときに Verbose=1 オプションを指定すると、最適化の情報がコマンド ラインに表示されます。目的関数と反復回数をプロットして最適化プロセスを可視化することもできます。
plot(mdl.FitInfo.Iteration,mdl.FitInfo.Objective,"o-") grid on xlabel("Iteration Number") ylabel("Objective")

ModelParameters プロパティは、モデルに関する詳細情報が含まれている struct です。このプロパティのフィールドには、ドット表記を使用してアクセスできます。たとえば、データが標準化されているかどうかを調べます。
mdl.ModelParameters.Standardize
ans = logical
0
0 は、NCA モデルを当てはめる前にデータが標準化されていないことを意味します。各予測子のスケールが非常に異なる場合は、fscnca を呼び出すときに名前と値の引数 Standardize=true を使用して予測子を標準化することができます。
バージョン履歴
R2016b で導入
参考
predict | fscnca | refit | loss | selectFeatures
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)