メインコンテンツ

CompactRegressionNeuralNetwork

回帰用のコンパクトなニューラル ネットワーク モデル

R2021a 以降

    説明

    CompactRegressionNeuralNetwork は、RegressionNeuralNetwork モデル オブジェクトのコンパクトなバージョンです。コンパクトなモデルには、回帰モデルの学習に使用されたデータが含まれません。このため、コンパクトなモデルを使用しても、交差検証など一部のタスクは実行できません。コンパクトなモデルは、新しいデータに対する応答値の予測などのタスクに使用します。

    作成

    CompactRegressionNeuralNetwork オブジェクトは、compact を使用して完全な RegressionNeuralNetwork モデル オブジェクトから作成します。

    プロパティ

    すべて展開する

    ニューラル ネットワークのプロパティ

    この プロパティ は読み取り専用です。

    ニューラル ネットワーク モデルの全結合層のサイズ。

    プロパティの値は、モデルの当てはめに使用した方法によって異なります。

    • ニューラル ネットワーク アーキテクチャを指定する dlnetwork または層配列を使用して当てはめたモデルの場合、このプロパティは空になります。この場合、モデルのニューラル ネットワーク アーキテクチャを調べるには、dlnetwork (Deep Learning Toolbox) 関数を使用してモデルを dlnetwork オブジェクトに変換します。

    • それ以外の場合、プロパティは正の整数ベクトルになります。LayerSizesi 番目の要素がニューラル ネットワーク モデルの i 番目の全結合層の出力数です。この場合、LayerSizes には最終全結合層のサイズは含まれません。この層の出力は常に応答変数ごとに 1 つです。

    データ型: single | double

    この プロパティ は読み取り専用です。

    全結合層の学習済みの層の重み。

    プロパティの値は、モデルの当てはめに使用した方法によって異なります。

    • ニューラル ネットワーク アーキテクチャを指定する dlnetwork または層配列を使用して当てはめたモデルの場合、このプロパティは空になります。この場合、モデルの学習可能なパラメーターを調べるには、dlnetwork (Deep Learning Toolbox) 関数を使用してモデルを dlnetwork オブジェクトに変換します。

    • それ以外の場合、プロパティは cell 配列になります。cell 配列のエントリ i が全結合層 i の層の重みに対応します。たとえば、Mdl.LayerWeights{1} は、モデル Mdl の最初の全結合層についての重みを返します。この場合、LayerWeights には最終全結合層の重みが含まれます。

    データ型: cell

    この プロパティ は読み取り専用です。

    全結合層の学習済みの層のバイアス。

    プロパティの値は、モデルの当てはめに使用した方法によって異なります。

    • ニューラル ネットワーク アーキテクチャを指定する dlnetwork または層配列を使用して当てはめたモデルの場合、このプロパティは空になります。この場合、モデルの学習可能なパラメーターを調べるには、dlnetwork (Deep Learning Toolbox) 関数を使用してモデルを dlnetwork オブジェクトに変換します。

    • それ以外の場合、プロパティは cell 配列になります。cell 配列のエントリ i が全結合層 i の層のバイアスに対応します。たとえば、Mdl.LayerBiases{1} は、モデル Mdl の最初の全結合層についてのバイアスを返します。この場合、LayerBiases には最終全結合層のバイアスが含まれます。

    データ型: cell

    この プロパティ は読み取り専用です。

    ニューラル ネットワーク モデルの全結合層の活性化関数。

    プロパティの値は、モデルの当てはめに使用した方法によって異なります。

    • ニューラル ネットワーク アーキテクチャを指定する dlnetwork または層配列を使用して当てはめたモデルの場合、このプロパティは空になります。この場合、モデルのニューラル ネットワーク アーキテクチャを調べるには、dlnetwork (Deep Learning Toolbox) 関数を使用してモデルを dlnetwork オブジェクトに変換します。

    • それ以外の場合、プロパティは文字ベクトルまたは文字ベクトルの cell 配列になります。

      Activations に活性化関数が 1 つだけ含まれている場合は、ニューラル ネットワーク モデルの最終全結合層を除くすべての全結合層の活性化関数になります。最終全結合層には活性化関数はありません (OutputLayerActivation)。

      Activations が活性化関数の配列の場合は、i 番目の要素がニューラル ネットワーク モデルの i 番目の層の活性化関数になります。

    Activations が文字ベクトルまたは文字ベクトルの cell 配列の場合、値は次の表のようになります。

    説明
    "relu"

    正規化線形ユニット (ReLU) 関数 — 各入力要素に対して、0 より小さい値については 0 に設定するという次のしきい値演算を実行します。

    f(x)={x,x00,x<0

    "tanh"

    双曲線正接 (tanh) 関数 — 各入力要素に関数 tanh を適用します。

    "sigmoid"

    シグモイド関数 — 各入力要素に対して次の演算を実行します。

    f(x)=11+ex

    "none"

    恒等関数 — 変換を実行せずに、各入力要素を次のようにそのまま返します。f(x) = x

    データ型: char | cell

    この プロパティ は読み取り専用です。

    最終全結合層の活性化関数。

    プロパティの値は、モデルの当てはめに使用した方法によって異なります。

    • ニューラル ネットワーク アーキテクチャを指定する dlnetwork または層配列を使用して当てはめたモデルの場合、このプロパティは空になります。この場合、モデルのニューラル ネットワーク アーキテクチャを調べるには、dlnetwork (Deep Learning Toolbox) 関数を使用してモデルを dlnetwork オブジェクトに変換します。

    • それ以外の場合、プロパティは 'none' になります。

    データ プロパティ

    この プロパティ は読み取り専用です。

    予測子変数名。文字ベクトルの cell 配列として返されます。PredictorNames の要素の順序は、予測子名が学習データに現れる順序に対応します。

    データ型: cell

    この プロパティ は読み取り専用です。

    カテゴリカル予測子のインデックス。正の整数のベクトルとして返されます。予測子データの行に観測値が含まれていると仮定すると、CategoricalPredictors には、カテゴリカル予測子が含まれている予測子データの列に対応するインデックス値が格納されます。どの予測子もカテゴリカルではない場合、このプロパティは空 ([]) になります。

    データ型: double

    この プロパティ は読み取り専用です。

    展開された予測子名。文字ベクトルの cell 配列として返されます。モデルがカテゴリカル変数用のエンコーディングを使用している場合、ExpandedPredictorNames には展開された変数を表す名前が格納されます。それ以外の場合、ExpandedPredictorNamesPredictorNames と同じです。

    データ型: cell

    R2023b 以降

    この プロパティ は読み取り専用です。

    予測子の平均。数値ベクトルとして返されます。ニューラル ネットワーク モデルに学習させるときに Standardize1 または true に設定した場合、ベクトル Mu の長さは展開された予測子の数と等しくなります (ExpandedPredictorNames を参照)。展開されたカテゴリカル予測子に対応するダミー変数については、ベクトルに値 0 が格納されます。

    ニューラル ネットワーク モデルに学習させるときに Standardize0 または false に設定した場合、Mu の値は空ベクトル ([]) になります。

    データ型: double

    この プロパティ は読み取り専用です。

    応答変数の名前。文字ベクトルまたは文字ベクトルの cell 配列として返されます。

    データ型: char | cell

    応答変換関数。'none' または関数ハンドルを指定します。ResponseTransform は、生の応答値を変換する方法を表します。

    MATLAB® 関数やユーザー定義関数の場合は、関数ハンドルを入力します。たとえば、Mdl.ResponseTransform = @function を入力できます。ここで function は、元の応答値を受け入れ、変換した応答が格納されている同じサイズの出力を返します。

    データ型: char | function_handle

    R2023b 以降

    この プロパティ は読み取り専用です。

    予測子の標準偏差。数値ベクトルとして返されます。ニューラル ネットワーク モデルに学習させるときに Standardize1 または true に設定した場合、ベクトル Sigma の長さは展開された予測子の数と等しくなります (ExpandedPredictorNames を参照)。展開されたカテゴリカル予測子に対応するダミー変数については、ベクトルに値 1 が格納されます。

    ニューラル ネットワーク モデルに学習させるときに Standardize0 または false に設定した場合、Sigma の値は空ベクトル ([]) になります。

    データ型: double

    オブジェクト関数

    すべて展開する

    dlnetwork (Deep Learning Toolbox)深層学習ニューラル ネットワーク
    limeLocal Interpretable Model-agnostic Explanations (LIME)
    partialDependence部分依存の計算
    plotPartialDependence部分依存プロット (PDP) および個別条件付き期待値 (ICE) プロットの作成
    shapleyシャープレイ値
    loss回帰ニューラル ネットワークの損失
    predict回帰ニューラル ネットワークの使用による応答の予測
    gatherGather properties of Statistics and Machine Learning Toolbox object from GPU

    すべて折りたたむ

    モデルから学習データを削除することにより、完全な回帰ニューラル ネットワーク モデルのサイズを縮小します。コンパクトなモデルを使用すると、メモリ効率を向上させることができます。

    patients データ セットを読み込みます。データ セットから table を作成します。各行が 1 人の患者に対応し、各列が診断の変数に対応します。変数 Systolic を応答変数として使用し、残りの変数を予測子として使用します。

    load patients
    tbl = table(Age,Diastolic,Gender,Height,Smoker,Weight,Systolic);

    データを使用して回帰ニューラル ネットワーク モデルに学習させます。tblTrain の列 Systolic を応答変数として指定します。数値予測子を標準化するための指定を行います。

    Mdl = fitrnet(tbl,"Systolic","Standardize",true)
    Mdl = 
      RegressionNeuralNetwork
               PredictorNames: {'Age'  'Diastolic'  'Gender'  'Height'  'Smoker'  'Weight'}
                 ResponseName: 'Systolic'
        CategoricalPredictors: [3 5]
            ResponseTransform: 'none'
              NumObservations: 100
                   LayerSizes: 10
                  Activations: 'relu'
        OutputLayerActivation: 'none'
                       Solver: 'LBFGS'
              ConvergenceInfo: [1×1 struct]
              TrainingHistory: [619×7 table]
    
    
      Properties, Methods
    
    

    Mdl は完全な RegressionNeuralNetwork モデル オブジェクトです。

    compact を使用してモデルのサイズを縮小します。

    compactMdl = compact(Mdl)
    compactMdl = 
      CompactRegressionNeuralNetwork
                   LayerSizes: 10
                  Activations: 'relu'
        OutputLayerActivation: 'none'
    
    
      Properties, Methods
    
    

    compactMdlCompactRegressionNeuralNetwork モデル オブジェクトです。compactMdl では、格納されるプロパティが完全なモデル Mdl よりも少なくなっています。

    各ニューラル ネットワーク モデルで使用されるメモリの量を表示します。

    whos("Mdl","compactMdl")
      Name            Size            Bytes  Class                                                    Attributes
    
      Mdl             1x1             52240  RegressionNeuralNetwork                                            
      compactMdl      1x1              6769  classreg.learning.regr.CompactRegressionNeuralNetwork              
    

    完全なモデルの方がコンパクトなモデルよりも大きくなっています。

    拡張機能

    すべて展開する

    バージョン履歴

    R2021a で導入

    すべて展開する