Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

regressionLayer

説明

回帰層は、回帰タスクの半平均二乗誤差損失を計算します。

layer = regressionLayer は、ニューラル ネットワークの回帰出力層を RegressionOutputLayer オブジェクトとして返します。

predict を使用して、学習済み回帰ネットワークの応答を予測します。応答の正規化は、回帰用のニューラル ネットワークの学習の安定化と高速化に役立つことがよくあります。詳細については、回帰用の畳み込みニューラル ネットワークの学習を参照してください。

layer = regressionLayer(Name,Value) は、名前と値のペアを使用して、オプションの Name プロパティおよび ResponseNames プロパティを設定します。たとえば、regressionLayer('Name','output') は、'output' という名前の回帰層を作成します。各プロパティ名を一重引用符で囲みます。

すべて折りたたむ

'routput' という名前の回帰出力層を作成します。

layer = regressionLayer('Name','routput')
layer = 
  RegressionOutputLayer with properties:

             Name: 'routput'
    ResponseNames: {}

   Hyperparameters
     LossFunction: 'mean-squared-error'

回帰用の既定の損失関数は、平均二乗誤差です。

Layer 配列に回帰出力層を含めます。

layers = [ ...
    imageInputLayer([28 28 1])
    convolution2dLayer(12,25)
    reluLayer
    fullyConnectedLayer(1)
    regressionLayer]
layers = 
  5x1 Layer array with layers:

     1   ''   Image Input         28x28x1 images with 'zerocenter' normalization
     2   ''   2-D Convolution     25 12x12 convolutions with stride [1  1] and padding [0  0  0  0]
     3   ''   ReLU                ReLU
     4   ''   Fully Connected     1 fully connected layer
     5   ''   Regression Output   mean-squared-error

入力引数

すべて折りたたむ

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用して名前と値の各ペアを区切り、Name を引用符で囲みます。

例: regressionLayer('Name','output') は、'output' という名前の回帰層を作成します。

層の名前。文字ベクトルまたは string スカラーとして指定します。Layer 配列入力の場合、関数 trainnettrainNetworkassembleNetworklayerGraph、および dlnetwork は、名前が "" の層に自動的に名前を割り当てます。

regressionLayer オブジェクトは、このプロパティを文字ベクトルとして格納します。

データ型: char | string

応答の名前。文字ベクトルの cell 配列、または string 配列として指定します。学習時に、学習データに従って応答名が自動的に設定されます。既定値は {} です。

データ型: cell

出力引数

すべて折りたたむ

回帰出力層。RegressionOutputLayer オブジェクトとして返されます。

詳細

すべて折りたたむ

回帰出力層

回帰層は、回帰タスクの半平均二乗誤差損失を計算します。 一般的な回帰問題の場合、回帰層が最後の全結合層の後に続かなければなりません。

1 つの観測値の場合、平均二乗誤差は次で求められます。

ここで、R は応答の数、ti はターゲット出力、yi は応答 i に対するネットワークの予測値です。

イメージ回帰ネットワークおよび sequence-to-one 回帰ネットワークの場合、回帰層の損失関数は R で正規化されるのではなく、予測応答の半平均二乗誤差になります。

image-to-image 回帰ネットワークの場合、回帰層の損失関数は R で正規化されるのではなく、各ピクセルの予測応答の半平均二乗誤差になります。

ここで、H、W、および C は、それぞれ出力の高さ、幅、チャネル数を表し、p は t および y の各要素 (ピクセル) に対して線形に付けたインデックスです。

sequence-to-sequence 回帰ネットワークの場合、回帰層の損失関数は R で正規化されるのではなく、各タイム ステップの予測応答の半平均二乗誤差になります。

ここで、S はシーケンス長です。

学習時には、ミニバッチ内の観測値に対する平均損失が計算されます。

拡張機能

バージョン履歴

R2017a で導入