学習データと予測性能 Bias2 - Variance - Noise 分解 過学習 損失関数と Bias,Variance, Noise K-Nearest Neighbor法への応用 bias2とvarianceの間のトレードオフの線 形回帰への応用 過学習:over-fitting 教師データによる学習の目的は未知のデータ の正確な分類や識別 過学習(over-fitting) 教師データに追従しようとすればするほど、複雑な モデル(=パラメタ数の多い)になり、教師データへ の過剰な適応が起こりやすい。 このことを数学的に整理してみるのが目的。 損失関数と Bias,Variance, Noise xが与えられたときの結果:tの推定値=y(x) 損失関数: L(t,y(x)) ex. (y(x)-t)2 損失の期待値:E[L]を最小化する t の推定値=Et[t|x] この導出は次の次のページを参考にしてください E[L]を計算してみると(次のページ参照) E[ L] ( y ( x ) Et [t | x ]) 2 p( x )dx ( Et [t | x ] t )2 p( x, t )dtdx 第1項は予測値と学習データからの期待値の差の2乗、第2項 は雑音(noise) 参考:E[L]の計算 L y ( x) t y ( x) Et t | x Et t | x t 2 2 y ( x) Et t | x 2 y ( x) Et t | x Et t | x t Et t | x t 2 2 第2項の 1 / 2倍を tで周辺化する y( x) E t | xE t | x t p( x, t ) dt t t y ( x) Et t | x はtの関数ではないので y ( x) Et t | x Et t | x t p ( x, t )dt y ( x) Et t | x Et t | x p( x, t )dt tp( x, t )dt p ( x, t ) y ( x) Et t | x Et t | x px t dt px px y ( x) Et t | x Et t | x px Et t | x p x 0 E y ( x) t y ( x) Et t | x p ( x, t )dtdx 2 よって 2 y ( x) Et t | x px dx Et t | x t p ( x, t )dtdx 2 2 参考:E[L]を最小化するt の推定値=Et[t|x]の導出 E L L y ( x), t p x, t dtdx y ( x) t p x, t dtdx 2 E L を最小化する関数 y ( x)を求めるには変分法。 この場合は 簡単で E L を y ( x)で変分(微分)し0と おけばよい ただし、 xは微分の対象ではない ので、定数とみなして E L y ( x) t 2 px, t dt 2 y ( x) t px, t dt 0 y ( x) y ( x) y ( x) p x, t dt y ( x) p x tp x, t dt y ( x) px tpx, t dt p x, t t px dt tpt | x dt Et t | x おくから t(=Et[t|x])はxによって決まる。E[L]は次式でした。 E[ L] ( y ( x) Et [t | x]) 2 p( x)dx ( Et [t | x] t ) 2 p( x, t )dtdx 第2項 ()内の左の項は、観測値として与えられたxに対して E[L]を最小化するtの予測値だから、()内の右の項すな わち真のt との差は、観測における誤差と考えられる。 y(x)の作り方で解決できないノイズ は、データ点の観測に伴う誤差あるいはノイズの効果を示し、真の データ点は、大体 のような範囲にある。このノイズの項が既 に述べた次の式: 2 ( E [t | x] t ) t p( x, t )dtdx E[ L] ( y ( x) Et [t | x]) 2 p ( x)dx ( Et [t | x] t ) 2 p( x, t )dtdx さて、 E[L]の第1項と教師データDから機械学習で 得た y(x;D)の関係について考えてみよう。 母集団のモデルとしてp(x,t)を想定する。このモデ ルからDという教師データ集合が繰り返し取り出さ れる状況を考えてみる。 するとDからの機械学習の結果のy(x;D)の統計的 性質は、同じサイズのDを多数回、母集団モデル p(t,x)から取り出して、その上で期待値をとった ED[y(x;D)]によって評価する。 また、E[L]の第1項はy(x;D)を用いると次の式 ED ( y ( x; D ) E[t | x ]) 2 p( x )dx ED [( y ( x; D ) E[t | x ]) 2 ] ( y ( x : D) E[t | x ]) 2 ( y ( x : D) E D [ y ( x : D)] E D [ y ( x : D)] E[t | x ]) 2 ( y ( x : D) E D [ y ( x : D)]) 2 ( E D [ y ( x : D)] E[t | x ]) 2 2( y ( x : D) E D [ y ( x : D)])( E D [ y ( x : D)] E[t | x ]) この式をED[]すると、第3項は消え E D [( y ( x : D) E[t | x ]) 2 ] E D [( y ( x : D) E D [ y ( x : D)]) 2 ] E D [( E D [ y ( x : D)] E[t | x ]) 2 ] 第1項はvariance 第2項はbias2 variance: y(x)の機械学習による推定値が、教師データ集合に よって変動する度合いの期待値:複雑なモデルになって新規 データの予測誤差が悪化する度合い bias2:y(x)の機械学習による推定値が、損失の期待値:E[L]を 最小化するtからずれる度合いの期待値:モデルを記述が単純に なるとき予測誤差が悪化する度合い。 以上により損失の期待値:E[L]=bias2+variance+noise E [ L] ( E [ y( x; D)] E[t | x]) p( x)dx E [( y( x; D) E [ y( x; D)]) ] p( x)dx ( E[t | x] t ) p( x, t )dxdt 2 bias2 D 2 D D 2 variance noise bias2とvarianceの間には次のページに示すようなトレード オフがある。 新規データに対する誤差: 予測誤差 variance+ bias2+ noise noise variance variance+bias2 bias2 複雑 モデルの複雑さ 単純 bias2とvarianceの間のトレードオフをK-Nearest Neighbor法 と線形回帰で具体的に見てみよう。 K-Nearest Neighbor法 2クラスへの分類問題で考える。 教師データはクラス: があるとする。 未知のデータxがクラス とクラス: / と判定された相当数 である確率は xに近いほうからK個の教師データ点のうちでクラス / であるものの割合 至ってシンプルだがかなり強力。 下の図のような教師データの配置で考える K=1の場合:クラス青,赤の確率が等しい境界線は以下のようにかなり複 雑。相当多くのパラメターを使わないと記述できない。教師データ数に強く 依存。 は新規に到着した分類すべきデータ の点は本来青い点かもしれないが、赤だ と判断される。 の点は本来赤い点かもしれないが、青だと判断される。 K=3の場合のクラス間の境界 境界線はだいぶ滑らか。K=1の場合より境界を決 めるパラメターは多い この点は本来赤かもしれないが青と 判断される この青の近辺のデータは本当に青かもしれな いが、新規データとしては頻出しない K=13以上だと、どんな新規データでも赤と判定される。 K=1だと非常に複雑な境界線であり、個々の教師データに 強く依存した結果をだすため、過学習をしやすい。 bias2 が大 きい。 Kが大きくなると、境界線は平滑化される方向に進む。教師 データを適当な数使って結果を出すので、過学習を起こしにく い。 Kが非常に大きくなると、境界線はますます滑らか(=いい 加減?)になり、あるところから個別の教師データの影響が無 視され、モデルとして大域のデータに依存し、個別データに対 する精密さを欠くため、新規データを正確に分類できなくなっ てくる。 variance が大きい。 以上のから、 bias2とvarianceの間には次ページの図のよ うな関係が見てとれる。 Error rate 新規データの予測誤差 =bias2+variance+noise variance bias2 K=13 モデル複雑 K=1 K=3 モデル単純 最適な複雑さ:K bias2とvarianceの間のトレードオフを 線形回帰で具体的に見てみよう。 まず線形モデルのパラメタ-w推定の復習から K y xw wi xi i 0 ただし、 x (1, x1 ,, xK ), w ( w0 , w1 , ,, wK )T はノイズで N (0, 2 )と考える。 入力ベクトル:x から出力:y を得る関数がxの線形関数 (wとxの内積)にノイズが加算された場合を再掲 K y xw wi xi ただし、 x (1, x1 ,, xK ), w ( w0 , w1 , ,, wK )T i 0 はノイズで N (0, 2 )と考える。 得られたN個の観測データ の組(y,X)に対して2乗誤差を最 小化するようにwを推定し ŵ を得る。 x1 1 x11 X x 1 x N1 N y1 y Xw ε y N 1 ε N x1K xNK i (i 1,..., N )は N (0, 2 )の iid ˆ XT X w 1 XT y (0) ここで、前にやった損失の期待値 E(L) を思いだそう ただし、新規の未知データは以下の通り E y0 x0 [ L] ( y ( x0 ) E y0 [ y ( x0 ) | x0 ]) 2 p ( x0 )dx0 ( E y0 [ y ( x0 ) | x0 ] y0 ) 2 p( x0 , y0 )dy0dx0 (loss 0) y0 x0 w (loss1) E y0 [ y ( x0 ) | x0 ] y0 p y0 | x0 dy0 だったが、 (loss1)を使うと E y0 [ y0 | x0 ] x0 w p y0 | x0 dy0 x0 w p y0 | x0 dy0 p y0 | x0 dy0 x0 w (loss 2) E y0 x0 , D [ L] ( y x0 x0 w ) 2 p ( x0 , y )dx0dy ( x0 w y0 ) 2 p ( x0 , y0 , y )dx0dy0dy 第2項 ( x0 w y0 ) 2 p ( x0 , y0 , y )dx0dy0dy ( x0 w x0 w ) 2 p ( x0 , y0 , y )dx0dy0dy 2 p ( x0 )dx0 2 新規の未知データの観 測に伴う雑音 2 E [ L ] の第 1 項 ( y x x w ) 0 0 p( x0 , dy)dx0dy0dy 次に y0 x0 ,D すなわちN個の観測データ の組(あるいは計画行列) (y,X)=D:学習データとする部分について考える。 Xに対して繰り返しyを観測することでDを動かした場合の 期待 値:ED[..]を求めてみよう。 重みwの期待値: ŵ のD動かした場合の期待値 ED ŵ ˆ ED X T X X T y ED X T X X T Xw ε w ED w 1 1 おまけ 共分散行列 E X X X Xw ε w X X X Xw ε w E w X X X ε w w X X X ε w E X X X ε X X X ε E X X X εε X X X T 1 T 1 T T T ˆ ED X X X y ED w ˆ X X X y ED w ˆ cov D w 1 T T 1 T T T D 1 T T T 1 T T D 1 T T 1 T T T 1 T D T T 1T T D X X X I N N X X X X X X X X X X X 2 T 1 T T 1 2 T 1 T T 1 2 T 1 E y0 x0 , D [ L]の第1項 ( y x0 x0 w ) 2 p ( x0 , dy )dx0dy0dy E y0 x0 , D [( y ( x0 : D) x0 w ) 2 ] E y0 x0 , D [( y ( x0 : D) ED [ y ( x0 : D)])2 ] E y0 x0 , D [( ED [ y ( x0 : D)] x0 w ) 2 ] (loss10) ED [ y ( x : D)]は Dを動かしての期待値だ が、 Xは同一で yの ˆ になる。 値は ED w 観測だけを繰り返し ているので、この期待 ˆ x0 w ED [ y ( x0 : D)] x0 ED w y ( x0 : D)はある Dに対する予測だから、 Dに対する正規方程式の 解(0)より 1 x0 XT X XT y (loss10) variance bias 2 1 E y0 x0 , D [( x0 X X XT y x0 w ) 2 ] E y0 x0 , D [( x0 w x0 w ) 2 ] T bias 2 0 bias2が0にならない時とは? E y0 x0 ,D [ L]の第1項 ( y x0 x0 w ) 2 p( x0 , dy )dx0dy0dy E y0 x0 ,D [( y ( x0 : D ) x0 w ) 2 ] E y0 x0 ,D [( y ( x0 : D ) E D [ y ( x0 : D )]) 2 ] E y0 x0 ,D [( ED [ y ( x0 : D )] x0 w ) 2 ] (loss10) variance of (loss10) E y0 x0 ,D [( x0 X T X X T y x0 w ) 2 ] 1 E x0 , D E x0 , D E x0 , D E x0 , D E x0 , D [( x X X X Xw ε x w ) ] [( x X X X Xw x X X X ε x w ) ] [( x X X X Xw x X X X ε x w ) ] [( x w x X X X ε x w ) ] [( x X X X ε ) ] (loss 20) 1 T T 2 0 0 1 T T T 0 T 0 1 T T 1 0 1 T 0 0 T T 2 T 2 0 T 2 0 1 2 0 T 0 0 1 x0 X X X εはスカラーなので x0 X X X ε x0 X X X ε εT X X T X x0 1 T T 1 T T T 1 これを使って (loss 20) E [( x X X X ε ) ]を書き直すと (loss 20) E E x X X X εε X X X x E x X X X E εε X X X x ここで E εε E x X X X X X X x E x X X x E tr X X x x (loss 30) 1 T x0 , D 1 T x0 x0 x0 T T T T 1 T 1 1 T T T T 0 T 1 0 2 D T 0 1 T x0 T D T 2 0 0 2 0 T 0 2 T 1 x0 T 0 0 Xは十分大きく多様な説 明変数からなるので X T X N E x0 x0 x0 と近似できるとすると T T 0 0 D 1 T T T どうなるか? 2 I ( nn ) だから 1 T x (loss 30) (loss 20) E x0 E D x0 X T X X T εεT X X T X x0 1 1 2 E x0 x0 X T X x0 2 E x0 tr X T X x0 1 T 1 T T 0 Xは十分大きく多様な説 明変数からなるので X T X N E x0 x0 x0 と近似できるとすると T 1 1 1 T (loss 30) 2 tr X T X E x0 x0 x0 2 tr X T X X T X (loss 40) N Xは N Kなので、 X T Xは K Kだから X T X X T X I ( K K )ゆえに 1 (loss 40)= 2 N trI ( K K ) 2K N : variance 過学習:over-fittingと 2 bias -variance分解 bias2-variance分解は過学習現象を扱う数学的概念として便利 教師データによる学習の目的は未知のデータの正確な分類や 識別 過学習(over-fitting) 学習するモデルを複雑な(=パラメタ数の多い)ものにすると 過学習が起こりやすい。 モデルの良さ(=(対数)尤度あるいは2乗誤差などの損失- 1 )を最大化し、かつ簡単なモデルであるほど良い モデルの簡単さを表すのは線形回帰における正規化項(正 則化項とも呼ぶ)。cf.情報量基準、MDL
© Copyright 2024 ExpyDoc