regressionLayer中での計算について

5 views (last 30 days)
Kenta
Kenta on 27 Sep 2018
Edited: 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)、畳み込み層などから抽出した特徴量に対して最小二乗法による線形回帰を行い、そこで得られた最適な式を用いて回帰予測を行っている、という解釈で正しいでしょうか。

Accepted Answer

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

Sign in to comment.

More Answers (0)

Categories

Find more on Deep Learning Toolbox in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!