AI研究所 - AI(人工知能)に脅かされないために、AI(人工知能)を作る側の人間になる -

HOME  >  AI(人工知能)用語集  >  損失関数・誤差関数

損失関数・誤差関数とは

誤差関数は統計分析や機械学習の分野において、測定データとモデル関数の誤差による関数です。たとえば、モデル関数が1次関数であるような線形回帰の場合は、誤差は測定データ群と直線との距離(二乗和)になるため、誤差関数はモデル関数の傾きと切片を変数とする2次関数になります。
また、モデル関数がシグモイド関数であるようなロジスティック回帰の場合は、誤差関数は二値クロスエントロピー関数になります。

損失関数は誤差関数とほぼ同じか、より包括的な概念です。
モデル関数とデータ群の誤差という文脈では誤差関数と呼ばれます。学習の文脈では損失関数と呼ばれ、また誤差関数以外にもたとえばカルバック・ライブラー (KL)情報量などを含みます。

適切な問題のために適切な損失関数を選ぶことは重要です。
ほとんどの場合、損失関数は扱う問題によって以下のような関数がすでに定義されています。
たとえば、回帰問題の場合は平均二乗誤差(MSE)関数、分類問題の場合は2クラス分類問題では2クラス交差クロスエントロピー誤差関数、多クラス分類問題では多クラス交差クロスエントロピー誤差関数、シーケンス学習問題ではコネクショニスト時系列分類法(CTC)、サポートベクターマシンではヒンジ損失関数が主に用いられます。損失関数は他にも、Huber関数、指数損失関数などが知られています。

ニューラルネットワークで機械学習を行う際は、損失関数が最小になるように学習を行います。
実際の学習では過学習を防ぐためしばしば正則化項が用いられ、損失関数にこの正則化項を加えたものをコスト関数と呼びます。多くの場合、ニューラルネットワークは目的関数を最小(大)化する最適化問題を解くために反復学習を行いますが、このコスト関数を含むものが目的関数となります。


目的関数の最適化問題を解くことは、狭義にはすなわち損失関数(誤差関数)を最小化することです。
ニューラルネットワークの学習では多くの場合、この問題を解析的には解けないため、損失関数の勾配が0になる点を逐次的に探索する勾配法(確率的勾配降下法)を用いて、各ノードの重みとバイアスを更新します。
勾配法では損失関数が凸関数であれば大域的最適解に収束しますが、通常ニューラルネットワークの損失関数は非凸関数であるため、局所最小や鞍点などの局所最適解に陥りがちです。
この問題を解決するため、さまざまなオプティマイザーが考案されています。


参考になったら「いいね!」と「シェア」をお願いします!!

このエントリーをはてなブックマークに追加

AI(人工知能)入門セミナー開催中
AI(人工知能)入門セミナー AI(人工知能)入門セミナー IoT入門セミナー

AI入門ブログの中の人

AI研究所 研究スタッフ
通称:マサミ
アメリカ・サンフランシスコにある情報メディアの専門学校を卒業。大手金融会社での事務経験を経て、2016年9月よりAI研究所に入所。見習い研究員として、AI技術を日々勉強中。

Facebookページ