用語「損失関数」について説明。「正解値」と、モデルによる出力された「予測値」とのズレの大きさである損失値を計算するための関数を指し、例えば平均二乗誤差などの関数がある。
機械学習における損失関数(Loss function)とは、「正解値」と、モデルによる出力された「予測値」とのズレの大きさ(これを「Loss:損失」と呼ぶ)を計算するための関数である。この損失の値を最小化/最大化することで、機械学習モデルを最適化する。
例えば機械学習の一手法であるニューラルネットワークでは、損失関数は誤差逆伝播法(バックプロパゲーション:Back-propagation)と呼ばれる最適化の処理で用いられる。ちなみに誤差逆伝播法では、損失関数は誤差関数(Error function)とも呼ばれる。
損失関数にはさまざまなものがあるが、特に平均二乗誤差(MSE:Mean Squared Error)が有名である。他には、平均絶対誤差(MAE)や平均二乗誤差の平方根(RMSE)、平均二乗対数誤差(MSLE)、Huber損失、ポアソン損失、ヒンジ損失、カルバック-ライブラー情報量(KLD)などがある。これらは、モデルの性能を評価するための評価関数として使われることもある。
損失関数はコスト関数(Cost function)と呼ばれることもある。用語を使い分けるための厳密な定義があるわけではないが、より基礎的な分野、具体的には統計学の回帰分析などにおいては、損失関数ではなくコスト関数(もしくは後述の目的関数)という用語が使われる。また、コスト関数と呼ぶ場合、損失関数に正則化(=過学習を避けるためにモデルの複雑さにペナルティーを与えるテクニック)を加味したものを意味するとして、損失関数と区別されることがある。
なお、そもそも誤差/損失/コストは、いずれも何か良くないものであり減らすべき対象という点で同じような意味である。
「損失関数」は機械学習でよく使われる用語であるが、より広範な分野、具体的には数学の最適化問題や統計学などにおいては、最適化の目的/対象(Object)であるため目的関数(Objective function)と呼ぶのが一般的である。つまり、目的関数は、誤差関数/損失関数/コスト関数などを含むより一般的な概念/用語であると見なせる。
Copyright© Digital Advantage Corp. All Rights Reserved.