性能指標 | 基礎
性能指標とは、モデルの予測結果が実際の値・正解にどれだけ近いか(あるいは望ましい振る舞いをしているか)を定量的に測るための基準です。分類問題では正解率・適合率・再現率・F値・ROC-AUCなど、回帰問題ではMSE・RMSE・MAE・R²などが代表的に用いられます。
分類問題
混合行列
| 実際: Positive | 実際: Negative | |
|---|---|---|
| 予測: Positive | TP (True Positive) | FP (False Positive) |
| 予測: Negative | FN (False Negative) | TN (True Negative) |
正解率 / 適合率 / 再現率 / F1 値
- 正解率:$accuracy = \dfrac{TP + TN}{TP + TN + FP + FN}$
- 適合率:$precision = \dfrac{TP}{TP + FP}$
- 再現率:$recall = \dfrac{TP}{TP + FN}$
- $F1\text{-}score(measure) = \dfrac{2 \times (Precision \times Recall)}{Precision + Recall}$
上記の数値例で計算すると:
- Accuracy = $(50 + 100) / 165 ≈ 0.909$
- Precision = $50 / 55 ≈ 0.909$
- Recall = $50 / 60 ≈ 0.833$
ROC-AUC
ROC曲線は、分類の閾値を変化させたときの「真陽性率(再現率)」と「偽陽性率」の関係をプロットしたもの。AUC(Area Under the Curve)はその曲線の下側の面積で、0.5〜1の値を取ります。1に近いほど分類性能が高く、0.5はランダム予測と同程度であることを意味します。閾値に依存せずモデルの識別能力全体を評価できる点が特徴です。
- ROC 曲線が左上に張り出すほど AUC が1に近づき性能が高い
パープレキシティ(Perplexity)
主に言語モデルの性能評価に使われる指標で、モデルが次の単語(トークン)をどれだけ的確に予測できているかを表します。数式的には損失(クロスエントロピー)の指数として計算され、値が低いほど「モデルが次に来る単語を絞り込めている=予測性能が高い」ことを意味します。新シラバスでLLM関連の評価指標として追加された用語なので、押さえておく価値があります。
- パープレキシティは値が低いほど予測が絞り込めている(=性能が高い)
回帰の評価指標(MSE / RMSE / MAE / $R^2$)
- $y_i$:実際の値(正解)
- $\hat{y}_i$(ハット):モデルの予測値
- $\bar{y}$(バー):実際の値 $y$ の平均値
MSE:Mean Squared Error(平均二乗誤差)
\[MSE = \frac{1}{n}\sum_{i=1}^{n}(y_i - \hat{y}_i)^2\]- 誤差を二乗して平均する
- 外れ値(大きな誤差)を強く罰する
- 単位が元データの2乗になるため、直感的な解釈がしにくい
RMSE(二乗平均平方根誤差)
\[RMSE = \sqrt{MSE}\]- MSE の平方根を取ることで、単位を元のデータと揃えたもの
- 「平均的にどれくらいズレているか」を元のスケールで見たいときに使う
- MS E同様、外れ値の影響を受けやすい
MAE(平均絶対誤差)
\[MAE = \frac{1}{n}\sum_{i=1}^{n}|y_i - \hat{y}_i|\]- 誤差の絶対値の平均
- 外れ値への感度が MSE / RMSE より低い(二乗しないため)
- 誤差の大きさを直感的に表す
$R^2$(決定係数)
\[R^{2} = 1 - \frac{\sum_{i=1}^{n}(y_i - \hat{y}_i)^2}{\sum_{i=1}^{n}(y_i - \bar{y})^2}\]- モデルが目的変数の分散をどれだけ説明できているかを表す指標
- 1 に近いほど当てはまりが良い
- 0 だと「平均値で予測するのと同程度」
- 負になると「平均値で予測するより悪い」ことを意味する
- 他の3つと違い、誤差そのものではなく「説明力」を表す点が特徴
指標の特徴
- MSE / RMSE は外れ値に敏感、MAE は頑健、という対比はよく問われる
- RMSE は MSE の平方根で単位が揃う
- R²は「0〜1」が基本だが、負になり得る点も選択肢に出やすいので要注意
モデル評価
データの種類
- 訓練データ:モデルの学習
- 検証データ:ハイパーパラメータの調整
- テストデータ:汎化性能検定
データ分割法
- ホールドアウト法
- k-分割交差検証法
過剰適合・過小適合
過剰適合(過学習)は学習では高い性能にも関わらずテストデータでは性能が低い状態を指します。
過小適合(未学習)は学習が足りていない状態を指します。