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