MATLAB Answers

0

regressionLayer中での計算について

Asked by Kenta Itakura on 27 Sep 2018
Latest activity Edited by Tohru Kikawada on 28 Sep 2018
regressionLayer中で、どのような計算を行い、回帰を行っているかを知りたいです。(https://jp.mathworks.com/help/deeplearning/ref/regressionlayer.html) 例えば、畳み込みニューラル ネットワークを使用して回帰モデルにあてはめ、定量的な予測する場合(例:https://jp.mathworks.com/help/deeplearning/examples/train-a-convolutional-neural-network-for-regression.html)、畳み込み層などから抽出した特徴量に対して最小二乗法による線形回帰を行い、そこで得られた最適な式を用いて回帰予測を行っている、という解釈で正しいでしょうか。

  0 Comments

Sign in to comment.

1 Answer

Answer by Tohru Kikawada on 28 Sep 2018
Edited by Tohru Kikawada on 28 Sep 2018
 Accepted Answer

Deep Learning Toolboxの RegressionOutputLayer では損失関数を平均二乗誤差として定義しています。したがって、 畳み込み層、全結合層などの出力値と真値の平均二乗誤差が最小になるように、誤差逆伝搬アルゴリズムで各フィルタの重みやバイアスが調整されます。誤差逆伝搬アルゴリズム(ソルバー)がどのように係数を更新するかについては 確率的勾配降下法 の項目をご覧ください。
一方、ご自身で損失関数を定義することも可能です。 たとえば、 カスタム回帰出力層の定義 のように平均絶対誤差 (MAE) を損失関数として定義することも可能です。

  1 Comment

Kenta Itakura on 28 Sep 2018
ご回答いただき、誠にありがとうございます。 カスタム回帰出力層の定義も参考にし、他の損失関数も定義して、試してみようと思います。ありがとうございました。

Sign in to comment.