【要約】15-⑧[AI][Kaggle]Kaggle実践1(最終回): 過学習と戦ってみた! [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
開発者がKaggleのTitanicコンペにおいて、CVスコアとPublicスコアの乖離という過学習問題に直面した。訓練データでは極めて高い精度を出すが、未知のテストデータで精度が急落する現象が発生した。
- ・CVスコアは0.868超と過去最高を記録。
- ・Publicスコアは大幅に低下。
- ・グループ情報(家族等の生存状況)が強力なシグナルとなり、モデルが過剰適合した。
- ・グループ情報の有用性と過学習リスクのジレンマが生じた。
// Approach
開発者は、グループ情報を排除するのではなく、モデルの複雑さを制御する「強正則化」を採用した。グループ情報の有用性を維持しつつ、決定境界をマイルドにするアプローチを試みた。
- ・検証1:グループ情報を排除し、個人属性の交互作用特徴量を導入。
- ・性別×階級、年齢×階級、クラス内相対運賃、敬称×年齢などの特徴量を生成。
- ・検証2:グループ情報を維持し、決定木モデルのパラメータを極限まで制限。
- ・決定木の深さ(max_depth)を3〜4に制限。
- ・L2正則化(reg_lambda)を10.0〜100.0へ大幅に強化。
- ・7つの多様なモデルをOptunaを用いて重み付けブレンド。
// Result
開発者は、強正則化とアンサンブルにより、モデルの頑健性を向上させることに成功した。Publicスコアの改善は見られたが、最終的な目標値には届かなかった。
- ・Weighted Blending CV: 0.86420。
- ・Kaggle Public Score: 0.79425。
- ・グループ情報の完全排除よりも、強正則化による制御が有効であることを実証。
- ・モデルの複雑さを抑えることで、CVとPublicの乖離を抑制した。
Senior Engineer Insight
> 特徴量に強い相関が含まれる際、モデルの表現力を意図的に削る判断は実戦的だ。決定木の深さ制限やL2正則化の強化は、過学習抑制に直結する。ただし、正則化が強すぎると精度が頭打ちになる。実運用では、CVとPublicの乖離を監視し、モデルの複雑度と精度のトレードオフを厳密に管理すべきである。