回答:
損失が少ないほど、モデルは優れています(モデルがトレーニングデータに過剰適合している場合を除く)。損失はトレーニングと検証で計算され、その相互作用は、モデルがこれらの2つのセットに対してどの程度うまく機能しているかを示します。精度とは異なり、損失はパーセンテージではありません。これは、トレーニングセットまたは検証セットの各例で発生したエラーの合計です。
ニューラルネットワークの場合、通常、損失は負の対数尤度と、分類および回帰の残差平方和です。次に、当然ながら、学習モデルの主な目的は、ニューラルネットワークでの逆伝播などのさまざまな最適化手法を通じて重みベクトル値を変更することで、モデルのパラメーターに対する損失関数の値を減らす(最小化する)ことです。
損失値は、最適化を繰り返すたびに、特定のモデルの動作の良し悪しを示します。理想的には、1回または複数回の反復後に損失が減少すると予想されます。
モデルの精度は通常、モデルのパラメーターが学習および修正され、学習が行われなくなった後で決定されます。次に、テストサンプルがモデルに供給され、真のターゲットと比較した後、モデルで発生したミス(ゼロワンロス)の数が記録されます。次に、誤分類の割合が計算されます。
たとえば、テストサンプルの数が1000で、モデルがそれらの952を正しく分類している場合、モデルの精度は95.2%です。
損失額を減らしながら、微妙な点もいくつかあります。たとえば、モデルがトレーニングの例を「記憶」し、テストセットに対して一種の効果がなくなるオーバーフィットの問題に遭遇する場合があります。過剰適合は、正則化を使用しない場合、非常に複雑なモデル(自由パラメーターの数W
が多い)の場合、またはデータポイントの数N
が非常に少ない場合にも発生します。
これらは、通常異なるフェーズで使用されているモデルのパフォーマンスを評価するための2つの異なるメトリックです。
損失は、モデルの「最適な」パラメーター値(ニューラルネットワークの重みなど)を見つけるためのトレーニングプロセスでよく使用されます。これは、重みを更新することによってトレーニングで最適化しようとするものです。
精度は、適用される観点からより多くなります。上記の最適化されたパラメーターを見つけたら、このメトリックを使用して、モデルの予測が実際のデータと比較してどの程度正確かを評価します。
おもちゃの分類例を使用してみましょう。体重と身長から性別を予測したい。あなたは3つのデータを持っています、それらは次のとおりです:(0は男性を表し、1は女性を表します)
y1 = 0、x1_w = 50kg、x2_h = 160cm;
y2 = 0、x2_w = 60kg、x2_h = 170cm;
y3 = 1、x3_w = 55kg、x3_h = 175cm;
y = 1 /(1 + exp-(b1 * x_w + b2 * x_h))である単純なロジスティック回帰モデルを使用します
どのようにしてb1とb2を見つけますか?最初に損失を定義し、最適化方法を使用して、b1とb2を更新することにより、反復的な方法で損失を最小化します。
この例では、このバイナリ分類問題の一般的な損失は次のようになります(マイナス記号を合計記号の前に追加する必要があります)。
b1とb2がどうあるべきかわかりません。ランダムな推測をしてみましょうb1 = 0.1とb2 = -0.03。それでは、今の私たちの損失は何ですか?
だから損失は
次に、学習アルゴリズム(たとえば、勾配降下法)は、損失を減らすためにb1およびb2を更新する方法を見つけます。
b1 = 0.1およびb2 = -0.03が最後のb1およびb2(勾配降下からの出力)である場合はどうなりますか?
y_hat> = 0.5の場合、予測がfemale(1)であると仮定します。それ以外の場合は0になります。したがって、このアルゴリズムでは、y1 = 1、y2 = 1、y3 = 1と予測します。精度はどのくらいですか?y1とy2で誤った予測を行い、y3で正しい予測を行います。つまり、精度は1/3 = 33.33%になります。
PS:アミールの回答では、逆伝播はNNの最適化手法であると言われています。NNで重みの勾配を見つける方法として扱われると思います。NNの一般的な最適化方法は、GradientDescentとAdamです。
@Aadnanトレーニング/検証/テストデータセットを明確にするために:トレーニングセットは、モデルの初期トレーニングを実行するために使用され、ニューラルネットワークの重みを初期化します。
検証セットは、ニューラルネットワークがトレーニングされた後に使用されます。これは、ネットワークのハイパーパラメーターを調整し、それらの変更がモデルの予測精度にどのように影響するかを比較するために使用されます。トレーニングセットは、ニューラルネットワークのゲートの重みを構築するために使用されると考えることができますが、検証セットでは、ニューラルネットワークモデルのパラメーターまたはアーキテクチャを微調整できます。パラメータやアーキテクチャの変更がネットワークの予測能力にどのように影響するかを観察するために、同じデータおよびネットワークの重みに対するこれらの異なるパラメータ/アーキテクチャの繰り返し可能な比較を可能にするため、これは便利です。
次に、テストセットは、トレーニングと検証および検証データセットを使用したトレーニングとパラメーター/アーキテクチャーの選択後、以前に表示されていないデータでトレーニング済みニューラルネットワークの予測精度をテストするためにのみ使用されます。