連載
» 2021年04月15日 05時00分 公開

損失関数(Loss function)とは? 誤差関数/コスト関数/目的関数との違いAI・機械学習の用語辞典

用語「損失関数」について説明。「正解値」と、モデルによる出力された「予測値」とのズレの大きさである損失値を計算するための関数を指し、例えば平均二乗誤差などの関数がある。

[一色政彦,デジタルアドバンテージ]
「AI・機械学習の用語辞典」のインデックス

連載目次

用語解説

 機械学習における損失関数Loss function)とは、「正解値」と、モデルによる出力された「予測値」とのズレの大きさ(これを「Loss損失」と呼ぶ)を計算するための関数である。この損失の値を最小化/最大化することで、機械学習モデルを最適化する。

 例えば機械学習の一手法であるニューラルネットワークでは、損失関数は誤差逆伝播法バックプロパゲーションBack-propagation)と呼ばれる最適化の処理で用いられる。ちなみに誤差逆伝播法では、損失関数は誤差関数Error function)とも呼ばれる。

 損失関数にはさまざまなものがあるが、特に平均二乗誤差MSEMean Squared Error)が有名である。他には、平均絶対誤差(MAE)や平均二乗誤差の平方根(RMSE)、平均二乗対数誤差(MSLE)、Huber損失、ポアソン損失、ヒンジ損失、カルバック-ライブラー情報量(KLD)などがある。これらは、モデルの性能を評価するための評価関数として使われることもある。

図1 「損失関数」のイメージ 図1 「損失関数」のイメージ

コスト関数との違い

 損失関数はコスト関数Cost function)と呼ばれることもある。用語を使い分けるための厳密な定義があるわけではないが、より基礎的な分野、具体的には統計学の回帰分析などにおいては、損失関数ではなくコスト関数(もしくは後述の目的関数)という用語が使われる。また、コスト関数と呼ぶ場合、損失関数に正則化(=過学習を避けるためにモデルの複雑さにペナルティーを与えるテクニック)を加味したものを意味するとして、損失関数と区別されることがある。

 なお、そもそも誤差/損失/コストは、いずれも何か良くないものであり減らすべき対象という点で同じような意味である。

目的関数との違い

 「損失関数」は機械学習でよく使われる用語であるが、より広範な分野、具体的には数学の最適化問題や統計学などにおいては、最適化の目的/対象(Object)であるため目的関数Objective function)と呼ぶのが一般的である。つまり、目的関数は、誤差関数/損失関数/コスト関数などを含むより一般的な概念/用語であると見なせる。

「AI・機械学習の用語辞典」のインデックス

AI・機械学習の用語辞典

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。