lossは普通は損失と訳します。誤差はerrorですね。
「損失関数」とか、聞き覚えありませんか?
ニューラルネットのような勾配法を使う機械学習手法では、その損失を最小化するという問題を解いて学習を行っています。
仕組みの理解は大事なので、わからなければ勉強してください。
損失の数値自体は小さければ小さいほど良いです。ただし、値のスケールは場合(データやネットワークの構造)によります。
また、epochが進むにつれて損失が低下していく傾向なら、学習がうまくいっているといえます。というか、基本的にはそれだけ見て判断します。
やたらに数字が大きいとか、明らかに変なところにべたーっと張り付いて動かないとか、epochが増えるに従って増加していくとかだと、何か都合の悪いことが起きているんじゃないかなぁ、ということが損失の数値からわかります。
accuracyは精度と訳す場合もありますが、正解率とか正確度と訳した方が安心できます。
(precisionという別の指標があって、こちらを精度とする場面が多いです。はっきり言って厄介なので、正確を期するなら英単語のまま取り扱った方が良いです)
指標の意味は、対象サンプル数中どれだけ正しく分類されたかですね。思いつく中で一番単純な指標だと思います。
これは0~1の間の数字で、高ければ高いほど(1に近いほど)良いです。
バリデーションは、バリデーション用に選んだデータに対して指標などを計算することです。
バリデーション用のデータは、kerasだとモデルをfitさせる際に指定していると思います。渡したデータから一定割合自動的に選ばれるとか、明示的にデータそのものを渡すとかのオプションがあったはずです。
1こということはないはずですが。ある程度バリデーション用データの数がないと、正確な判断ができません。
val_loss, val_accはバリデーションデータに対する損失と正解率、ということです。当然train_lossとtrain_accもあります。
これらの役割というか用途としましては、ちゃんと学習が進んでいるか、過学習していないかといったことを確認したりするのに使えます。
参考リンク
MNISTでハイパーパラメータをいじってloss/accuracyグラフを見てみる
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/01 12:10