SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
パターン認識と機械学習
C.M.ビショップ
第1回 2013/05/08
第1章 序論
• 以下のような手書き文字の認識を考える。
• 機械学習ではまず訓練集合(training set)と呼ばれる N 個の手書き文字の大きな
集合{x1, x2, x3, …, xN}を使ってモデルのパラメータを適応的に調節する。
• ただし、訓練集合の手書き文字は予め人間が手作業でラベル付けするなどして既知。
訓練集合 x
目標ベクトル t
0 3 4 5 6 7 8 91 2
• 機械学習のアルゴリズムによって判明するのは関数 y(x) であり、この関数の詳細は訓
練データに基づいて求まる。
• このプロセスを訓練(training)段階ないし学習(learning)段階という。
• モデルが学習された後はテスト集合(test set)と呼ばれる新たな数字データに対してカ
テゴリが判別される。
• 訓練で使ったのと異なるデータを分類する能力を汎化(generalization)という。
• 実際の手書き文字データはフォーマットがバラバラであることが多いため適度に前処理
(特徴抽出、属性抽出)し訓練集合としている。
訓練集合(既知)
{x1, x2, x3, …, xN}
目標ベクトル(既知)
{t1, t2, t3, …, tN}
関数(未知)
y(x)
テスト集合(既知)
{x’1, x’2, x’3, …, x’N}
カテゴリベクトル(未知)
{t’1, t’2, t’3, …, t’N}
関数(既知)
y(x’)
前処理前 前処理後
教師あり学習(教師付き学習、supervised learning)
• 訓練データが入力ベクトルと目標ベクトルから構成される問題
– クラス分類(classification) : 各入力ベクトルを有限個の離散カテゴリに分類
– 回帰(regression) : 出力ベクトルが1つないしそれ以上の連続変数
教師なし学習(unsupervised learning)
• 訓練データが入力ベクトルのみで対応する目標値が存在しない問題
– クラスタリング(clustering) : 類似したグルーピングを発見する
– 密度推定(density estimation) : 入力空間におけるデータの分布を求める
強化学習(reinforcement learning)
• 所与の条件下で報酬最大化を達成する行動を発見する問題
• 探査と利用のトレードオフが存在
– 探査(exploration) : 新しい種類の行動がどれくらい有効であるか試す
– 利用(exploitation) : 高い報酬が得られることがわかっている行動をとる
多項式曲線フィッティング
• N 個の観測値の組 x ≡ (x1, x2, x3, …, xN)T と t ≡ (t1, t2, t3, …, tN)T から関
係性を調べたい。(有限個のデータから汎化を行いたい。)
• 曲線フィッティングに基づいて考えるために次のような多項式を考える。
• M を多項式の次数と呼ぶ。
• y 自体は非線形関数であるが係数ベクトル w に関しては線形関数。
⇨ 未知のパラメータに関して線形である関数は線形モデル(linear model)と呼ばれる。
• 訓練データに多項式をフィットさせることで係数ベクトル w を求める。
• 単純な方法としてモデルの出力 y と観測値の出力 t の差を2乗したものを誤差と考え
これを最小にする w を求める。
• この時の誤差を二乗和誤差(sum-of-squares error)と呼び次のように書く。
• 二乗和誤差を最小にする係数ベクトル w* を得た。(モデルの推定)
• 一方で次数 M を決定する問題がある。(モデル比較、モデル選択、モデルの同定)
• 以下は教科書pp.6のグラフを様々な M に対してフィットさせたもの
参考 : 以下の多項式にフィットさせた時の係数行列
• M = 3, 4の時は真値(緑の線)に対してフィッティングが良いように見える。
• 一方で M = 9の時はデータの全点を通っており理論的に二乗和誤差は0である。
⇨ 発振したグラフであり真値に対する表現としては不適 (= 過学習(over-fitting) )
⇨ そもそも汎化とは新しい入力(テスト集合)に対しての分類能力だった。
• 汎化性能を評価するために次のような平均二乗平方根誤差(root-mean-square
error, RMS error)を考える。
• このRMS誤差が訓練データとテスト集合の双方に対して計算が可能なのでこれを用いて
性能評価が可能となる。
• 以下が各 M に対してRMS誤差をプロットしたもの。(M = 9の時の汎化性能は悪い。)
• (3次多項式) ⊂ (9次多項式)なのに9次多項式のほうが汎化性能が悪いのはパラド
クスのように思える。
⇨ 9次多項式の係数は非常に大きな値をとっており無理やりデータにフィットさせている。
⇨ 過去のデータに対する過適合であり、説明力は上がるが予測力は下がっている。
• cf.オッカムの剃刀
• M が大きく自由度の高い多項式は目的値のランダムノイズに引きずられてしまうと思
えば良い。(意味不明)
過学習に対するアプローチ
1. データ数を増やす。
2. ベイズ的アプローチを用いる。
3. 正則化(regularization)を行う。
• 正則化とは過学習を制御するためのテクニックであり、二乗和誤差に係数爆発を考慮
した罰金項を加えた誤差関数を用いるものである。具体的には以下。
• このようなテクニックを縮小推定(shrinking)という。
曲線フィッティング再訪
• 目標変数の値に関する不確実性は確率分布を用いて表現可能で所与の x に対する t は平
均が以下であるガウス分布に従うと考える。
• 具体的には以下
• 上記は密度表現だが分布で表現すれば以下のようになる。( t が従う確率変数を T とした。)
• 結局のところ通常のNCRM(古典的正規回帰モデル)と同じ表現になる。
• 誤差の分布を仮定したことにより最尤法によるパラメータ推定が可能になる。
• 尤度関数、対数尤度関数として次式を得る。
• MLEを求める際に考える は二乗和誤差を最小にする推定量を
求めることと等価である。
⇨ OLSEはMLEの特別な場合と等価だとわかる。
• 同様にガウス分布の精度パラメータ β を求めると以下のようになる。
• 正規分布の分散のMLEは標本分散だったのでその点でも整合的。
• MLEを得たので新たな x に対する予測分布として以下が導出できる。
• 簡単のため次のような事前分布を導入する。
• この表現を用いることで事後分布を事前分布と尤度の積で表現できる。
• これにより所与のデータから最も尤もらしい w を見つけることができる。
• すなわち、事後分布を最大化する w を決めることができる。
• これを最大事後確率推定(maximum posterior)ないしMAP推定と呼ぶ。
• 事後確率の最大値は下式の最小値として与えられ正則化された二乗和誤差の最小
化問題と等価である。
モデル選択
• 最尤アプローチは過学習の問題がある。よって訓練集合に対して良いパフォーマンスを
あげていても汎化性能が低い場合がある。
確認用集合(validation set)を用意
– 確認用集合で最も汎化性能の高いモデルを採択
– 確認用集合に対して過学習してしまう懸念があるためテスト集合を新たに用意する必要がある。
交差確認(cross-validation)
– データの (S - 1) / S を学習に使い全データで汎化性能を測る
– データが極小のときは S = N とし、この時LOO法と呼ぶ
– パラメータ数に対して指数関数的に訓練回数が増える
情報量基準
– 最尤推定バイアスを罰金項により修正する
– 赤池情報量基準(AIC)
– ベイズ情報量基準(BIC)
– これらはモデルパラメータの不確実性を考慮しておらず過度に単純なモデルが採用されやすい。
次元の呪い(curse of dimensionality)
– 高次元空間に伴う困難性のこと。
– 高次元空間は低次元空間の単なる拡張ではない。
– e.g. 1~3次元球の体積は中心の寄っているが高次元球ではそうならない。
情報理論
• 情報とは「驚きの度合い」
⇨ 起きそうに無い事象の発生はそうでない事象の発生に比して多くの情報を持つ
⇨ 情報量を測る尺度は確率分布 p(x) に依存しているはず
• 情報量を表す関数 h(*) を発見したい。 ⇨ 情報量と確率の性質について考えてみる。
• 事象 x, y が独立ならば次の2式が成立するのが自然。
1. h(x, y) = h(x) + h(y)
2. p(x, y) = p(x) p(y)
• この関係を満たす関数として情報量は次のように表現できる。
• この関数を用いることにより情報量の平均を次のように期待値で表現可能。
• これをエントロピー(entropy)という。(多重度を用いた表現も可能)
• 最大エントロピーを持つ分布を持つ確率分布を考えたいが以下の定義では不十分
• 条件付き極値問題に帰着させるために確率を規格化する項を追加した以下を考える。
• この式は p(xi), p(xj)に関して偏微分すると要素が負になるので最大値が存在する。
• 最終的に次のような極値問題を解くことによって最大エントロピーを持つ分布を導く。
• 結果としてエントロピー最大となる分布は離散一様分布だとわかる。
• 離散エントロピーを連続変数に拡張することを考える。
• x を ⊿ 分割し p(x) が連続だと仮定することにより(積分の)平均値の定理から以下を
満足する xi が必ず存在する。
• xi の観測する確率は p(xi)⊿ となるので離散エントロピーは次のように計算できる。
• この式の第2項を無視し ⊿ → 0 の極限を取ると以下のように収束する。
• 複数の連続変数をまとめてベクトル表記をすれば微分エントロピーとして以下を定義で
きる。
• 離散の場合と同様にこのエントロピーを最大にする分布を特定したい。
• 最大値が定義されるために規格化制約と1,2次モーメントを制約として課す。
• 上記の極値問題を解くことで微分エントロピーが最大となる分布は正規分布だとわかる。
相対エントロピー / Kullback-Leibler divergence
• 未知の分布 p(x) があり、これを近似的に q(x) でモデル化することを考える。
• 真の分布 p(x) の代わりに q(x) を使うと x の値を特定するのに必要な追加情報量
の平均は次のように書ける。

Mais conteúdo relacionado

Mais procurados

A Machine Learning Framework for Programming by Example
A Machine Learning Framework for Programming by ExampleA Machine Learning Framework for Programming by Example
A Machine Learning Framework for Programming by Example
Koji Matsuda
 
パターン認識02 k平均法ver2.0
パターン認識02 k平均法ver2.0パターン認識02 k平均法ver2.0
パターン認識02 k平均法ver2.0
sleipnir002
 
手書き数字文書の認識 (JOI夏期セミナー2016)
手書き数字文書の認識 (JOI夏期セミナー2016)手書き数字文書の認識 (JOI夏期セミナー2016)
手書き数字文書の認識 (JOI夏期セミナー2016)
onkohdondo
 
マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法
マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法
マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法
Shuhei Sowa
 

Mais procurados (20)

A Machine Learning Framework for Programming by Example
A Machine Learning Framework for Programming by ExampleA Machine Learning Framework for Programming by Example
A Machine Learning Framework for Programming by Example
 
パターン認識02 k平均法ver2.0
パターン認識02 k平均法ver2.0パターン認識02 k平均法ver2.0
パターン認識02 k平均法ver2.0
 
演習II.第1章 ベイズ推論の考え方 Part 3.スライド
演習II.第1章 ベイズ推論の考え方 Part 3.スライド演習II.第1章 ベイズ推論の考え方 Part 3.スライド
演習II.第1章 ベイズ推論の考え方 Part 3.スライド
 
演習II.第1章 ベイズ推論の考え方 Part 3.講義ノート
演習II.第1章 ベイズ推論の考え方 Part 3.講義ノート演習II.第1章 ベイズ推論の考え方 Part 3.講義ノート
演習II.第1章 ベイズ推論の考え方 Part 3.講義ノート
 
Pythonデータ分析 第4回勉強会資料 12章
Pythonデータ分析 第4回勉強会資料 12章Pythonデータ分析 第4回勉強会資料 12章
Pythonデータ分析 第4回勉強会資料 12章
 
HTML5 Conference LT TensorFlow
HTML5 Conference LT TensorFlowHTML5 Conference LT TensorFlow
HTML5 Conference LT TensorFlow
 
人工知能13 deep learning
人工知能13 deep learning人工知能13 deep learning
人工知能13 deep learning
 
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門
 
20160611 pymc3-latent
20160611 pymc3-latent20160611 pymc3-latent
20160611 pymc3-latent
 
卒業研究進捗報告
卒業研究進捗報告卒業研究進捗報告
卒業研究進捗報告
 
Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識
 
[第2版]Python機械学習プログラミング 第8章
[第2版]Python機械学習プログラミング 第8章[第2版]Python機械学習プログラミング 第8章
[第2版]Python機械学習プログラミング 第8章
 
2013.07.15 はじパタlt scikit-learnで始める機械学習
2013.07.15 はじパタlt scikit-learnで始める機械学習2013.07.15 はじパタlt scikit-learnで始める機械学習
2013.07.15 はじパタlt scikit-learnで始める機械学習
 
手書き数字文書の認識 (JOI夏期セミナー2016)
手書き数字文書の認識 (JOI夏期セミナー2016)手書き数字文書の認識 (JOI夏期セミナー2016)
手書き数字文書の認識 (JOI夏期セミナー2016)
 
Data-Intensive Text Processing with MapReduce ch6.1
Data-Intensive Text Processing with MapReduce ch6.1Data-Intensive Text Processing with MapReduce ch6.1
Data-Intensive Text Processing with MapReduce ch6.1
 
VBAで数値計算 08 行列
VBAで数値計算 08 行列VBAで数値計算 08 行列
VBAで数値計算 08 行列
 
[第2版]Python機械学習プログラミング 第15章
[第2版]Python機械学習プログラミング 第15章[第2版]Python機械学習プログラミング 第15章
[第2版]Python機械学習プログラミング 第15章
 
マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法
マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法
マルコフモデル,隠れマルコフモデルとコネクショニスト時系列分類法
 
Greed is Good: 劣モジュラ関数最大化とその発展
Greed is Good: 劣モジュラ関数最大化とその発展Greed is Good: 劣モジュラ関数最大化とその発展
Greed is Good: 劣モジュラ関数最大化とその発展
 
PRML1.3
PRML1.3PRML1.3
PRML1.3
 

Destaque

言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo
Shuyo Nakatani
 

Destaque (17)

PRML読み会第一章
PRML読み会第一章PRML読み会第一章
PRML読み会第一章
 
Google appsを便利に使って楽をしよう
Google appsを便利に使って楽をしようGoogle appsを便利に使って楽をしよう
Google appsを便利に使って楽をしよう
 
Perl io layer
Perl io layerPerl io layer
Perl io layer
 
情景画像文字認識に関連する研究者を募集します。
情景画像文字認識に関連する研究者を募集します。情景画像文字認識に関連する研究者を募集します。
情景画像文字認識に関連する研究者を募集します。
 
Prml 1.3~1.6 ver3
Prml 1.3~1.6 ver3Prml 1.3~1.6 ver3
Prml 1.3~1.6 ver3
 
Tesseract-OCR in iOS
Tesseract-OCR in iOSTesseract-OCR in iOS
Tesseract-OCR in iOS
 
加賀さんと僕(実装編)〜艦これウィジェットの課題と実装〜
加賀さんと僕(実装編)〜艦これウィジェットの課題と実装〜加賀さんと僕(実装編)〜艦これウィジェットの課題と実装〜
加賀さんと僕(実装編)〜艦これウィジェットの課題と実装〜
 
日中Ocr
日中Ocr日中Ocr
日中Ocr
 
タンゴチュウ in 名古屋ギークバー 2011.08.08
タンゴチュウ in 名古屋ギークバー 2011.08.08タンゴチュウ in 名古屋ギークバー 2011.08.08
タンゴチュウ in 名古屋ギークバー 2011.08.08
 
来栖川電算の技術紹介
来栖川電算の技術紹介来栖川電算の技術紹介
来栖川電算の技術紹介
 
OCRは古い技術
OCRは古い技術OCRは古い技術
OCRは古い技術
 
加賀さんと僕 ~艦これウィジェットの紹介と説明~
加賀さんと僕 ~艦これウィジェットの紹介と説明~加賀さんと僕 ~艦これウィジェットの紹介と説明~
加賀さんと僕 ~艦これウィジェットの紹介と説明~
 
文字認識はCNNで終わるのか?
文字認識はCNNで終わるのか?文字認識はCNNで終わるのか?
文字認識はCNNで終わるのか?
 
言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo言語処理するのに Python でいいの? #PyDataTokyo
言語処理するのに Python でいいの? #PyDataTokyo
 
Tesseract ocr
Tesseract ocrTesseract ocr
Tesseract ocr
 
深層学習の非常に簡単な説明
深層学習の非常に簡単な説明深層学習の非常に簡単な説明
深層学習の非常に簡単な説明
 
JAWS DAYS 2017 lunch session
JAWS DAYS 2017 lunch sessionJAWS DAYS 2017 lunch session
JAWS DAYS 2017 lunch session
 

Semelhante a PRML s1

パターン認識 04 混合正規分布
パターン認識 04 混合正規分布パターン認識 04 混合正規分布
パターン認識 04 混合正規分布
sleipnir002
 
不均衡データのクラス分類
不均衡データのクラス分類不均衡データのクラス分類
不均衡データのクラス分類
Shintaro Fukushima
 

Semelhante a PRML s1 (20)

パターン認識 04 混合正規分布
パターン認識 04 混合正規分布パターン認識 04 混合正規分布
パターン認識 04 混合正規分布
 
深層学習①
深層学習①深層学習①
深層学習①
 
mxnetで頑張る深層学習
mxnetで頑張る深層学習mxnetで頑張る深層学習
mxnetで頑張る深層学習
 
Machine Learning Fundamentals IEEE
Machine Learning Fundamentals IEEEMachine Learning Fundamentals IEEE
Machine Learning Fundamentals IEEE
 
LCCC2010:Learning on Cores, Clusters and Cloudsの解説
LCCC2010:Learning on Cores,  Clusters and Cloudsの解説LCCC2010:Learning on Cores,  Clusters and Cloudsの解説
LCCC2010:Learning on Cores, Clusters and Cloudsの解説
 
programming camp 2008, introduction of programming, algorithm
programming camp 2008, introduction of programming, algorithmprogramming camp 2008, introduction of programming, algorithm
programming camp 2008, introduction of programming, algorithm
 
Python for Data Anaysis第2回勉強会4,5章
Python for Data Anaysis第2回勉強会4,5章Python for Data Anaysis第2回勉強会4,5章
Python for Data Anaysis第2回勉強会4,5章
 
AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」【旧版】※新版あります
AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」【旧版】※新版ありますAI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」【旧版】※新版あります
AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」【旧版】※新版あります
 
クラシックな機械学習の入門 4. 学習データと予測性能
クラシックな機械学習の入門  4.   学習データと予測性能クラシックな機械学習の入門  4.   学習データと予測性能
クラシックな機械学習の入門 4. 学習データと予測性能
 
基礎構文班22回目 試験対策もどき
基礎構文班22回目 試験対策もどき基礎構文班22回目 試験対策もどき
基礎構文班22回目 試験対策もどき
 
Kmeans vs kmeanspp_20151124
Kmeans vs kmeanspp_20151124Kmeans vs kmeanspp_20151124
Kmeans vs kmeanspp_20151124
 
6 Info Theory
6 Info Theory6 Info Theory
6 Info Theory
 
エンジニアのための機械学習の基礎
エンジニアのための機械学習の基礎エンジニアのための機械学習の基礎
エンジニアのための機械学習の基礎
 
機械学習の理論と実践
機械学習の理論と実践機械学習の理論と実践
機械学習の理論と実践
 
不均衡データのクラス分類
不均衡データのクラス分類不均衡データのクラス分類
不均衡データのクラス分類
 
アンサンブル木モデル解釈のためのモデル簡略化法
アンサンブル木モデル解釈のためのモデル簡略化法アンサンブル木モデル解釈のためのモデル簡略化法
アンサンブル木モデル解釈のためのモデル簡略化法
 
カステラ本勉強会 第三回 補足
カステラ本勉強会 第三回 補足カステラ本勉強会 第三回 補足
カステラ本勉強会 第三回 補足
 
論文紹介&実験
論文紹介&実験論文紹介&実験
論文紹介&実験
 
ji-5. 繰り返し計算
ji-5. 繰り返し計算ji-5. 繰り返し計算
ji-5. 繰り返し計算
 
Anomaly detection survey
Anomaly detection surveyAnomaly detection survey
Anomaly detection survey
 

PRML s1

  • 2. 第1章 序論 • 以下のような手書き文字の認識を考える。 • 機械学習ではまず訓練集合(training set)と呼ばれる N 個の手書き文字の大きな 集合{x1, x2, x3, …, xN}を使ってモデルのパラメータを適応的に調節する。 • ただし、訓練集合の手書き文字は予め人間が手作業でラベル付けするなどして既知。 訓練集合 x 目標ベクトル t 0 3 4 5 6 7 8 91 2
  • 3. • 機械学習のアルゴリズムによって判明するのは関数 y(x) であり、この関数の詳細は訓 練データに基づいて求まる。 • このプロセスを訓練(training)段階ないし学習(learning)段階という。 • モデルが学習された後はテスト集合(test set)と呼ばれる新たな数字データに対してカ テゴリが判別される。 • 訓練で使ったのと異なるデータを分類する能力を汎化(generalization)という。 • 実際の手書き文字データはフォーマットがバラバラであることが多いため適度に前処理 (特徴抽出、属性抽出)し訓練集合としている。 訓練集合(既知) {x1, x2, x3, …, xN} 目標ベクトル(既知) {t1, t2, t3, …, tN} 関数(未知) y(x) テスト集合(既知) {x’1, x’2, x’3, …, x’N} カテゴリベクトル(未知) {t’1, t’2, t’3, …, t’N} 関数(既知) y(x’) 前処理前 前処理後
  • 4. 教師あり学習(教師付き学習、supervised learning) • 訓練データが入力ベクトルと目標ベクトルから構成される問題 – クラス分類(classification) : 各入力ベクトルを有限個の離散カテゴリに分類 – 回帰(regression) : 出力ベクトルが1つないしそれ以上の連続変数 教師なし学習(unsupervised learning) • 訓練データが入力ベクトルのみで対応する目標値が存在しない問題 – クラスタリング(clustering) : 類似したグルーピングを発見する – 密度推定(density estimation) : 入力空間におけるデータの分布を求める 強化学習(reinforcement learning) • 所与の条件下で報酬最大化を達成する行動を発見する問題 • 探査と利用のトレードオフが存在 – 探査(exploration) : 新しい種類の行動がどれくらい有効であるか試す – 利用(exploitation) : 高い報酬が得られることがわかっている行動をとる
  • 5. 多項式曲線フィッティング • N 個の観測値の組 x ≡ (x1, x2, x3, …, xN)T と t ≡ (t1, t2, t3, …, tN)T から関 係性を調べたい。(有限個のデータから汎化を行いたい。) • 曲線フィッティングに基づいて考えるために次のような多項式を考える。 • M を多項式の次数と呼ぶ。 • y 自体は非線形関数であるが係数ベクトル w に関しては線形関数。 ⇨ 未知のパラメータに関して線形である関数は線形モデル(linear model)と呼ばれる。 • 訓練データに多項式をフィットさせることで係数ベクトル w を求める。 • 単純な方法としてモデルの出力 y と観測値の出力 t の差を2乗したものを誤差と考え これを最小にする w を求める。 • この時の誤差を二乗和誤差(sum-of-squares error)と呼び次のように書く。
  • 6. • 二乗和誤差を最小にする係数ベクトル w* を得た。(モデルの推定) • 一方で次数 M を決定する問題がある。(モデル比較、モデル選択、モデルの同定) • 以下は教科書pp.6のグラフを様々な M に対してフィットさせたもの
  • 8. • M = 3, 4の時は真値(緑の線)に対してフィッティングが良いように見える。 • 一方で M = 9の時はデータの全点を通っており理論的に二乗和誤差は0である。 ⇨ 発振したグラフであり真値に対する表現としては不適 (= 過学習(over-fitting) ) ⇨ そもそも汎化とは新しい入力(テスト集合)に対しての分類能力だった。 • 汎化性能を評価するために次のような平均二乗平方根誤差(root-mean-square error, RMS error)を考える。 • このRMS誤差が訓練データとテスト集合の双方に対して計算が可能なのでこれを用いて 性能評価が可能となる。 • 以下が各 M に対してRMS誤差をプロットしたもの。(M = 9の時の汎化性能は悪い。)
  • 9. • (3次多項式) ⊂ (9次多項式)なのに9次多項式のほうが汎化性能が悪いのはパラド クスのように思える。 ⇨ 9次多項式の係数は非常に大きな値をとっており無理やりデータにフィットさせている。 ⇨ 過去のデータに対する過適合であり、説明力は上がるが予測力は下がっている。 • cf.オッカムの剃刀 • M が大きく自由度の高い多項式は目的値のランダムノイズに引きずられてしまうと思 えば良い。(意味不明) 過学習に対するアプローチ 1. データ数を増やす。 2. ベイズ的アプローチを用いる。 3. 正則化(regularization)を行う。 • 正則化とは過学習を制御するためのテクニックであり、二乗和誤差に係数爆発を考慮 した罰金項を加えた誤差関数を用いるものである。具体的には以下。 • このようなテクニックを縮小推定(shrinking)という。
  • 10. 曲線フィッティング再訪 • 目標変数の値に関する不確実性は確率分布を用いて表現可能で所与の x に対する t は平 均が以下であるガウス分布に従うと考える。 • 具体的には以下 • 上記は密度表現だが分布で表現すれば以下のようになる。( t が従う確率変数を T とした。) • 結局のところ通常のNCRM(古典的正規回帰モデル)と同じ表現になる。 • 誤差の分布を仮定したことにより最尤法によるパラメータ推定が可能になる。
  • 11. • 尤度関数、対数尤度関数として次式を得る。 • MLEを求める際に考える は二乗和誤差を最小にする推定量を 求めることと等価である。 ⇨ OLSEはMLEの特別な場合と等価だとわかる。 • 同様にガウス分布の精度パラメータ β を求めると以下のようになる。 • 正規分布の分散のMLEは標本分散だったのでその点でも整合的。
  • 12. • MLEを得たので新たな x に対する予測分布として以下が導出できる。 • 簡単のため次のような事前分布を導入する。 • この表現を用いることで事後分布を事前分布と尤度の積で表現できる。 • これにより所与のデータから最も尤もらしい w を見つけることができる。 • すなわち、事後分布を最大化する w を決めることができる。 • これを最大事後確率推定(maximum posterior)ないしMAP推定と呼ぶ。 • 事後確率の最大値は下式の最小値として与えられ正則化された二乗和誤差の最小 化問題と等価である。
  • 13. モデル選択 • 最尤アプローチは過学習の問題がある。よって訓練集合に対して良いパフォーマンスを あげていても汎化性能が低い場合がある。 確認用集合(validation set)を用意 – 確認用集合で最も汎化性能の高いモデルを採択 – 確認用集合に対して過学習してしまう懸念があるためテスト集合を新たに用意する必要がある。 交差確認(cross-validation) – データの (S - 1) / S を学習に使い全データで汎化性能を測る – データが極小のときは S = N とし、この時LOO法と呼ぶ – パラメータ数に対して指数関数的に訓練回数が増える 情報量基準 – 最尤推定バイアスを罰金項により修正する – 赤池情報量基準(AIC) – ベイズ情報量基準(BIC) – これらはモデルパラメータの不確実性を考慮しておらず過度に単純なモデルが採用されやすい。 次元の呪い(curse of dimensionality) – 高次元空間に伴う困難性のこと。 – 高次元空間は低次元空間の単なる拡張ではない。 – e.g. 1~3次元球の体積は中心の寄っているが高次元球ではそうならない。
  • 14. 情報理論 • 情報とは「驚きの度合い」 ⇨ 起きそうに無い事象の発生はそうでない事象の発生に比して多くの情報を持つ ⇨ 情報量を測る尺度は確率分布 p(x) に依存しているはず • 情報量を表す関数 h(*) を発見したい。 ⇨ 情報量と確率の性質について考えてみる。 • 事象 x, y が独立ならば次の2式が成立するのが自然。 1. h(x, y) = h(x) + h(y) 2. p(x, y) = p(x) p(y) • この関係を満たす関数として情報量は次のように表現できる。 • この関数を用いることにより情報量の平均を次のように期待値で表現可能。 • これをエントロピー(entropy)という。(多重度を用いた表現も可能)
  • 15. • 最大エントロピーを持つ分布を持つ確率分布を考えたいが以下の定義では不十分 • 条件付き極値問題に帰着させるために確率を規格化する項を追加した以下を考える。 • この式は p(xi), p(xj)に関して偏微分すると要素が負になるので最大値が存在する。 • 最終的に次のような極値問題を解くことによって最大エントロピーを持つ分布を導く。 • 結果としてエントロピー最大となる分布は離散一様分布だとわかる。
  • 16. • 離散エントロピーを連続変数に拡張することを考える。 • x を ⊿ 分割し p(x) が連続だと仮定することにより(積分の)平均値の定理から以下を 満足する xi が必ず存在する。 • xi の観測する確率は p(xi)⊿ となるので離散エントロピーは次のように計算できる。 • この式の第2項を無視し ⊿ → 0 の極限を取ると以下のように収束する。
  • 17. • 複数の連続変数をまとめてベクトル表記をすれば微分エントロピーとして以下を定義で きる。 • 離散の場合と同様にこのエントロピーを最大にする分布を特定したい。 • 最大値が定義されるために規格化制約と1,2次モーメントを制約として課す。 • 上記の極値問題を解くことで微分エントロピーが最大となる分布は正規分布だとわかる。
  • 18. 相対エントロピー / Kullback-Leibler divergence • 未知の分布 p(x) があり、これを近似的に q(x) でモデル化することを考える。 • 真の分布 p(x) の代わりに q(x) を使うと x の値を特定するのに必要な追加情報量 の平均は次のように書ける。