質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1164閲覧

バリデーション誤差とバリデーション精度はどういうものなのか

taiyo2017

総合スコア170

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

1クリップ

投稿2018/09/30 00:17

バリデーション誤差とバリデーション精度はどういうものなのでしょうか?
keras.callbacks.History オブジェクトのなかの、 history['val_loss']とhistory['val_acc'] がどういう役割のものかわかりません。
バリデーションは、1こ選んでそれをテストとし、残りの群のものを学習とし検証する方法だと思うのですが、その誤差と精度とはどういう値なのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

lossは普通は損失と訳します。誤差はerrorですね。

「損失関数」とか、聞き覚えありませんか?

ニューラルネットのような勾配法を使う機械学習手法では、その損失を最小化するという問題を解いて学習を行っています。

仕組みの理解は大事なので、わからなければ勉強してください。

損失の数値自体は小さければ小さいほど良いです。ただし、値のスケールは場合(データやネットワークの構造)によります。

また、epochが進むにつれて損失が低下していく傾向なら、学習がうまくいっているといえます。というか、基本的にはそれだけ見て判断します。

やたらに数字が大きいとか、明らかに変なところにべたーっと張り付いて動かないとか、epochが増えるに従って増加していくとかだと、何か都合の悪いことが起きているんじゃないかなぁ、ということが損失の数値からわかります。


accuracyは精度と訳す場合もありますが、正解率とか正確度と訳した方が安心できます。
(precisionという別の指標があって、こちらを精度とする場面が多いです。はっきり言って厄介なので、正確を期するなら英単語のまま取り扱った方が良いです)

指標の意味は、対象サンプル数中どれだけ正しく分類されたかですね。思いつく中で一番単純な指標だと思います。

これは0~1の間の数字で、高ければ高いほど(1に近いほど)良いです。


バリデーションは、バリデーション用に選んだデータに対して指標などを計算することです。

バリデーション用のデータは、kerasだとモデルをfitさせる際に指定していると思います。渡したデータから一定割合自動的に選ばれるとか、明示的にデータそのものを渡すとかのオプションがあったはずです。

1こということはないはずですが。ある程度バリデーション用データの数がないと、正確な判断ができません。

val_loss, val_accはバリデーションデータに対する損失と正解率、ということです。当然train_lossとtrain_accもあります。

これらの役割というか用途としましては、ちゃんと学習が進んでいるか、過学習していないかといったことを確認したりするのに使えます。


参考リンク
MNISTでハイパーパラメータをいじってloss/accuracyグラフを見てみる

投稿2018/09/30 00:42

編集2018/09/30 23:59
hayataka2049

総合スコア30933

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

taiyo2017

2018/10/01 12:10

ありがとうございます。とてもわかりやすかったです!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問