regressionLayer中での計算について

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

 採用された回答

Tohru Kikawada
Tohru Kikawada 2018 年 9 月 28 日
編集済み: Tohru Kikawada 2018 年 9 月 28 日

2 投票

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

1 件のコメント

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

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeDeep Learning Toolbox についてさらに検索

質問済み:

2018 年 9 月 27 日

編集済み:

2018 年 9 月 28 日

Community Treasure Hunt

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

Start Hunting!