機械学習/ニューラルネットワークの分野で、損失関数とは何ですか?
これは、Tensorflowチュートリアルをフォローしているときに出てきました。 https://www.tensorflow.org/get_started/get_started
損失関数は、出力にペナルティを科す方法です。
次の例は、監視された設定、つまり正しい結果が必要であることがわかっている場合のものです。損失関数は、監視されていない設定でも適用できます。
常に1を予測するモデルがあるとします。スカラー値1だけです。
このモデルには多くの損失関数を適用できます。 L2はユークリッド距離です。
2という値を渡して、モデルにx ** 2関数を学習させたい場合、結果は4になります(2 * 2 = 4のため)。 L2損失を適用すると、|| 4-1 || ^ 2 = 9として計算されます。
また、独自の損失関数を作成することもできます。損失関数は常に10であると言えます。したがって、モデルの出力に関係なく、損失は一定になります。
損失関数が重要なのはなぜですか?まあ、彼らは逆伝播とニューラルネットワークのコンテキストで、モデルがどれほど貧弱であったかを決定します。また、モデルが学習できるように、伝播する最終層の勾配も決定します。
他のコメントが示唆しているように、基本的な資料から始めるべきだと思います。 http://neuralnetworksanddeeplearning.com/ から始めるのに適したリンクを次に示します。
ネットワークが生成した結果が期待される結果からどれだけ離れているかを説明します。これは、モデルがその予測で行ったエラーの大きさを示します。
次に、そのエラーを取り、モデルを通してそれを「逆伝播」し、その重みを調整して、次回から真実に近づけます。
価値のある損失関数には、回帰損失関数と分類損失関数があります。
回帰損失関数は、モデルが予測している値とラベルの実際の値の差を表します。
そのため、損失関数は、ある時点で予測とラベルを比較するときに、ラベル付きデータに対して意味を持ちます。
この損失関数は、多くの場合、エラー関数またはエラー式と呼ばれます。
回帰モデルに使用する一般的なエラー関数は、L1およびL2、フーバー損失、分位点損失、対数コッシュ損失です。
注:L1損失は平均絶対誤差とも呼ばれます。 L2損失は、平均二乗誤差または二次損失とも呼ばれます。
分類の損失関数 分類問題の予測の不正確さに対して支払われる価格を表します(特定の観測がどのカテゴリに属するかを特定する問題)。
いくつか例を挙げましょう:対数損失、焦点損失、指数関数的損失、ヒンジ損失、相対エントロピー損失など。
注:回帰ではより一般的に使用されますが、二乗損失関数は書き換えて分類に使用できます。