ITエンジニア ノイのブログ

ITエンジニアのノイです。 YouTubeで ITエンジニアのお勉強という学習用の動画を公開しています。チャンネル登録お願いします!https://m.youtube.com/channel/UCBKfJIMVWXd3ReG_FDh31Aw/playlists

クロスエントロピー誤差関数 (deltaを用いる理由)

クロスエントロピー誤差関数は、主に分類問題において使用されます。この関数は、予測値(y)と正解ラベル(t)の間の差異を測るために使用されます。

クロスエントロピー誤差関数

数学的には、クロスエントロピー誤差関数は以下のように表されます。

E = -Σ(t * log(y))

ここで、tは正解ラベル(one-hotエンコーディングされたもの)、yは予測値です。

x = np.linspace(-5,5,100)
y = np.log(x)
plt.plot(x,y)
plt.show()

計算上の安定性のために、yに0が含まれる場合に対処する必要があります。具体的には、log(0)の計算は定義されていないため、エラーが発生します。

log関数の概形

これを回避するために、上記のコードではdelta(非常に小さい値)をyに加えています。これにより、yが0に近い場合でも計算が安定し、エラーを回避することができます。

つまり、deltaを使用することで、数値的な安定性が向上し、計算上の問題を回避することができます。

youtu.be