2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[ゼロから作るDeep Learning]損失関数 交差エントロピー誤差を分かりやすく解説してみた

2
Posted at

はじめに

この記事はゼロから作るディープラーニング 5章ニューラルネットワークの学習を自分なりに理解して分かりやすくアウトプットしたものです。
文系の自分でも理解することが出来たので、気持ちを楽にして読んでいただけたら幸いです。
また、本書を学習する際に参考にしていただけたらもっと嬉しいです。

交差エントロピー誤差とは

分類問題を解くためのニューラルネットワークの損失関数として使われる関数です。
実際に行われている処理を軽く説明すると、出力層のsoftmax関数から出力された値をネイビア数で指数計算したものに正解データを掛け、それの総和にマイナスをつけます。
言葉で説明するのは理解しにくいので図と数式で表してみます。
スクリーンショット 2019-10-22 20.11.19.png
tが正解データ zが予測データ
スクリーンショット 2019-10-22 20.12.22.png

では実際にpythonで実装してみます。

# 交差エントロピー誤差 tが正解データ yが予測データ
def cross_entropy_error(t,y):
    delta = 1e-7
    return -(t * np.log(y + delta)).sum()
cross_entropy_error(t,y)
0.3566748010815999

予測データに1e-7を足してあげる事で予測データが0の時にエラーが起きてしまうのを防ぐことができます。

2
4
0

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
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?