Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

CompactRegressionNeuralNetwork

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

    説明

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

    作成

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

    プロパティ

    すべて展開する

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

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

    ニューラル ネットワーク モデル内の全結合層のサイズ。正の整数ベクトルとして返されます。LayerSizes の i 番目の要素は、ニューラル ネットワーク モデルの i 番目の全結合層の出力数です。

    LayerSizes には最終全結合層のサイズは含まれません。この層の出力は常に 1 つです。

    データ型: single | double

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

    全結合層の学習済みの層の重み。cell 配列として返されます。cell 配列内の i 番目のエントリは、i 番目の全結合層の層の重みに対応します。たとえば、Mdl.LayerWeights{1} は、モデル Mdl の最初の全結合層についての重みを返します。

    LayerWeights には最終全結合層の重みが含まれます。

    データ型: cell

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

    全結合層の学習済みの層のバイアス。cell 配列として返されます。cell 配列内の i 番目のエントリは、i 番目の全結合層の層のバイアスに対応します。たとえば、Mdl.LayerBiases{1} は、モデル Mdl の最初の全結合層についてのバイアスを返します。

    LayerBiases には最終全結合層のバイアスが含まれます。

    データ型: cell

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

    ニューラル ネットワーク モデルの全結合層の活性化関数。次の表の値をもつ文字ベクトルまたは文字ベクトルの cell 配列として返されます。

    説明
    'relu'

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

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

    'tanh'

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

    'sigmoid'

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

    f(x)=11+ex

    'none'

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

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

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

    データ型: char | cell

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

    最終全結合層の活性化関数。'none' として返されます。

    データ プロパティ

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

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

    データ型: cell

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

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

    データ型: double

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

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

    データ型: cell

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

    応答変数名。文字ベクトルとして返されます。

    データ型: char

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

    応答変換関数。'none' として返されます。生の応答値が変換されません。

    オブジェクト関数

    loss回帰ニューラル ネットワークの損失
    partialDependence部分従属の計算
    plotPartialDependence部分依存プロット (PDP) および個別条件付き期待値 (ICE) プロットの作成
    predict回帰ニューラル ネットワークの使用による応答の予測

    すべて折りたたむ

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

    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: 'linear'
                       Solver: 'LBFGS'
              ConvergenceInfo: [1×1 struct]
              TrainingHistory: [1000×7 table]
    
    
      Properties, Methods
    
    

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

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

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

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

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

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

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

    R2021a で導入