2.4K Views
May 29, 24
スライド概要
公立小松大学の大学院で使った資料です.入門と書いていますが,PRMLの1章をまとめたものになりますので初心者には難しいかもしれません.
内容が難しい方は次の資料のほうが良いと思います.
https://www.docswell.com/s/k_fujita/ZQLGEK-2022-04-19-102434
数式が出てくる 機械学習⼊⾨ 公⽴⼩松⼤学 藤⽥ ⼀寿 Ver. 20240605 PRMLの1章をまとめたものです.
機械学習とは • 機械学習とは,機械に学習させる⼿法を取り扱う学問領域およびその技術であ る. • 機械学習は,⼈⼯知能やデータマイニングの領域で⽤いられる. • 特に確率・統計に⽴脚したものを統計的機械学習という(特に⾔及がなければ 機械学習は統計的機械学習のことを指す). 0, 1, 2, 3, 4 0, 1, 2, 3, 4 訓練データ 機械 出⼒ 例えば,機械学習の⼿法を⽤いて,機械が数字と書かれた画像を数字であると判断するように学ばせる.
機械学習の⽬標とは ⼤雑把に⾔えば,機械学習の⽬標は⼊⼒に対し適切 な出⼒をする関数を得ること. ⼊⼒𝐱 関数𝐲 𝐱 出⼒𝐲:予測 0, 1, 2, 3, 4 例えば⼿書き⽂字画像が⼊⼒だった場合,関数はその⼿書き⽂字の予測したラベルを出⼒する.
学習 • 機械学習では,まず訓練集合(training set)と呼ぶデータ点の集合{𝐱!, … , 𝐱 " }が ある. • 訓練集合のデータ点には,それぞれに対応するカテゴリを表す⽬標ベクトル𝐭 がある. • 機械学習では,𝐱を⼊⼒し,⽬標ベクトルと符号化の仕⽅が等し出⼒ベクトル𝐲 が出⼒される. • 画像分類なら,画像がラベルへと符号化される.関数𝐲も同様に⼊⼒をラベルに符号 化しなければならない. • 関数𝑦 𝑥 は訓練データ(訓練集合)に基づき求められる. • この段階を訓練段階もしくは学習段階と呼ぶ.
テスト • 関数𝑦 𝑥 を学習により獲得した後は,それの性能を知りたいだろう. • しかし,訓練データを使って𝑦 𝑥 の性能を測るのは良くない⽅法だろう. • 我々が知りたいのは,訓練で使っていない𝐲 𝒙 にとって未知のデータに対し て, 𝐲 𝒙 が正しい⽬標値を予測できるかである. • 𝑦 𝑥 の性能を測るために⽤いるデータセットをテスト集合(test set)と呼ぶ. • 訓練で使っていないデータに対する能⼒を汎化と呼ぶ. テスト 訓練集合でテストをすることは,授業 でやった例題そのものがテストに出る ことに似ている.楽勝だね. テスト テストでは,授業でやった例題とは異 なる問題を出題することで実⼒が測れ る.⼤変だ.
機械学習の例
機械学習が取り扱う問題 • 分類(Classification) • ラベルの付いたデータを分ける. • データを分ける線を引く. • 回帰(Regression) 分類 回帰 • データを再現できる関数を探す. • 値を予測する. • クラスタリング(Clustering) どれが当たりやすいか 確かめながら探す • データを塊ごとに分ける. クラスタリング • 強化学習(Reinforcement) • 報酬を最も得られる⾏動を試⾏錯誤しながら探す. 強化学習
機械学習が取り扱う問題 • 教師あり学習 • 答えがある. • 分類(Classification) • 回帰(Regression) • 教師なし学習 分類 回帰 • 答えがない. • クラスタリング(Clustering) • 強化学習(Reinforcement) どれが当たりやすいか 確かめながら探す クラスタリング • 報酬という⼿がかりが付いたデータを作りながら学習する. 強化学習
多項式フィッティング
多項式フィッティング • 単純な回帰問題を考える. • 実数の⼊⼒変数𝑥を観測し,それを⽤いて実数値の⽬標変数𝑡を予測したいとす る. • ここでは,⽬標値𝑡はsin 2𝜋𝑥 にランダムなノイズを含ませ⽣成する. 1 t 0 −1 0 x 1
多項式フィッティング • 𝑁個の観測値𝑥からなる𝐱 = 𝑥!, … , 𝑥" # がある. • それぞれに対応した観測値𝑡からなる𝐭 = 𝑡!, … , 𝑡" がある. • 訓練データは,これらから構成される. • 𝐱は⼊⼒データ集合,𝐭は⽬標データ集合となる. 1 t 0 −1 0 x 1
多項式フィッティングの⽬標 ̂ • ⽬標は,訓練集合を利⽤して新たな⼊⼒変数𝑥に対し⽬標変数 3 𝑡を予測すること である. 1 t • 背景にある関数sin 2𝜋𝑥 を暗に⾒つけようとすることとほぼ等価である. 0 −1 0 • ここで,関数𝑦 𝑥 を次のような多項式を使って予測することにする. ' • 𝑦 𝑥, 𝐰 = 𝑤$ + 𝑤!𝑥 + 𝑤%𝑥 % + ⋯ + 𝑤& 𝑥 & = ∑& '($ 𝑤' 𝑥 • この場合, 予測𝑦 𝑥, 𝐰 が𝑡に最も近くなる係数𝑤$, … , 𝑤& (ベクトル𝐰)を求め ることが⽬標になる. 関数 𝑦(𝑥) に𝑥を⼊⼒する ⼊⼒変数𝑥 関数𝑦 𝑥, 𝐰 の値が出⼒される 関数𝑦 𝑥, 𝐰 𝐰は学習により獲得する 𝑡の予測 x 1
誤差 • 𝑦 𝑥, 𝐰 が𝑡に最も近くなる係数𝑤$, … , 𝑤& (ベクトル𝐰)を求める. • ここでは,𝑦 𝑥, 𝐰 と𝑡の差を 𝑦 𝑥, 𝐰 − 𝑡を2乗したもの,すなわち2乗誤差で表 すとする. • よって,𝑦 𝑥, 𝐰 を⽤い⼊⼒データ集合から予測した⽬標値と,⽬標データ集合 の2乗誤差を最⼩にする𝐰を求めることになる. •𝐸 𝐰 ! = ∑" 𝑦 𝑥* , 𝐰 % *($ − 𝑡* 誤差関数𝐸 𝐰 を最⼩にする𝐰が最も良いだろう. % • これを誤差関数という. 予測𝑦 𝑥, 𝐰 は𝑡に近い⽅が良い. 予測𝑦 𝑥, 𝐰 は𝑡の 差を誤差関数𝐸 𝐰 で定量化する. 関数 𝑦(𝑥) に𝑥を⼊⼒する ⼊⼒変数𝑥 関数𝑦 𝑥, 𝐰 の値が出⼒される 関数𝑦 𝑥, 𝐰 𝐰は学習により獲得する 𝑡の予測
誤差の最⼩化 • 誤差を最⼩にする𝐰を求めるには,どうすればよいだろうか? • 誤差の微分が0となる𝐰を求めれば良い. • 多項式フィッティングの場合,2乗誤差の微分は𝐰の要素に関して線形であるため,通 常誤差を最⼩にする𝐰が⼀つに定まる. • 機械学習では,多項式フィッティングや⼈⼯ニューラルネットワークなどのよう に,誤差関数を最⼩化するパラメタ𝐰を探すことを⽬的にする⼿法がある. • 多くの場合,誤差関数が複雑なため,簡単には最適なパラメタ𝐰は⾒つからない し,最適ではないかもしれないパラメタを獲得することになるかもしれない. • 深層ニューラルネットワークの場合,最適ではないパラメタでも⼗分な場合が多い.
パラメータ数はどうする? • 𝐰は誤差関数の微分から求まるが,多項式の項の数𝑀(次数,𝐰の次元)をど う選べばよいだろうか. • この問題は,モデル⽐較やモデル選択と呼ばれる重要な概念の⼀例である. どれが良いのか 𝑦 𝑥, 𝐰 = 𝑤! + 𝑤" 𝑥" 𝑦 𝑥, 𝐰 = 𝑤! + 𝑤" 𝑥 + 𝑤# 𝑥 # 𝑦 𝑥, 𝐰 = 𝑤! + 𝑤" 𝑥 + 𝑤# 𝑥 # + 𝑤$ 𝑥 $ ⼈⼯ニューラルネットワークでは,ニューロンの数,層の数など沢⼭事前に決めなければならない.⼤変だ.
過学習 1 M =0 t 0 • 図は次数𝑀 = 0,1,3,9を持つ多項式𝑦 𝑥, 𝐰 を訓練データから 求めた例である. • 次数が𝑀 = 0,1では,明らかに𝑦 𝑥, 𝐰 の当てはまりはデー タに対し悪い. −1 0 1 x 1 M =1 t 0 −1 • 𝑀 = 9のときは,𝑦 𝑥, 𝐰 は訓練データに対し⾮常によく当 てはまっているが,𝑦 𝑥, 𝐰 は激しく振動しており,データ ⽣成の背景にある関数sin 2𝜋𝑥 を捉えられていない. • このような振る舞いは,過学習(overfitting) として知られて いる. 0 1 x 1 M =3 t 0 −1 0 1 x 1 M =9 t 0 −1 0 x 1
正則化 • 過学習が起きない次数(パラメータ数𝑀)を事前に選ぶことは難しい. • それ以外の⽅法で過学習を抑制したい場合はどうすればよいか? • そのためのテクニックの⼀つに,正則化がある. • 正則化は,誤差関数に罰則項(正則化項)を追加し,係数(パラメタの値)が ⼤きくなるのを防ごうとするものである. • 正則化項を加えた誤差関数は次のようになる. ! 1 % % • 𝐸B 𝑤 = % ∑" * 𝑦 𝑥* , 𝐰 − 𝑡* + % ‖𝐰‖ 1 1 • % ‖𝐰‖% = % 𝐰 2𝐰が正則化項である. • 𝑤! は正則化項から外す場合も多い. • これは勾配降下のweight decayである. 正則化項なし 1 正則化項あり 1 M =9 ln λ = −18 t t 0 0 −1 −1 0 x 1 0 x 1
確率
簡単な例 • ⾚と⻘の2つの箱あるとする. • ⾚の箱にはりんご2つとオレンジ6つある. • ⻘の箱にはりんご3つとオレンジ1つある. • 次の操作を⾏う. • ⾚い箱は40%の確率で,⻘い箱は60%の確率でランダムに選ぶ. • 箱の中からランダムに果物を選ぶ.
確率変数 • 確率変数とは事象を表す変数である. • 箱を表す変数𝐵: 𝐵 = 𝑟, 𝐵 = 𝑏 • 果物を表す変数𝐹: 𝐹 = 𝑎, 𝐹 = 𝑜 • 確率変数を⽤い,箱を選ぶ確率は次のように書ける. • ⾚い箱が選ばれる確率 • 𝑃(𝐵 = 𝑟) = 0.4 • ⻘い箱が選ばれる確率 • 𝑃(𝐵 = 𝑏) = 0.6
同時確率 • ⾚い箱が選ばれて,りんごが選ばれる確率は次の通りである. • 𝑃( 𝐹 = 𝑎, 𝐵 = 𝑟) • また,⾚い箱が選ばれて,オレンジが選ばれる確率は次の通りである. • 𝑃( 𝐹 = 𝑜, 𝐵 = 𝑟) • このように複数の確率変数が同時に決まるときの確率を同時確率という.
⼀般的に書いてみる • 確率変数𝑋, 𝑌がある • N回試⾏した時,𝑋 = 𝑥3 , 𝑌 = 𝑦' となった回数を𝑛3' とする.
同時確率 • 𝑋 = 𝑥3 , 𝑌 = 𝑦' が同時に起こる確率は次のように書ける.
確率の加法定理 • 𝑌を考慮せず𝑋が𝑥𝑖 となる確率を計算すると • となる.ここで • であるから, 加法定理 𝑌について周辺化した.その結果,周辺確率が出てくる.
条件付き確率 • 𝑋 = 𝑥3 となることが確定している時,𝑌 = 𝑦' が起こる確率は • 𝑃(𝑌 = 𝑦" | 𝑋 = 𝑥# ): 条件付き確率
乗法定理 乗法定理
2変数の確率分布
ベイズの定理 • 乗法定理より ベイズの定理
ベイズの定理 もっともらしさ 尤度 事前確率 事後確率 事後確率は尤度×事前確率に⽐例する. ベイズ定理の式を⾒るだけで,上記のように𝑃 𝑌 が事前確率,𝑃 𝑌 𝑋 が事後確 率,𝑃 𝑋 𝑌 が尤度であると決まらない. 𝑃 𝑋 が事前確率でも良いだろう.確率 が事前確率や事後確率かどうかは,問題設定やその⽂脈によって決まる.
箱の例では • 箱を選ぶ確率: 𝑃(𝐵) • 事前確率(Prior probability) • 選んだ果物から箱を選んだ確率が分かる: 𝑃(𝐵|𝐹) • 事後確率(Posterior probability) • 𝑃(𝐹|𝐵)は尤度(Likelihood)
箱の例 • 箱の選択確率 • 𝑃(𝐵 = 𝑟) = 0.4 • 𝑃(𝐵 = 𝑏) = 0.6 • 箱ごとの果物の選択確率 • 𝑃(𝐹 = 𝑎| 𝐵 = 𝑟) = 1/4 • 𝑃(𝐹 = 𝑜| 𝐵 = 𝑟) = 3/4 • 𝑃(𝐹 = 𝑎| 𝐵 = 𝑏) = 3/4 • 𝑃(𝐹 = 𝑜| 𝐵 = 𝑏) = 1/4
期待値と分散 • ある関数𝑓 𝑥 の確率分布𝑝 𝑥 の元での平均値を𝑓 𝑥 の期待値と呼び,次の式で 与えられる. • 𝐸 𝑓 = ∑7 𝑝 𝑥 𝑓 𝑥 • 分散は次のように定義される. • var 𝑓 = 𝐸 𝑓 𝑥 − 𝐸 𝑓 𝑥 %
ガウス分布
ガウス分布 • 確率分布の中で最も重要な分布がガウス分布である. • 単⼀の変数𝑥に対するガウス分布は次のように定義される. •𝑁 𝑥 𝜇, 𝜎 % = ! exp %89( )/( ! − %9( 𝑥−𝜇 % • ガウス分布は,平均𝜇,分散𝜎 %の2つのパラメタを持つ. • 𝜎は標準偏差と呼ばれる. • 𝛽 = 1/𝜎 %は精度パラメタと呼ばれる. N (x|µ, 2 ) 2 µ x
パラメタ推定 • データ集合𝐱 = 𝑥!, … , 𝑥" 2があったとする. • これから,ガウス分布の平均𝜇と分散𝜎 %を推定してみる. • 各データ点は独⽴に⽣成されるとする. • これを独⽴同時分布(independent identically distributed)であるといい,i.i.d.と略す ことが多い. 互いに独⽴ データ⽣成 確率分布 𝑥" 𝑥# 𝑥$ データ点同⼠に依存性はない. 𝑥!が𝑥"の発⽣確率に影響しない. …
尤度関数 • データ集合が⽣成される確率は,すべてのデータ点が⽣成される同時確率で表 される. • 𝑝 𝐱 𝜇, 𝜎 % = 𝑝 𝑥!, 𝑥%, … , 𝑥𝑵 𝜇, 𝜎 % • データ点同⼠に依存性が無いのだから,同時確率は積に分解できる. 𝑝 𝐱 𝜇, 𝜎 # = 𝑝 𝑥" , 𝑥# , … , 𝑥𝑵 𝜇, 𝜎 # = 𝑝 𝑥" 𝜇, 𝜎 # 𝑝 𝑥# 𝜇, 𝜎 # … 𝑝 𝑥𝑵 𝜇, 𝜎 # 互いに独⽴だから ( = @ 𝑝 𝑥& 𝜇, 𝜎 # &'" • これを𝜇, 𝜎 %の関数と⾒なすと,これはガウス分布の尤度関数である.
最尤推定 • 最も良いパラメタは,尤度関数を最⼤にするパラメタだと考える. • 尤度関数は,あるパラメタにおけるデータの⽣成確率だから,この⽣成確率が最も ⾼いパラメタが最も尤もらしいと考える. • この考え⽅に基づきパラメタを推定する⽅法を最尤推定という. • 尤度関数を最⼤にするパラメタは,尤度関数の微分が0となる値であろう. • しかし,尤度関数を微分するのは難しいので,尤度関数の対数,すなわち対数 尤度関数の微分を取ることにする. 対数は単調増加関数であ 最尤推定 % を最⼤にする 𝜇, 𝜎 % を求める. ∏" 𝑝 𝑥 𝜇, 𝜎 * *(! るため,尤度関数の最⼤ 化は対数尤度関数の最⼤ 化と等価である. 対数をとる % = ∑" ln 𝑝 𝑥 % を最⼤にする 𝜇, 𝜎 % を求める. ln ∏" 𝑝 𝑥 𝜇, 𝜎 𝜇, 𝜎 * * *(! *(! 積が和になって楽になった
最尤推定 • 対数尤度関数を展開する. % % % ln ( 𝑝 𝑥# 𝜇, 𝜎 " = . ln 𝑝 𝑥# 𝜇, 𝜎 " = . ln #$! % #$! #$! 1 1 exp − 𝑥# − 𝜇 " " " !/" 2𝜎 2𝜋𝜎 % 1 1 1 𝑁 𝑁 1 = . − ln 2𝜋 − ln 𝜎 " − " 𝑥# − 𝜇 " = − ln 2𝜋 − ln 𝜎 " − " . 𝑥# − 𝜇 " 2 2 2𝜎 2 2 2𝜎 #$! #$! • これを𝜇について微分する. % % 𝑑 𝑁 𝑁 1 1 − ln 2𝜋 − ln 𝜎 " − " . 𝑥# − 𝜇 " = " . 𝑥# − 𝜇 = 0 𝑑𝜇 2 2 2𝜎 𝜎 % #$! % #$! . 𝜇 = . 𝑥# #$! #$! % 𝑁𝜇 = . 𝑥# #$! % 𝜇'( = 1 . 𝑥# 𝑁 #$! • よって最尤推定により求まった𝜇#$ は,𝑥% のサンプル平均となっている.
最尤推定 • 次に,𝜎 %について微分する. % % 𝑑 𝑁 𝑁 1 𝑁 1 1 "− " =− − ln 2𝜋 − ln 𝜎 𝑥 − 𝜇 + . . 𝑥# − 𝜇'( " = 0 # '( " " " " " 𝑑𝜎 2 2 2𝜎 2𝜎 2 𝜎 #$! % #$! 𝑁𝜎 " = . 𝑥# − 𝜇'( " #$! % 1 𝜎'( = . 𝑥# − 𝜇'( " 𝑁 #$! • よって,最尤推定により得られる分散𝜎&; は,サンプル分散である.
最尤解のバイアス • サンプル平均とサンプル分散の期待値を考える. • 𝐸 𝜇&; = 𝐸 ! " ∑ 𝑥 " *(! * ! " = " ∑*(! 𝐸 𝑥* ! " = " ∑*(! 𝜇 = 𝜇 • よって,最尤推定の平均(サンプル平均)の期待値は正しい平均となる. % • 𝐸 𝜎&; "<! % = 𝜎 " • よって,真の分散は(𝑁 − 1)/𝑁倍過⼩評価される. • これは,バイアスと呼ばれる現象の例である. (a) (b) • この最尤解のバイアスはデータ点の数が増えれば重要でなくなる. (c) それぞれ,緑のガウス分布からデー タを⽣成した.⻘の点がデータ点を 表し,⾚線は最尤推定で得られたガ ウス分布を表す.平均の平均は真の 平均になっているが,分散の平均は 真の分散になっていない.
ベイズ確率
多項式フィッティングをベイズ的に考える • 多項式フィッティングは,最適な係数(パラメタ)𝐰を求める問題であった. • ここで,パラメタ𝐰について事前に仮説を持っているとする. • 仮説は確率分布𝑝 𝐰 で表すとする. • データが得られたとき,仮説でそれを説明できないのであれば修正すれば良い. 𝐰は𝑝 𝐰 という確率分布か ら出てくると思う. 間違ってたら修正しよう.
ベイズ定理 • 観測データ𝐷 = 𝑡!, … , 𝑡" が得られたとする. • これと重みのベイズ定理は次のように書ける. 尤度関数:パラメタが与えられたときの𝐷の不確 実性で𝐰の関数とみなせる. 𝑝 𝐷 𝐰 𝑝 𝐰 𝑝 𝐰 𝐷 = 𝑝 𝐷 事後確率:𝐷を観測した事後にw に関する不確実性 事前分布:パラメタに関する仮説
尤度関数と誤差関数 • ベイズ的ではない⾒⽅では,𝐰は固定したパラメタであると考える. • 𝐷を発⽣させる確率が最⼤の𝐰が最も良いパラメタであると考え,尤度関数を 最⼤化する.これを最尤推定と呼ぶ. • 機械学習では,尤度関数の対数の符号を反転したものは誤差関数と呼ばれ,そ れを最⼩化する𝐰が最適なものであるとする. • つまり,尤度関数の最⼤化と,誤差関数の最⼩化は等価である.
ベイズ的に考える • ベイズ的な⾒⽅では,パラメタに関する不確実性は𝐰の確率分布として表され る. • コイントスを考える.3回試⾏し,すべて表が出たとする. • 最尤推定の考え⽅では,最も良いパラメタは,表が出る確率が1とするパラメ タだろう. • これは明らかにおかしい. • ベイズ的なアプローチでは,妥当な事前分布を使えば,そのような極端な結論 を導くことはない. 毎回表が1をだすパラメタの確率が⾼い データを観測した結果,事前 に想定した裏表同じ確率で出 るパラメタの可能性が⾼いと いう予想を,表が出る可能性 が⾼いと変える. 𝑝 𝐷 𝐰 𝑝 𝐰 𝑝 𝐰 𝐷 = 𝑝 𝐷 例えば,裏表同じ確率で出す パラメタの可能性が⾼いと思 っている.
ベイズ的に考える パラメータの分布を仮定する 事前分布 データから尤度を計算する データ × 尤度 事後分布 事前分布と尤度から事後分布を計算する 事後分布を事前分布とす る
曲線フィッティング再訪
曲線フィッティング • 曲線フィッティング問題の⽬標は,𝑁個の⼊⼒値で構成される訓練データの集 合 𝐱 = 𝑥!, … , 𝑥" 2とそれに対応する⽬標値 𝐭 = 𝑡!, … , 𝑡" に基づいて,与えら れた新たな⼊⼒値𝑥に対して⽬標変数𝑡を予測できるようにすること. 関数 𝑦(𝑥) に𝑥を⼊⼒する ⼊⼒変数𝑥 関数𝑦 𝑥, 𝐰 の値が出⼒される 関数𝑦 𝑥, 𝐰 𝐰は学習により獲得する 𝑡の予測
曲線フィッティング = • ここで,⼊⼒値𝑥に対応する𝑡は平均が𝑦 𝑥, 𝑤 = ∑& = 𝑤= 𝑥 であるガウス分布に 従うとする. • 𝑝 𝑡 𝑥, 𝑤, 𝛽 = 𝑁 𝑡 𝑦 𝑥, 𝑤 , 𝛽<! t y(x, w) y(x0 , w) 2 p(t|x0 , w, ) x0 x
対数尤度関数 • データ集合に含まれるデータ点は,互いに独⽴であるとすると,尤度関数は <! • 𝑝 𝑡 𝑥, 𝑤, 𝛽 = ∏" * 𝑁 𝑡* 𝑦 𝑥, 𝑤 , 𝛽 • 対数尤度は • ln ∏" *𝑁 𝑡* ! " = ∑*(! ln exp %8>+) )/( 𝑦 𝑥, 𝑤 , 𝛽<! > − ∑" 𝑡 − 𝑦 𝑥* , 𝑤 % *(! * % " % > − % 𝑡* − 𝑦 𝑥* , 𝑤 " % + ln 𝛽 − ln 2𝜋 互いに独⽴ データ⽣成 真の関数 𝑥" 𝑥# 𝑥$ データ点同⼠に依存性はない. 𝑥!が𝑥"の発⽣確率に影響しない. … % =
𝐰の推定 • 対数尤度関数を最⼤にする𝐰?@を探す. • この場合,𝐰に関係する項のみ考えればよい. • そうすると, ∑" *(! 𝑡* − 𝑦 𝑥* , 𝐰 % だけ考えればよいことがわかる. • つまり,対数尤度関数の最⼤化は∑" *(! 𝑡* − 𝑦 𝑥* , 𝐰 % の最⼩化となる. • これは⼆乗和誤差の最⼩化となっており,最⼩⼆乗法と⼀致する. " 対数尤度関数 𝛽 − ] 𝑡* − 𝑦 𝑥* , 𝐰 2 *(! % 𝑁 𝑁 + ln 𝛽 − ln 2𝜋 2 2 これを最⼩化する = ⼆乗和誤差の最⼩化 関係ない
予測分布 <! • 最尤推定から求まったパラメタ𝑤&; , 𝛽&; を⽤い,𝑡の確率分布を書くことができ る. <! • 𝑝 𝑡 𝑥, 𝐰?@, 𝛽?@ = 𝑁 𝑡 𝑦 𝑥, 𝐰?@ , 𝛽?@ • 予測は1つの値で予測される(点予測)のではなく,予測分布という形で与え ることができる. )! 𝛽'( の導出は省略する.
ベイズ的アプローチ • 次のような,パラメタ𝐰に関する事前分布を導⼊する. • 𝑝 𝐰∣𝛼 = 𝑁 𝐰 ∣ 0, 𝛼 <!𝐈 = A %8 &B! /% A exp − % 𝐰 2𝐰 • 𝛼は分布の精度パラメタで,パラメタを制御する機能を持つ. • このようなパラメタを制御するパラメタをハイパパラメタと呼ぶ.
MAP推定 • ベイズ定理から𝐰の事後確率は事前分布と尤度関数との積に⽐例する. • 𝑝 𝐰 𝐱, 𝐭, 𝛼, 𝛽 ∝ 𝑝 𝐭 𝐱, 𝐰, 𝛽 𝑝 𝐰 𝛼 • この式から,与えられたデータに基づく最も確からしい𝐰は事後確率を最⼤化 する𝑤と考えられる. • この考えでパラメタを求める⽅法を,最⼤事後確率推定もしくはMAP推定と呼 ぶ. • 事後確率の最⼤値は,次の式の最⼩値として与えられる. > " • ∑*(! 𝑡* − 𝑦 𝑥* , 𝐰 % % A 2 + 𝐰 𝐰 % • これは,正則化された⼆乗和誤差と等価である.
ベイズ曲線フィッティング
ベイズ的に考える • MAP推定では,事前分布を導⼊した.しかし,𝐰を⼀つ推定する点推定を⾏っ ている. • これではまだ,ベイズ的な取り扱いと⾔えない. • 完全なベイズアプローチでは,確率の加法・乗法定理を⽭盾なく適⽤して, 𝐰に関して積分する必要がある.
ベイズ学習と事後分布の逐次的更新 • 1次元の⼊⼒変数𝑥と1次元の⽬標変数𝑡の場合を考える. • モデルは𝑦 𝑥, 𝐰 = 𝑤$ + 𝑤!𝑥を⽤いる. • 1⾏⽬の図はデータ点が観測される前の状態である.中央の図は事前分布であ る.右の図は事前分布からランダムに6つ𝐰を得て,それを⽤いたそれぞれの 𝑦 𝑥, 𝐰 である. 𝑝 𝐷 𝐰 𝑝 𝐰 𝑝 𝐰 𝐷 = 𝑝 𝐷
ベイズ学習と事後分布の逐次的更新 • 2⾏⽬の図は右図の丸点で表されるデータ点を1つ観測した後の状態である • 左の図は,このデータ点に対する尤度関数𝑝 𝑡 𝑥, 𝐰 を表している. • 1⾏⽬の事前分布と2⾏⽬の尤度関数を掛けて正規化すれば2⾏⽬中央の事後分布 が得られる.この事後分布から得られた直線はデータ点の近くを通っている. 𝑝 𝐷 𝐰 𝑝 𝐰 𝑝 𝐰 𝐷 = 𝑝 𝐷 真のパラメタ
ベイズ学習と事後分布の逐次的更新 • 3⾏⽬の図は2つのデータ点を観測した後の 状態である. • このとき得られる事後分布は,3⾏⽬の尤 度関数と2⾏⽬の事後分布を掛けて正規化 したものである. • この事後分布を⾒ると,真のパラメタ付近 を中⼼とした不確定性が少ない鋭い分布と なっている. 𝑝 𝐰 𝐷 = 𝑝 𝐷 𝐰 𝑝 𝐰 𝑝 𝐷 真のパラメタ
曲線フィッティング • 曲線フィッティング問題では,訓練データとして𝐱 = 𝑥!, … , 𝑥" 2と𝐭 = 𝑡!, … , 𝑡" が与えられ,新たな⼊⼒値𝑥に対して⽬標変数𝑡を予測できるよう にすることが⽬標である. • つまり,知りたいのは𝑡の予測分布だろう. 𝐰はいらないので,周辺化により消す. 𝑝 𝑡 𝑥, 𝐱, 𝐭 = C𝑝 𝑡 𝑥, 𝐰, 𝐱, 𝐭 𝑑𝐰 = C𝑝 𝑡 𝑥, 𝐰 𝑝 𝐰 𝐱, 𝐭 𝑑𝐰 𝑡の予測値は⼊⼒𝑥とパラメタ𝐰で決まる. 𝐰は訓練データ𝐱, 𝐭 から求まる.
曲線フィッティングと予測分布 予測分布𝑝 𝑡 𝑥, 𝐱, 𝐭 の平均 予測分布𝑝 𝑡 𝑥, 𝐱, 𝐭 の平均 の周り標準偏差±1の領域 1 t 0 −1 0 x 1
モデル選択
モデル選択 • 多項式フィッティングにおいて,次数𝑀の値より汎化能⼒の差があり,最適な 𝑀がある. • 次数𝑀はモデルの⾃由パラメタの数をするため,モデルの複雑さを⽀配する. • 正則化項を⽤いた最⼩⼆乗法においては,正則化係数𝜆もモデルの実質的な複雑さを 制御している. • モデルの複雑さを含めた,様々な異なるタイプを考慮して最も良いモデルを ⾒つけたい. どれが良いのか 𝑦 𝑥, 𝐰 = 𝑤! + 𝑤" 𝑥" 𝑦 𝑥, 𝐰 = 𝑤! + 𝑤" 𝑥 + 𝑤# 𝑥 # 𝑦 𝑥, 𝐰 = 𝑤! + 𝑤" 𝑥 + 𝑤# 𝑥 # + 𝑤$ 𝑥 $
良いモデルを探す • ⼿持ちのデータの⼀部を使い,様々なモデルを学習する. • 独⽴なデータを⽤い,学習済みの様々なモデルの性能を測定し,良いモデルを 選ぶ. • ここで⽤いられるデータ集合を検証集合(validation set)と呼ぶ. • 検証集合は,モデルのハイパパラメタの調整に⽤いられる.例えば,多項式フィッ ティングにおける𝑀や𝜆. • 訓練集合と検証集合から独⽴したテスト集合(test set)を⽤い, 最終的にモデ ルの性能を評価する. • 検証集合により選ばれたモデルは,検証集合に適応しているため,テスト集合で評 価する必要がある.
交差検証 • 多くの場合,使えるデータには限りがあるため,訓練集合,検証集合,テスト 集合それぞれに多くのデータを割り当てることは難しい. • できるだけ多くのデータを訓練集合に割り当てたい. • ここで⽤いられるのが交差検証(cross-validation)である.
交差検証 • 交差検証では,データを𝑆個に分割し,そのうち1つを検証集合に割り当てる. • 図の例では𝑆 = 4個に訓練集合を分割している. • 図のようにデータを𝑆分割すれば,𝑆個の訓練集合と検証集合の組み合わせがで きる. • それぞれの組み合わせで,学習と検証を⾏い,各組み合わせで得られた検証結 果の平均を最終的な検証結果とする. run 1 run 2 run 3 run 4
⾚池情報量規準 • モデルを選択する基準として情報量規準を⽤いる事がある. • これは,より複雑なモデルによる過学習を避ける罰則項を⾜すことによって最 尤推定のバイアスを修正しようとするものである. • 例えば,AIC(Akaike information criterion,⾚池情報量規準)は • AIC = ln 𝑝 𝐷 𝑤&; − 𝑀 • が最⼤となるモデルを選ぶ. • ln 𝑝 𝐷 𝑤&; は対数尤度で𝑀はパラメタ数である.つまり,AICは対数尤度を パラメタ数分割り引いて考えるということになる. • 他にも,BIC(ベイズ情報量規準)などがある. • こうした規準はモデルパラメタの不確実性は考慮しておらず,実際には過度に 単純なモデルを選ぶ傾向にある(Bishop, 2006).
次元の呪い
データは⾼次元 • 多項式フィッティングの例では,⼊⼒変数は1次元であった. • しかし,多くの場合⼊⼒変数の次元は⾼次元である. • 問題は,低次元空間での直感が,⾼次元空間で⼀般化できるとは限らない点で ある. • そして,⾼次元になると低次元では考えられない様々問題が出てくる. • この⾼次元での困難や問題を次元の呪いという.
マス⽬数爆増 • 図のように,空間をマス⽬で区分けしてみる. • 図から分かる通り,マス⽬の数は次元に対し指数関数的に増えていく. • もし,データ点の数が同じであれば,低次元空間ではマス⽬に⼊るデータ点は 多いだろが,⾼次元空間ではマス⽬の数が圧倒的に多くなり,ほとんどのマス ⽬にデータ点が⼊っていないだろうと考えられる. • つまり,⾼次元はスカスカなのである. x2 x2 D=1 x1 x1 D=2 x1 x3 D=3
体積の爆増し,対⾓は遠くなる • ⼀辺の⻑さ1の𝑛次元⽴⽅体の体積は1である. • しかし, 𝑛 → ∞ のとき,⼀辺の⻑さ𝑙のn次元⽴⽅体の体積は • 𝑙 > 1のとき,無限⼤に発散する. • 𝑙 < 0のとき,0に収束する. • ⾼次元⽴⽅体の対⾓は遠い. • 辺の⻑さ1の2次元⽴⽅体の対⾓は 1 + 1 = 2である. • 辺の⻑さ1の𝑛次元⽴⽅体の対⾓は 1 + 1 + ⋯ , 1 = 𝑛である. • つまり,⾼次元になると対⾓は遠くなる.
体積は周辺に集中する • 半径𝑟 = 1の𝐷次元球を考えてみる.ここで,球全体の体積に対する𝑟 = 1 − 𝜖と 𝑟 = 1の間の体積の割合を計算する. • 図は𝜖と割合を⽰している.これを⾒ると,𝐷 = 20の⾼次元球の場合,𝜖が0.2 くらい,すなわち 0.8 < 𝑟 ≤ 1 の領域にほとんどの体積が集まっていることが 分かる. • 例えるなら,⾼次元のみかんの体積の殆どは⽪で,実はほとんど無い. 1 D = 20 volume fraction 0.8 D =5 D =2 0.6 D =1 0.4 0.2 0 0 0.2 0.4 0.6 ϵ 0.8 1
データ点間の距離は⼤きくなり,距離の差がなくなる • 次元が⾼くなるとデータ点間の距離は⼤きくなる. • データ点間の距離は⼤きくなるだけではなく違いもなくなる. • ⾼次元空間では,距離(ユークリッド距離)が意味をなさなくなる. 0から1の⼀様乱数を⽣成し,データ点間の距離の平均をプロットし たもの.次元が増えれば増えるほど,データ点間の距離も増える. データ点間の距離の最⼤値の平均と最⼩値の平均の⽐をプロット したもの.⽐は次元の増加とともに⼩さくなり,⾼次元空間では 距離の違いが意味をなさなくなることを⽰している.
Hubness • ⾼次元空間では,⼀部の点が頻繁に,多くの点の近傍として現れる. • これをハブと呼ぶ. 25回以上近傍として現れるデータ 点の数.次元が増えるに連れ何度 も近傍として現れるデータ点が増 えることが分かる.. 近傍として全く現れないデータ点 の数.次元が増えるに連れ孤⽴化 したデータ点も増えることが分か る. 1000個の点を⼀様乱数で⽣成し,各点について𝑘 = 5の近傍に⼊る回数を計算した.
⾼次元のスカスカは問題なのか • ⾼次元はスカスカで問題だとしたが,果たして本当に問題なのだろうか. • 分類問題を考えた場合,スカスカならば線形な識別境界を引ける可能性が上が るため,⾼次元なら線形識別器で問題を解ける可能性が⾼まるのではないか. • Kernel SVMは,この恩恵を受けている. • このように,⾼次元は問題ばかりではなく,良いこともある.この⾼次元の良 い現象を次元の祝福という.
情報理論
情報とは • あるものごとの内容や事情についての知らせのこと. • ⽂字・数字などの記号やシンボルの媒体によって伝達され,受け⼿において, 状況に対する知識をもたらしたり、適切な判断を助けたりするもののこと. • ⽣体(⽣命)が働くために⽤いられている指令や信号こと. • (情報科学での⽤法)価値判断を除いて,量的な存在としてとらえたそれ. Wikipediaより
情報理論 • 情報の良し悪しを定量化したい • 良い情報はどれだけ良いのか • 確率を使って定量化する • 珍しい情報が良い情報が良い情報だろう. • つまり,出現頻度が頻度が少ない(⽣起確率が低い)事象の⽅が情報を多く含んでいる と考えよう.
情報量 • 確率𝑝 𝑥 の事象𝑥が実際に起こったことを知らせる情報に含まれる情報量を • 𝐼 𝑥 = − log % 𝑝 𝑥 ビット • と定義する.
エントロピー • 𝐼 𝑥 = − log % 𝑝 𝑥 は事象𝑥が起こった時に得られる情報量である. • これは,将来得られる情報量ではない.そこで,情報量の期待値をとる. • 𝐻 𝑥 = − ∑7 𝑝 𝑥 log % 𝑝 𝑥 • これをエントロピーという. • 𝐻 𝑥 ≥ 0である. • また,𝑝 𝑥 = 0のとき,𝑝 𝑥 log % 𝑝 𝑥 = 0とする. 情報量の期待値が⾼いということは、どの事象が起こるか予想がつかないので、将来得ら れる情報量は多いということ。⾔い換えれば不確実度が⾼い。 情報量の期待値が低いということは、どの事象が起こるかわかりきっているので、将来得 られる情報量は少ないということ。⾔い換えれば、不確実度は低い。
例 コイントス • 事象が2つの場合それぞれの事象が起きる確率は𝑝と𝑞 = (1 − 𝑝)である. • コイントスの場合,表が出る確率を𝑝,裏が出る確率を𝑞と考えられる. • よって,コイントスのエントロピーは • 𝐻 = −𝑝 log % 𝑝 − 1 − 𝑝 log % 1 − 𝑝 G = −𝑝 log % !<G − log % 1 − 𝑝 • この式から,表もしくは裏が出やすいコインはエントロピーが低いことが分か る.
結合エントロピー • 事象系をA,事象系をBの複合事象(A, B)のエントロピーは • 𝐻 𝐴, 𝐵 = − ∑3' 𝑝 𝐴3 , 𝐵' log 𝑝 𝐴3 , 𝐵' • と書ける.これを結合エントロピーと呼ぶ. ここからlog ! ではなくlogを使う.底が𝑒のエントロピーの単位はナットと⾔う.底が変わっただけなのでナットはビットのlog 2倍である.
条件付きエントロピー • AとBが独⽴でない場合,Aが分かっていた状態でのBのエントロピーを定義で きる. • 𝐴𝑖 という事象が起こった状態での𝐵のエントロピーは • 𝐻 𝐵 𝐴3 = − ∑' 𝑝 𝐵' 𝐴3 log 𝑝 𝐵' 𝐴3 • である。さらに,これのAについての期待値を求めると 𝐻 𝐵 𝐴 = ] 𝑝 𝐴3 𝐻 𝐵 𝐴3 3 = − ] 𝑝 𝐴3 𝑗 ] 𝑝 𝐵' 𝐴3 log 𝑝 𝐵' 𝐴3 3 = − ] 𝑝 𝐴3 , 𝐵' log 𝑝 𝐵' 𝐴3 3,'
エントロピーの性質 • 性質1 • 𝐻 𝐴, 𝐵 = 𝐻 𝐴 + 𝐻 𝐵 𝐴 = 𝐻 𝐵 + 𝐻 𝐴 ∣ 𝐵 • 𝐻 𝐵 𝐴 = 𝐻 𝐴, 𝐵 − 𝐻 𝐴 • 性質2 • 𝐻 B 𝐴 ≥0 • 性質3 • 𝐻 𝐴 + 𝐻 𝐵 ≥ 𝐻 𝐴, 𝐵
エントロピーの性質 • 性質4 • 𝐻 𝐴 ≥ 𝐻 𝐴 𝐵 ,𝐻 𝐵 ≥ 𝐻 𝐵 𝐴 • 性質5 • 𝐻 𝐴, 𝐵 ≥ 𝐻 𝐴 , 𝐻 𝐴, 𝐵 ≥ 𝐻 𝐵
相互情報量 • 事象系AとBが関連していれば,Aが何かを知るとBが何であるかの情報を知る ことができる.そこで次のような量を定義する. • 𝐼 𝐴, 𝐵 = 𝐻 𝐵 − 𝐻 𝐵 𝐴 • これは相互情報量と呼ばれ,Aの情報を知ることで得られる,Bに関する情報 の量である. • また,相互情報量はAとBの関係の強さとも⾔える. • AとBが無関係(AとBが独⽴)なら相互情報量は0である.
相互情報量の性質 • 性質1 • 相互情報量に順番は関係ない. 𝐼 𝐴, 𝐵 = 𝐻 𝐵 − 𝐻 𝐵 𝐴 = 𝐻 𝐴 + 𝐻 𝐵 − 𝐻 𝐴, 𝐵 =𝐻 𝐴 −𝐻 𝐴 𝐵 = 𝐼 𝐵, 𝐴 • 性質2 • 𝐼 𝐴, 𝐵 ≤ 𝐻 𝐴 , 𝐼 𝐴, 𝐵 ≤ 𝐻 𝐵 • 性質3 • 𝐼 𝐴, 𝐵 ≥ 0
それぞれの量の関係
KLダイバージェンス(情報量) • 未知の確率分布𝑝 𝑥 があり,これを𝑞 𝑥 でモデル化したとする. • 真の分布𝑝 𝑥 の代わりに,𝑞 𝑥 を使ったとき,𝑥の値を特定するために必要な 追加情報量の平均は次のように書ける. H 7 • KL 𝑝||𝑞 = − ∑3 𝑝 𝑥3 log G 77 7 • これを,カルバック-ライブラー(Kulback-Leibler: KL)ダイバージェンス(KL 情報量)と⾔う.
KLダイバージェンスの意味 𝑞 𝑥3 KL 𝑝||𝑞 = − ] 𝑝 𝑥3 log 𝑝 𝑥3 3 = − ] 𝑝 𝑥3 log 𝑞 𝑥3 − − ] 𝑝 𝑥3 log 𝑝 𝑥3 3 データ 𝑥! が確率分布qから⽣じたと 思って計算したエントロピー (クロスエントロピー) 3 観測されたデータから求めた(もしく は, 真の分布の)エントロピー KLダイバージェンスは想定した確率分布qと実際に観測された確率分布(もしくは真の確率分布)pとの差と考えられる. 逆に考えることもできます
注意 • 予想の分布と実際の分布(もしくは真の分布)の差を表すので距離と⾔いたく なる. • しかし,𝐾𝐿(𝑝||𝑞)と𝐾𝐿(𝑞||𝑝)は同じ値にならない. • つまり,距離の公理に反するので,距離ではない.
KLダイバージェンスと相互情報量 • 𝐼(𝐴, 𝐵)を𝑝を使って表すと • となる。これは,𝑝(𝐴, 𝐵)と𝑝(𝐴)𝑝(𝐵)とのKLダイバージェンスとなっている。A とBがi.i.d.の時𝑝(𝐴, 𝐵) = 𝑝(𝐴)𝑝(𝐵)が成り⽴つ.つまり,相互情報量は事象Aと Bが独⽴に近いかどうかを表す量と⾔える.