RegressionOutputLayer
回帰出力層
説明
回帰層は、回帰タスクの半平均二乗誤差損失を計算します。
作成
regressionLayer
を使用して回帰出力層を作成します。
プロパティ
回帰出力
応答の名前。文字ベクトルの cell 配列、または string 配列として指定します。学習時に、学習データに従って応答名が自動的に設定されます。既定値は {}
です。
データ型: cell
学習に使用される損失関数。'mean-squared-error'
として指定します。
層
層の名前。文字ベクトルまたは string スカラーとして指定します。Layer
配列入力の場合、関数 trainNetwork
は、名前が ""
の層に自動的に名前を割り当てます。
RegressionOutputLayer
オブジェクトは、このプロパティを文字ベクトルとして格納します。
データ型: char
| string
層への入力の数。1
として返されます。この層は単一の入力のみを受け入れます。
データ型: double
入力名。{'in'}
として返されます。この層は単一の入力のみを受け入れます。
データ型: cell
層の出力の数。0
として返されます。この層には出力がありません。
データ型: double
層の出力の名前。{}
として返されます。この層には出力がありません。
データ型: cell
例
回帰出力層を作成します。
'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
詳細
回帰層は、回帰タスクの半平均二乗誤差損失を計算します。 一般的な回帰問題の場合、回帰層が最後の全結合層の後に続かなければなりません。
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 で導入R2024a 以降、RegressionOutputLayer
オブジェクトは非推奨となりました。代わりに、trainnet
を使用し、損失関数を "mse"
に設定してください。
RegressionOutputLayer
オブジェクトのサポートを削除する予定はありません。ただし、関数 trainnet
には次の利点があるため、代わりにこの関数を使うことを推奨します。
trainnet
はdlnetwork
オブジェクトをサポートしています。このオブジェクトは、ユーザーが作成したり外部のプラットフォームからインポートしたりできる、さまざまなネットワーク アーキテクチャをサポートしています。trainnet
を使用すると、損失関数を簡単に指定できます。組み込みの損失関数を選択するか、カスタム損失関数を指定できます。trainnet
はdlnetwork
オブジェクトを出力します。このオブジェクトは、ネットワークの構築、予測、組み込み学習、可視化、圧縮、検証、およびカスタム学習ループをサポートする統合されたデータ型です。trainnet
は、通常、trainNetwork
よりも高速です。
関数 trainNetwork
と RegressionOutputLayer
オブジェクトを組み合わせた代表的な使用法と、代わりに関数 trainnet
を使用するためのコードの更新方法を、次の表に示します。
非推奨 | 推奨 |
---|---|
net = trainNetwork(X,T,layers,options) 。layers には RegressionOutputLayer オブジェクトが含まれています。 | net = trainnet(X,T,layers,"mse",options); RegressionOutputLayer オブジェクトを使用せずに、layers で同じネットワークを指定しています。 |
net = trainNetwork(data,layers,options) 。layers には RegressionOutputLayer オブジェクトが含まれています。 | net = trainnet(data,layers,"mse",options); RegressionOutputLayer オブジェクトを使用せずに、layers で同じネットワークを指定しています。 |
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)