「誤差関数」という言葉を聞いたことはありますか?実はこの言葉、使われる分野によって少し違うものを指すことがあります。一つは数学や統計学で使われる「誤差関数(erf)」で、もう一つはAI・機械学習の分野で使われる「損失関数」としての役割です。
この記事では、初心者の方でも理解できるように、これら2つの「誤差関数」について、それぞれの意味と役割を解説していきます。
1. 【数学・統計学】誤差関数 (Error Function, erf)
まず、数学や統計学の世界で使われる「誤差関数」についてです。これは英語で “Error Function” と呼ばれ、erf(x)
という記号で表されます。
この誤差関数は、確率・統計学で非常に重要な「正規分布(ガウス分布)」と深い関係があります。正規分布は、平均値を中心に左右対称な釣鐘型のグラフを描く、データのばらつきを表すものです。誤差関数は、この正規分布の確率を計算するために使われる特殊な関数です。
具体的には、正規分布に従うデータが、ある範囲内に収まる確率を求める際に登場します。例えば、「ある工場で生産される製品の重さは平均100g、標準偏差2gの正規分布に従う。このとき、製品の重さが98gから102gの間になる確率は?」といった問題を解くときに、内部的に誤差関数が利用されます。
誤差関数の定義式
誤差関数は、以下の積分式で定義されます。初心者の方には少し難しく見えるかもしれませんが、「こういう数式で定義されているんだな」という程度で大丈夫です。
この式は、正規分布の確率密度関数を積分して確率を求める計算の一部を、便利な関数としてまとめたものと考えることができます。
2. 【AI・機械学習】誤差関数 (損失関数)
次に、IT分野、特にAI(人工知能)や機械学習の世界で「誤差関数」という言葉が使われる場合です。この文脈では、「損失関数(Loss Function)」とほぼ同じ意味で使われることがほとんどです。
機械学習の目的は、コンピュータにデータから学習させ、精度の高い予測モデルを作ることです。その際、モデルが算出した「予測値」と、実際の「正解値」との間にどれくらいの「ズレ(誤差)」があるかを測る必要があります。このズレの大きさを計算するための関数が、誤差関数(損失関数)です。
誤差関数が出力する値(誤差や損失)が小さければ小さいほど、そのモデルは「精度が高い」と評価できます。AIは、この誤差関数の値を最小化することを目標に、学習を何度も繰り返して賢くなっていきます。
代表的な誤差関数(損失関数)の種類
誤差関数(損失関数)には様々な種類があり、解決したい問題(回帰問題か分類問題かなど)によって使い分けられます。ここでは、代表的なものをいくつか紹介します。
関数の種類 | 概要 | 主な用途 |
---|---|---|
平均二乗誤差 (MSE) | 予測値と正解値の差(誤差)を二乗し、その平均を計算する。誤差が大きいほど、値が急激に大きくなる特徴がある。 | 回帰問題(住宅価格や株価の予測など) |
平均絶対誤差 (MAE) | 予測値と正解値の差の絶対値を取り、その平均を計算する。外れ値(極端に大きい・小さい値)の影響を受けにくい。 | 回帰問題 |
交差エントロピー誤差 | 予測した確率分布と、正解の確率分布の「近さ」を測る。正解から大きく外れるほど、値が急激に大きくなる。 | 分類問題(画像が犬か猫かの分類など) |
Pythonコードの例(平均二乗誤差)
実際にPythonで平均二乗誤差(MSE)を計算する簡単な例を見てみましょう。
import numpy as np
# 正解の値
correct_values = np.array()
# モデルが予測した値
predicted_values = np.array([2.5, 3.5, 4.0, 5.0, 5.5])
# 平均二乗誤差 (MSE) を計算
def mean_squared_error(y_true, y_pred): # 誤差を計算し、二乗して平均を取る mse = np.mean((y_true - y_pred) ** 2) return mse
# 誤差を計算して表示
error = mean_squared_error(correct_values, predicted_values)
print(f"平均二乗誤差 (MSE): {error}")
# 出力結果:
# 平均二乗誤差 (MSE): 0.6
この例では、正解値と予測値のズレを平均二乗誤差で計算し、「0.6」という結果を得ました。機械学習モデルは、この値がさらに小さくなるように、内部のパラメータを調整していくことになります。
まとめ
2つの「誤差関数」の違い
- 数学の誤差関数 (erf): 正規分布の確率計算に使われる、特定の形をした数学的な関数。
- AIの誤差関数 (損失関数): モデルの予測精度を測るための指標。予測と正解のズレを計算する関数の総称で、様々な種類がある。
このように、「誤差関数」という言葉は文脈によって指すものが異なります。数学的な文脈で出てきたときは正規分布に関連するerf
のことを、AIや機械学習の文脈で出てきたときはモデルの性能を評価するための「損失関数」のことを指していると理解すると、混乱が少なくなるでしょう。