Main Content

transform

抽出された特徴量への予測子の変換

説明

z = transform(Mdl,x) は、モデル Mdl を使用してデータ x を特徴量 z に変換します。

すべて折りたたむ

SampleImagePatches データから、100 個の特徴量がある特徴変換モデルを作成します。

rng('default') % For reproducibility
data = load('SampleImagePatches');
q = 100;
X = data.X;
Mdl = sparsefilt(X,q)
Warning: Solver LBFGS was not able to converge to a solution.
Mdl = 
  SparseFiltering
            ModelParameters: [1x1 struct]
              NumPredictors: 363
         NumLearnedFeatures: 100
                         Mu: []
                      Sigma: []
                    FitInfo: [1x1 struct]
           TransformWeights: [363x100 double]
    InitialTransformWeights: []


ステップ サイズの制限または勾配サイズの制限に達したのではなく反復制限に達したために停止したので、sparsefilt は警告を発します。しかし、関数 transform を呼び出すことにより、返されたオブジェクトに含まれている学習済み特徴量を使用できます。

入力データ X の最初の 5 行を新しい特徴空間に変換します。

y = transform(Mdl,X(1:5,:));
size(y)
ans = 1×2

     5   100

入力引数

すべて折りたたむ

特徴抽出モデル。SparseFiltering オブジェクトまたは ReconstructionICA オブジェクトを指定します。関数 sparsefilt または関数 rica を使用して Mdl を作成します。

予測子データ。p 列の行列または p 列の数値テーブルを指定します。ここで、p はモデル内の予測子の個数 (Mdl.NumPredictors) です。入力行列または入力テーブルの各行は、変換対象の 1 つのデータ点を表します。

データ型: single | double | table

出力引数

すべて折りたたむ

変換されたデータ。nq 列の行列として返されます。ここで、n は入力データ x の行数、q は特徴量の個数 (Mdl.NumLearnedFeatures) です。

アルゴリズム

transform は、学習済みの重み行列 W を使用して入力予測子を出力特徴量にマッピングすることにより、予測された特徴量にデータを変換します。

  • rica の場合、入力データ X は出力特徴量 XW に対して線形的にマッピングされます。再構成 ICA アルゴリズムを参照してください。

  • sparsefilt の場合、入力データは出力特徴量 F^(X,W) に対して非線形的にマッピングされます。スパース フィルター アルゴリズムを参照してください。

    注意

    スパース フィルターの場合の transform の結果は、データ点の個数によって異なります。特に、transform を行列の各行に個別に適用した場合と transform を行列全体に一度に適用した場合では、結果が異なります。

バージョン履歴

R2017a で導入