汎化誤差

Pythonで学ぶ木ベースのMachine Learning

Elie Kawerk

Data Scientist

教師あり学習 - 内部の仕組み

  • 教師あり学習: $y =f(x)$、$f$は未知。

ノイズのあるデータセット

Pythonで学ぶ木ベースのMachine Learning

教師あり学習の目標

  • $f$を最もよく近似するモデル$\hat{f}$を見つける: $\hat{f} \approx f$

  • $\hat{f}$はロジスティック回帰、決定木、ニューラルネットワークなどが考えられる。

  • ノイズをできる限り除去する。

  • 最終目標: $\hat{f}$は未知のデータセットに対して低い予測誤差を達成すること。

Pythonで学ぶ木ベースのMachine Learning

$f$の近似における課題

  • 過学習:

    $\hat{f}(x)$が訓練セットのノイズに適合してしまう。

  • 未学習:

    $\hat{f}$が$f$を近似するのに十分な柔軟性を持たない。

Pythonで学ぶ木ベースのMachine Learning

過学習

過学習

Pythonで学ぶ木ベースのMachine Learning

未学習

未学習

Pythonで学ぶ木ベースのMachine Learning

汎化誤差

  • $\hat{f}$の汎化誤差: $\hat{f}$は未知のデータに対して汎化できるか?

  • 以下のように分解できます:

    $\hat{f}$の汎化誤差 $= bias^2 + variance + \text{irreducible error}$

Pythonで学ぶ木ベースのMachine Learning

バイアス

  • バイアス: $\hat{f} \neq f$ となる平均的な誤差を表す項。

高バイアス

Pythonで学ぶ木ベースのMachine Learning

分散

  • 分散: 異なる訓練セットにおける$\hat{f}$のばらつきを表す。

高分散

Pythonで学ぶ木ベースのMachine Learning

モデルの複雑度

  • モデルの複雑度: $\hat{f}$の柔軟性を決定する。

  • 例: 最大木深度、葉ノードの最小サンプル数、...

Pythonで学ぶ木ベースのMachine Learning

バイアス・分散トレードオフ

汎化誤差の分解

Pythonで学ぶ木ベースのMachine Learning

バイアス・分散トレードオフ:視覚的説明

バイアス・分散の視覚的説明

Pythonで学ぶ木ベースのMachine Learning

練習しましょう!

Pythonで学ぶ木ベースのMachine Learning

Preparing Video For Download...