LoginSignup
6
6

More than 5 years have passed since last update.

【数式なしで説明】なぜニューラルネットワーク分類にクロスエントロピー、シグモイド、ソフトマックスが使われがち?

Last updated at Posted at 2018-01-01

背景

ニューラルネットワークでの分類問題クロスエントロピーシグモイド関数ソフトマックス関数がよく使われている。

そして、計算式があふれ、目を背け、結果だけみて、修正できない。

こんな私ですが、ニューラルネットワークでの分類問題にクロスエントロピー、シグモイド関数、ソフトマックス関数が使われがちかを数式無しで説明してみます。

ソフトマックス関数は確率分布表現にベスト

ソフトマックス関数の数式は気にせず、その特徴は以下の2つ

  • ある数値群(ベクトル)をソフトマックス関数に通すと、各要素の和がぴったり1
  • ある数値群(ベクトル)をソフトマックス関数に通すと、全要素が0から1の間にある

つまり、最後の出力の直前の活性化関数ソフトマックス関数を使えば、分類問題の答えとしてカテゴリAが50%、Bが20%・・・みたいな感じで理想的な結果を出力できるのです。

クロスエントロピーとシグモイド関数の相性抜群

ニューラルネットワークでの分類問題において、目的関数は正直なんだっていいのです。
でもなぜ平均二乗誤差でなく、クロスエントロピー誤差なのか?

当然、目的関数は微分しないといけません。

驚くべきは、クロスエントロピーの微分シグモイド関数の微分を掛け算するとすごくきれいな数式になるのです。

結論

これらの話を結論付けると、

  • ニューラルネットワーク最後の活性化関数はソフトマックス関数
  • 途中の活性化関数はシグモイド関数
  • 目的関数クロスエントロピー誤差

とするのが、計算コストや求める答えにとって理想的ということがわかります。

6
6
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6