Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The Elements of Statistical Learning_7.11-7.12ー...

The Elements of Statistical Learning_7.11-7.12ー安田健士郎

The Elements of Statistical Learning(原書)
統計的学習の基礎

7.11 ブートストラップ法
7.12 条件付きテスト誤差か期待テスト誤差か

Graduate School of Advanced Mathematical Sciences, Meiji University (Tokyo, Japan)
Network Design Program

Kenshiro Yasuda

安田健士郎

June 10, 2023
Tweet

More Decks by 安田健士郎

Other Decks in Education

Transcript

  1. 前回(7.10)からの繋がり 機械学習モデルのテスト誤差(汎化誤差)を推定する際は、交差確認(交差 検証)法やブートストラップ法を用いて訓練データを工夫させている。 3 訓練データ テストデータ 機械学習 モデル 機械学習 モデル

    モデルの訓練 テストデータによる予測と評価 〜一般的な機械学習〜 予測値 交差確認 ブートストラップ 機械学習モデル の汎化性能を確認したいが、 テストデータが得られない場合は どうすれば良いか?? (7.10で解説済み) 真の値 テスト誤差 訓練データ を工夫して、汎化誤差(テスト誤差) を推定すれば良い!!
  2. ブートストラップ法とは • ブートストラップ法 ~Bootstrap method~ ◦ 集団から復元抽出で標本集合をランダムに取り出す手法 ◦ 統計的精度を評価するための汎用的な方法 ➢

    手法の用途例:母集団の統計的推定・仮設検定・モデルの評価 ブートストラップ法は集団からランダムな標本集合を作成する手法で、様々 な統計的精度を評価するための方法として利用されている。 原著Figure 7.12より引用 ★ 復元抽出 ◦ 一度抽出したサンプルが再び抽出 の対象となりうる抽出手法 ➢ 引いたくじを元に戻して再度引く ★ 標本集合 ◦ 母集団から抽出した部分集合 ➢ 日本人全員の中から選ばれた100人 4
  3. ブートストラップ法の簡単なイメージ サンプリングで集められたn=10のデータを一つの袋にまとめ、10回復元抽 出を実施し、n=10のブートストラップ標本を作成。これをN回繰り返す。 A B B B B D C

    C D D サンプルデータ (n=10) A B A A B C B B D D A C B B C D C D D D B B B B C C C C D D ブートストラップ標本① (n=10) ブートストラップ標本② (n=10) ブートストラップ標本③ (n=10) サンプルデータの袋から10回復元抽出を実施する ・・・ ・・・ サンプルデータを何回も集めるのは非常に面倒なので、1回得られたサンプルデータから何回もデータを 集めれば、それっぽいデータセットが何個も作れる!!(サンプルデータが正規分布でない時に有効) 5
  4. (再掲)前回(7.10)からの繋がり 機械学習モデルのテスト誤差(汎化誤差)を推定する際は、交差確認(交差 検証)法やブートストラップ法を用いて訓練データを工夫させている。 8 訓練データ テストデータ 機械学習 モデル 機械学習 モデル

    モデルの訓練 テストデータによる予測と評価 〜一般的な機械学習〜 予測値 交差確認 ブートストラップ 機械学習モデル の汎化性能を確認したいが、 テストデータが得られない場合は どうすれば良いか?? (7.10で解説済み) 真の値 テスト誤差 訓練データ を工夫して、テスト誤差(汎化誤差) を推定すれば良い!!
  5. (参考)機械学習モデルの汎化誤差を推定するためには? 汎化誤差推定をする際は、交差検証では訓練集合を分割させて誤差を得る。 ブートストラップでは標本を作成して訓練させ、元の集合で誤差を得る。 9 訓練全データ テスト 交差確認 ブートストラップ 訓練 テスト

    テスト テスト 訓練 訓練 訓練 訓練 訓練 k=1 k=2 k=3 k=4 訓練データ 訓練全データ ブートストラップ標本A ブートストラップ標本B ブートストラップ標本C ブートストラップ標本D 訓練データの分割箇所をずらして モデルの訓練をそれぞれ行う 各ブートストラップ標本で モデルをそれぞれ訓練させる
  6. ブートストラップ法:機械学習の汎化誤差推定 (1/2) 機械学習モデルにおける汎化誤差の推定では、ブートストラップ標本を用い てモデルを訓練させ、訓練集合をテストデータとして用いて誤差を求める。 訓練集合 ブートストラップ 標本 出力値 機械学習モデルの場合 ブートストラップ

    標本で訓練 訓練集合をモデルへ 入力し誤差を出力 ブートストラップ サンプリング :ブートストラップ回数 :ブートストラップ標本数 :ブートストラップ標本(i=1•••N) :機械学習モデルによる予測値 :正解値 (7.54) 機械学習モデルの汎化誤差の推定値 10
  7. ブートストラップ法:機械学習の汎化誤差推定 (2/2) この方法では、訓練するブートストラップ標本とテストの訓練集合に共通の 観測値を含んでしまうため、誤差の値が過大評価されてしまう傾向がある。 訓練集合 ブートストラップ 標本 出力値 機械学習モデルの場合 ブートストラップ

    標本で訓練 訓練集合をモデルへ 入力し誤差を出力 ブートストラップ サンプリング 11 (7.54) しかし、これは汎化誤差として 良い推定値とはならない! ブートストラップ標本と訓練集合に共通の 観測値を含んでしまっているから つまり、過学習もどきの状態になっている →交差検証のような工夫をすれば良いのでは? 機械学習モデルの汎化誤差の推定値
  8. 一つ抜きブートストラップ法を用いた汎化誤差推定 交差検証で用いた手法で標本を再作成し、訓練で用いなかったデータでテス トをさせて前項課題を解決した。なお、逆に過小評価傾向になりやすい。 訓練集合 ブートストラップ 標本 出力値 (7.56) 12 :i番目の観測値を含まない

     ブートストラップ標本bの番号集合 :   の要素数 一つ抜きブートストラップを用いた 機械学習モデルの汎用誤差の推定値 ブートストラップ サンプリング 訓練 i番目の観測値をモデル へ入力し、誤差を出力 機械学習モデルの場合 一つ抜き ブートストラップ 標本 データの重複により、バイアスが生じやすい つまり学習不足が指摘されてしまう結果に
  9. 一つ抜きブートストラップ法でバイアスが生じる理由 ブートストラップ標本内の異なる観測値の平均数は0.632Nのため、一つ抜き ブートストラップ法で訓練させた各モデルはそれぞれ学習不足傾向となる。 0.632N:ブートストラップ標本における異なる観測値の平均数 13 • ブートストラップ標本の標本数が5の場合(N=5)→ 0.632*5 = 3.16 ➢

    実質的なサンプルサイズは3.16となり、訓練するデータの質が下がる 一つ抜きブートストラップ法は2〜3分割交差検証と同レベルの学習しかしてない 元の訓練集合全てで訓練されたモデルよりも、 一つ抜きブートストラップ法の方が予測精度が格段と劣ってしまう 過小評価のバイアスが生じる(汎化誤差の推定値が大きくなりがち)
  10. 0.632推定量 (1/2) 0.632推定量は、一つ抜きブートストラップ法において生じた推定値の過小 評価のバイアスを緩和させるように改良した汎化誤差の推定手法である。 過小評価のバイアス(偏り)が生じるのを防止したい! 15 • 0.632推定量 ◦ 過小評価のバイアスを緩和させた汎化誤差推定値

    0.632推定量 0.632+推定量 :訓練集合全てで訓練させたモデルの汎化誤差推定値(訓練誤差)  →過大評価傾向 :一つ抜きブートストラップ法で訓練させたモデルの汎化誤差推定値 →過小評価傾向 (7.57)
  11. 0.632推定量 (2/2) 0.632推定量は、推定したいモデル自体が過学習を起こしていない前提で作 られている。よって、過学習の度合いに応じた推定量としては作用しない。 0.632推定量は過学習していないという前提で作られた推定量 16 • 0.632推定量 ◦ 訓練誤差と一つ抜きブートストラップ法誤差の重み付き平均とも言える

    過学習の度合いを考慮させた推定量を作る必要がある→「0.632+推定量」 汎化誤差の推定にて「参考にすべき誤差」であるかの価値比率が付与されるイメージ [err : Err] = [0.368 : 0.632] 極度に過学習している場合は、汎化誤差推定において訓練誤差の価値が無くなるため、価値の比率は [err : Err] = [0 : 1] となるはずだが、[0.368 : 0.632]と固定されてしまっている。 よって、0.632推定量は過学習を考慮していないことになる。 (7.57)
  12. 交差検証とブートストラップによる汎化誤差推定の適正 100個の訓練集合における、10分割交差検証とブートストラップ法(0.632+)を 用いた最良モデルからの相対誤差を示した図。概ね上手く出来ている。 18 • 図の概要 ◦ 最良のモデルに対する相対誤差 ◦ 交差検証は10分割交差検証の推定量

    ◦ ブートストラップ法は0.632+推定量 • この図からわかること ◦ 最良からの誤差が20%以内にほぼ集約 ◦ AICの結果とても似ている この結果から、AIC、交差検証の推定値、 ブートストラップ法の推定値を最小化させる ことで、最適に近いモデルを得ることが可能
  13. (再掲)前回(7.10)からの繋がり 機械学習モデルのテスト誤差(汎化誤差)を推定する際は、交差確認(交差 検証)法やブートストラップ法を用いて訓練データを工夫させている。 20 訓練データ テストデータ 機械学習 モデル 機械学習 モデル

    モデルの訓練 テストデータによる予測と評価 〜一般的な機械学習〜 予測値 交差確認 ブートストラップ 機械学習モデル の汎化性能を確認したいが、 テストデータが得られない場合は どうすれば良いか?? (7.10で解説済み) 真の値 テスト誤差 訓練データ を工夫して、汎化誤差(テスト誤差) を推定すれば良い!!
  14. (再掲)機械学習モデルの汎化誤差を推定するためには? 汎化誤差推定をする際は、交差検証では訓練集合を分割させて誤差を得る。 ブートストラップでは標本を作成して訓練させ、元の集合で誤差を得る。 21 訓練全データ テスト 交差確認 ブートストラップ 訓練 テスト

    テスト テスト 訓練 訓練 訓練 訓練 訓練 k=1 k=2 k=3 k=4 訓練データ 訓練全データ ブートストラップ標本A ブートストラップ標本B ブートストラップ標本C ブートストラップ標本D 訓練データの分割箇所をずらして モデルの訓練をそれぞれ行う 各ブートストラップ標本で モデルをそれぞれ訓練させる
  15. • 機械学習モデルの汎化誤差を推定する方法 ◦ 交差確認法とブートストラップ法 • ブートストラップ法 ◦ 訓練集合からランダムな標本集合を作成し、それぞれ訓練させる手法 ➢ 汎化誤差推定にて過大評価しがち →交差確認法を真似できないか・・・↓↓

    • 一つ抜きブートストラップ法 ◦ i番目の観測値を含まないブートストラップ標本を使用して訓練させる手法 ➢ 汎化誤差推定にて過小評価しがち →過大評価と過小評価の折り合いをつけたい↓↓ • 0.632推定量 ◦ 汎化誤差推定における過大評価と過小評価の折り合いをつけた汎化誤差推定値 ➢ 過学習モデルを考慮していない  →過学習の度合いごとに推定値を取れないか↓↓ • 0.632+推定量 ◦ 過学習の度合いを考慮させた、ブートストラップ法による汎化誤差推定値 22 7.11のまとめ
  16. Figure 7.14の解説 (1/2) Figure7.14は、部分集合の大きさにおける実際の予測誤差、交差検証による 汎化誤差推定値、予測誤差と汎化誤差推定値の近似を示したグラフである。 26 • 各図の解説 ◦ 左上:100個の訓練集合における誤差(ErrT)

    ◦ 右上:10分割交差確認での汎化誤差推定値 ◦ 左下:一つ抜き交差確認での汎化誤差推定値 ◦ 右下:各推定値のErrT, Errの近似誤差曲線 • 各パラメータの解説 ◦ 赤線:期待汎化誤差(Err)→これは全て同じ ◦ 黒線:それぞれの汎化誤差推定値の平均値 ◦ 緑点:NCVとErrTの偏差平均値(近似) ◦ 青点:10CVとErrTの偏差平均値(近似) ◦ 橙点:10CVの平均値とErrの偏差平均値(近似) 近似誤差 誤差 誤差 誤差 誤差 部分集合の大きさp 部分集合の大きさp 部分集合の大きさp 部分集合の大きさp N分割交差確認誤差 (NCV) 回帰予測誤差 (ErrT) 10分割交差確認誤差 (10CV)
  17. Figure 7.14の解説 (2/2) Figure7.14から交差確認で求めた期待汎化誤差推定値は、期待汎化誤差を良 く推定していることがわかる。10CVの方がNCVより良く推定できている。 27 • この図からわかること ◦ 黒線と赤線はそれぞれ推移は似ている

    ◦ NCVは10CVと比べてバラツキがある ◦ 緑点→青点→橙点の順での近似度合いである • この図から考えられること ◦ 交差確認の推定値はErrを良く推定している ◦ NCVより10CVの方が良く推定している 近似誤差 誤差 誤差 誤差 誤差 部分集合の大きさp 部分集合の大きさp 部分集合の大きさp 部分集合の大きさp N分割交差確認誤差 (NCV) 回帰予測誤差 (ErrT) 10分割交差確認誤差 (10CV) しかし、ErrTは良く推定されているのだろうか?? (右下図は平均化されているので良く見えているだけ) 相関を見てチェックしよう
  18. Figure 7.15の解説 (1/2) Figure7.15は、各訓練集合による条件付き汎化誤差の推定値と真の条件付き 汎化誤差の分布図と、部分集合の大きさにおける相関を示している。 28 • 各図の解説 ◦ 左上・左下・右上:

    ▪ 各訓練集合における誤差の分布 ◦ 右下: ▪ 部分集合の大きさにおける誤差の相関 • 各パラメータの解説 ◦ 分布(青):[x, y] = [ErrT, 10CV] ◦ 分布(橙):[x, y] = [ErrT, NCV] ◦ 相関(青):ErrT, 10CVの相関係数 ◦ 相関(橙):ErrT, NCVの相関係数 部分集合の大きさp=1 部分集合の大きさp=5 部分集合の大きさp=10 交差確認誤差(NCV, 10CV) 交差確認誤差(NCV, 10CV) 交差確認誤差(NCV, 10CV) 回帰予測誤差ErrT 回帰予測誤差ErrT 回帰予測誤差ErrT 部分集合の大きさp 相関
  19. Figure 7.15の解説 (2/2) Figure7.15から、条件付き汎化誤差の推定値と真の誤差に相関が無いことが わる。よって同様の訓練データだけでErrTを推定するのは困難である。 29 • この図からわかること ◦ 散布図からは大きな相関が示されていない

    ◦ ほとんどの部分で相関が負あるいは0である 部分集合の大きさp=1 部分集合の大きさp=5 部分集合の大きさp=10 交差確認誤差(NCV, 10CV) 交差確認誤差(NCV, 10CV) 交差確認誤差(NCV, 10CV) 回帰予測誤差ErrT 回帰予測誤差ErrT 回帰予測誤差ErrT 部分集合の大きさp 相関 特定の訓練集合に対する汎化誤差ErrTの推定は、 同じ訓練集合のデータが与えられただけでは困難