MLA-C01の勉強をしていて、いちばん「覚えたはずなのに落ちる」のが評価指標でした。問題文の状況に対して、指標の選び方がズレると一気に全部崩れる。今日はそこを落ち着いて整理します。
回帰の評価指標(MSE / MAE / RMSE / R^2 / MAPE)
回帰系は、指標の名前が似ているのがまず罠でした。
MSE(平均二乗誤差)
平均との差を二乗して平均。大きな誤差ほど強くペナルティがかかる。
- なぜそうなるのか: 二乗することで外れ値に強く反応します。外れ値を「許してはいけない重大なミス」として重く見たいときは有効ですが、単位が元の値の二乗になるため、直感的な解釈が難しいのが難点です。
RMSE(平方平均二乗誤差)
MSEの平方根。
- なぜそうなるのか: MSEの弱点(単位が二乗で解釈しにくい)を補うために平方根を取っています。これにより単位が元のデータと同じ(円、kgなど)に戻るため、「説明のしやすさ」が問われる試験問題では正解になりやすいです。
MAE(平均絶対誤差)
絶対値で平均との差を平均。
- なぜそうなるのか: 二乗がないので、極端な外れ値があっても全体が支配されにくいです。**「外れ値の影響を抑えて、一般的な精度の実態を見たい」**業務(売上や需要予測など)では、MSEよりもこちらが選ばれます。
R^2(決定係数)
「平均値だけで予測し続けるモデル」に比べて、どれだけ改善したかの割合。
- 間違えた理由: 負になり得ることを忘れていました。負の$R^2$は、「平均値で予測する(ベースライン)よりも性能が低い」という、かなり絶望的な状態を指します。
MAPE(平均絶対パーセント誤差)
誤差を「割合(%)」で見る。
- なぜそうなるのか: 単位が異なる複数の商品の予測精度を比較するのに便利ですが、実測値に0が含まれると分母が0になり計算不能(または爆発)になるという致命的な弱点があります。「売上が0の日があるデータ」という条件が出たら選んではいけません。
二値分類の評価指標(Recall / Precision / F1 / Accuracy / 特異度 / F-β / Balanced Accuracy / AUC)
ここは日本語訳が揺れるので、英語名と「何を見落としたくないか」のセットで覚えます。
Recall(再現率)
実際に陽性の人のうち、陽性と判定できた割合。「見落とし」を減らす指標。
- なぜそうなるのか: 分母が「実際の陽性」。医療診断のように「病気の人を陰性と誤判定(偽陰性)するのが一番怖い」ケースで最優先されます。
Precision(適合率)
陽性と判定した人のうち、本当に陽性だった割合。「空振り(誤警報)」を減らす指標。
- なぜそうなるのか: 分母が「予測の陽性」。スパムメール判定のように「普通のメールをスパムと誤判定(偽陽性)するのが一番困る」ケースで重視されます。
F1スコア / F-βスコア
RecallとPrecisionのバランス。
- F1スコア: 二つの調和平均。片方が極端に低いと全体も低くなる性質があります。
- F-βスコア: βを使ってどちらを重視するか調整します。beta > 1ならRecall重視、beta < 1ならPrecision重視です。ここ、試験で「どっちがどっち?」となりやすいポイントです。
Accuracy(正解率)と Balanced Accuracy
- Accuracy: 全体でどれだけ当たったか。データが「陽性1:陰性99」のように偏っている(不均衡)と、全部陰性と答えるだけで99%になってしまい、役に立ちません。
- Balanced Accuracy: 「Recall(陽性の正解率)」と「特異度(陰性の正解率)」の平均をとる指標。不均衡データでも公平に評価できます。
AUC(ROC曲線下面積)
閾値を0から1まで動かしたときの総合的な判別能力。
- なぜそうなるのか: 特定の閾値(0.5など)に依存せず、モデルそのものの「並び替え能力」を評価します。不均衡データに強く、ランダムだと0.5、完璧だと1.0になります。
学習の挙動:損失が周期的に増減する
損失(Loss)がなめらかに下がらず、ギザギザしたり周期的に上下するパターン。
学習率(Learning Rate)が大きすぎる
- 挙動: 最適な点(谷底)を飛び越えて、左右の壁を往復している状態です。
- 対策: 学習率を下げます。
バッチサイズが小さすぎる
- 挙動: 1回の更新に使うデータが少なすぎて、たまたま選んだデータの癖に反応し、学習がフラフラします(ノイズが多い)。
- 対策: バッチサイズを大きくして、更新を安定させます。
ドロップアウト(Dropout)
- 対策: 「検証損失(Validation Loss)だけが上昇していく」という絵に描いたような過学習ならドロップアウトを増やしますが、振動している場合はまず学習率を疑うのがセオリーです。
特徴量エンジニアリング:正規化(Min-Max)vs 標準化
- Min-Max正規化: 値を0〜1に収める。外れ値があると、他のデータが極端に狭い範囲に押し込められてしまうため、外れ値に弱いです。
- 標準化(Standardization): 平均0、分散1にする。正規分布を仮定するアルゴリズムや、外れ値がある程度含まれる場合に適しています。
- 共通点: k-NNやニューラルネットワークなど、「距離」や「勾配」を計算するアルゴリズムでは、どちらかのスケーリングが必須です。
ここまでのまとめ(自分向け)
今日は評価指標を中心に整理しました。
結局、私は「指標そのもの」より「問題の状況(不均衡データ、外れ値の有無、ビジネス的なリスク)に合う指標」の選び方で落としていました。
明日は、AWSのサービス側(SageMakerの組み込みアルゴリズムと、それぞれの推奨指標)をまとめます。
コメントを残す