CompactRegressionNeuralNetwork
説明
CompactRegressionNeuralNetwork
は、RegressionNeuralNetwork
モデル オブジェクトのコンパクトなバージョンです。コンパクトなモデルには、回帰モデルの学習に使用されたデータが含まれません。このため、コンパクトなモデルを使用しても、交差検証など一部のタスクは実行できません。コンパクトなモデルは、新しいデータに対する応答値の予測などのタスクに使用します。
作成
CompactRegressionNeuralNetwork
オブジェクトは、compact
を使用して完全な RegressionNeuralNetwork
モデル オブジェクトから作成します。
プロパティ
ニューラル ネットワークのプロパティ
この プロパティ は読み取り専用です。
ニューラル ネットワーク モデルの全結合層のサイズ。
プロパティの値は、モデルの当てはめに使用した方法によって異なります。
ニューラル ネットワーク アーキテクチャを指定する
dlnetwork
または層配列を使用して当てはめたモデルの場合、このプロパティは空になります。この場合、モデルのニューラル ネットワーク アーキテクチャを調べるには、dlnetwork
(Deep Learning Toolbox) 関数を使用してモデルをdlnetwork
オブジェクトに変換します。それ以外の場合、プロパティは正の整数ベクトルになります。
LayerSizes
の i 番目の要素がニューラル ネットワーク モデルの 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 に設定するという次のしきい値演算を実行します。 |
"tanh" | 双曲線正接 (tanh) 関数 — 各入力要素に関数 |
"sigmoid" | シグモイド関数 — 各入力要素に対して次の演算を実行します。 |
"none" | 恒等関数 — 変換を実行せずに、各入力要素を次のようにそのまま返します。f(x) = x |
データ型: char
| cell
この プロパティ は読み取り専用です。
最終全結合層の活性化関数。
プロパティの値は、モデルの当てはめに使用した方法によって異なります。
ニューラル ネットワーク アーキテクチャを指定する
dlnetwork
または層配列を使用して当てはめたモデルの場合、このプロパティは空になります。この場合、モデルのニューラル ネットワーク アーキテクチャを調べるには、dlnetwork
(Deep Learning Toolbox) 関数を使用してモデルをdlnetwork
オブジェクトに変換します。それ以外の場合、プロパティは
'none'
になります。
データ プロパティ
この プロパティ は読み取り専用です。
予測子変数名。文字ベクトルの cell 配列として返されます。PredictorNames
の要素の順序は、予測子名が学習データに現れる順序に対応します。
データ型: cell
この プロパティ は読み取り専用です。
カテゴリカル予測子のインデックス。正の整数のベクトルとして返されます。予測子データの行に観測値が含まれていると仮定すると、CategoricalPredictors
には、カテゴリカル予測子が含まれている予測子データの列に対応するインデックス値が格納されます。どの予測子もカテゴリカルではない場合、このプロパティは空 ([]
) になります。
データ型: double
この プロパティ は読み取り専用です。
展開された予測子名。文字ベクトルの cell 配列として返されます。モデルがカテゴリカル変数用のエンコーディングを使用している場合、ExpandedPredictorNames
には展開された変数を表す名前が格納されます。それ以外の場合、ExpandedPredictorNames
は PredictorNames
と同じです。
データ型: cell
R2023b 以降
この プロパティ は読み取り専用です。
予測子の平均。数値ベクトルとして返されます。ニューラル ネットワーク モデルに学習させるときに Standardize
を 1
または true
に設定した場合、ベクトル Mu
の長さは展開された予測子の数と等しくなります (ExpandedPredictorNames
を参照)。展開されたカテゴリカル予測子に対応するダミー変数については、ベクトルに値 0
が格納されます。
ニューラル ネットワーク モデルに学習させるときに Standardize
を 0
または false
に設定した場合、Mu
の値は空ベクトル ([]
) になります。
データ型: double
この プロパティ は読み取り専用です。
応答変数の名前。文字ベクトルまたは文字ベクトルの cell 配列として返されます。
データ型: char
| cell
応答変換関数。'none'
または関数ハンドルを指定します。ResponseTransform
は、生の応答値を変換する方法を表します。
MATLAB® 関数やユーザー定義関数の場合は、関数ハンドルを入力します。たとえば、Mdl.ResponseTransform = @function
を入力できます。ここで function
は、元の応答値を受け入れ、変換した応答が格納されている同じサイズの出力を返します。
データ型: char
| function_handle
R2023b 以降
この プロパティ は読み取り専用です。
予測子の標準偏差。数値ベクトルとして返されます。ニューラル ネットワーク モデルに学習させるときに Standardize
を 1
または true
に設定した場合、ベクトル Sigma
の長さは展開された予測子の数と等しくなります (ExpandedPredictorNames
を参照)。展開されたカテゴリカル予測子に対応するダミー変数については、ベクトルに値 1
が格納されます。
ニューラル ネットワーク モデルに学習させるときに Standardize
を 0
または false
に設定した場合、Sigma
の値は空ベクトル ([]
) になります。
データ型: double
オブジェクト関数
dlnetwork (Deep Learning Toolbox) | 深層学習ニューラル ネットワーク |
lime | Local Interpretable Model-agnostic Explanations (LIME) |
partialDependence | 部分依存の計算 |
plotPartialDependence | 部分依存プロット (PDP) および個別条件付き期待値 (ICE) プロットの作成 |
shapley | シャープレイ値 |
gather | Gather 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
compactMdl
は CompactRegressionNeuralNetwork
モデル オブジェクトです。compactMdl
では、格納されるプロパティが完全なモデル Mdl
よりも少なくなっています。
各ニューラル ネットワーク モデルで使用されるメモリの量を表示します。
whos("Mdl","compactMdl")
Name Size Bytes Class Attributes Mdl 1x1 52240 RegressionNeuralNetwork compactMdl 1x1 6769 classreg.learning.regr.CompactRegressionNeuralNetwork
完全なモデルの方がコンパクトなモデルよりも大きくなっています。
拡張機能
使用上の注意および制限:
次のオブジェクト関数は GPU 配列を完全にサポートしています。
次の少なくとも 1 つに該当する場合、オブジェクト関数は GPU で実行されます。
モデルが GPU 配列を使用して当てはめられている。
オブジェクト関数に渡す予測子データが GPU 配列である。
オブジェクト関数に渡す応答データが GPU 配列である。
詳細は、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2021a で導入fitrnet
を使用して RegressionNeuralNetwork
オブジェクトを gpuArray
データに当てはめて、そのオブジェクトを compact
に渡すことで、GPU 配列で CompactRegressionNeuralNetwork
オブジェクトを当てはめることができます。GPU で関数を実行できるように、CompactRegressionNeuralNetwork
のほとんどのオブジェクト関数で GPU 配列の入力引数がサポートされるようになりました。GPU 配列の入力をサポートしていないオブジェクト関数は、lime
および shapley
です。
ニューラル ネットワーク モデルに含まれる Mu
プロパティと Sigma
プロパティに、学習前の予測子の標準化に使用される平均と標準偏差がそれぞれ格納されます。これらのプロパティは、近似関数で標準化が一切実行されない場合は空になります。
参考
fitrnet
| predict
| loss
| RegressionPartitionedNeuralNetwork
| RegressionNeuralNetwork
| compact
| dlnetwork
(Deep Learning Toolbox)
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)