プロが教える店舗&オフィスのセキュリティ対策術

機械学習におけるクロスエントロピー誤差について、
ご質問させて下さい。

通常、クロスエントロピーを用いた損失関数では、
正解ラベルには0または1を与えて、
ロスを計算すると思いますが、
0,1以外を与えた場合、何が起きるのでしょうか。

たとえば、ある座標点の色が、
白ならば0、黒ならば1、
グレーならばグレースケールでの0〜1の値、
としてラベル付けした場合、
どのような学習モデルができあがりますか。

ラベルが0.5、推論結果も0.5で、
ピシャリと当てた場合でも、
計算上ロスが発生してしまうことになるので、
正しく学習されないことになりますよね?

回帰問題にクロスエントロピー損失関数を用いた場合、
どうなるのでしょうか、という質問になるのかもしれません。

よろしくお願い致します。

教えて!goo グレード

A 回答 (1件)

クロスエントロピーロスはBinary Logarithmic Lossを想定してみえますか。



その場合は、分類器の評価しか考えていないと思います。よって教師ラベルは0,1しかありません。
予測値は0~1の範囲の値が出てきますので、それを用いて計算します。

Rでは、ライブラリMLmetricsを使って計算でき、 y.predは0~1を引数に、y.trueはFalse or Trueを引数にするよう指定されています。

library(MLmetrics)
LogLoss(y.pred, y.true) # y.pred:0~1,y.true:False or True

算出式は以下のとおりであり、正解yiが0あるいは1によって前の項を使うか後ろの項を使うかが決まります。
仮にyiに0.5を使ったら、前後の項がロスとして加算され、ご指摘のとおり「正解していない」という評価になってしまいますね。

ですから、回帰の評価においてはロジスティック回帰の評価はできますが、連続関数の評価には使用できないと思います。
「クロスエントロピー誤差について」の回答画像1
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング