Comments
Description
Transcript
f - 長井研究室
http://apple.ee.uec.ac.jp/isyslab ロボット情報工学特論 no.9 Advanced Information Engineering for Robotics no.09 第9回:パターン認識と機械学習2~統計的学習~ 電気通信大学大学院 情報理工学研究科 知能機械工学専攻 長井隆行 http://apple.ee.uec.ac.jp/isyslab Outline 問題設定 何を解きたいのか? 直観的な解法 一般化の準備 ついでにJensenの不等式 KLダイバージェンス EMアルゴリズム ベイズ推定 研究例 2 http://apple.ee.uec.ac.jp/isyslab 確率論 同時確率(結合確率) P( A, B) :事象AとBが同時に起こる確率 条件付き確率 P( A | B) P( A, B) P( A | B) P( B) チェーンルール P( A, B) :事象Bが起こったもとでAが起こる確率 P( B) ベイズの定理 P( B | A) P( A) P( A | B) P( B) 事後確率 事前後確率 正規化定数 周辺化 P( A, B | C ) P( B | C ) A 3 http://apple.ee.uec.ac.jp/isyslab 確率的推論 現実世界では多くのことが不確実性をもつ 知識や推論を確率的に行うのがよさそう ⇒グラフィカルモデル(ベイジアンネットワーク) 因果関係を条件付確率で表現する B:泥棒が入る E:地震が起こる A:警報がなる C:携帯に連絡が来る R:テレビで地震の速報を見る P(E ) P(B) E B P( A | B, E ) P( R | E ) A R P(C | A) C 携帯電話が鳴った時に本当に 泥棒が入った確率はいかほど? P( B | C ) ? 携帯電話が鳴り、テレビで地震速報を見たとき 本当に泥棒が入った確率はいかほど? P( B | C, R) ? 4 http://apple.ee.uec.ac.jp/isyslab ベイジアンネットワーク 条件付確率の因果関係をグラフィカルな有向非循環 グラフ構造で表したもの P(E ) P(B) E P( R | E ) B 同時確率 P( A | B, E ) P( A, B, C , E , R) P(C | A, B, E , R) P( A | B, E , R) P( R | B, E ) P( B | E ) P( E ) P(C | A) P( A | B, E ) P( R | E ) P( B) P( E ) A R P(C | A) C P( B) P( A | B, E ) P( E ) P( R | E ) P(C | A) P( B | C ) P( B) P( A | B, E ) P( E ) P( R | E ) P(C | A) P( A) P( A | B, E ) P( E ) P( R | E ) P(C | A) P( B | C , R) P( A) P( A | B, E ) P( E ) P( R | E ) P(C | A) A B E R A E A B R E A E 5 http://apple.ee.uec.ac.jp/isyslab ベイジアンネットワークの例 簡単な例 血液型 P( 血液型) 経験から学習 性格 P( 性格 | 血液型) P(血液型) A 0.4 B 0.2 O 0.3 AB 0.1 気になるあの子の血液型は!?(ベイズの定理) P(血液型|性格) ∝ P(性格|血液型) P(血液型) 血液 型 P(性格|血液型) 几帳面 大雑把 我侭 A 0.5 0.3 0.2 B 0.1 0.4 0.5 O 0.1 0.6 0.3 AB 0.3 0.4 0.3 CPT (Conditional Probability Table) P(A|大) ∝ P(大|A) P(A) = 0.3 × 0.4 = 0.12 気になるあの子は大雑把だ と知った時の血液型の予想 P(大雑把)は共通なので省いていることに注意 P(B|大) ∝ P(大|B) P(B) = 0.4 × 0.2 = 0.08 P(O|大) ∝ P(大|O) P(O) = 0.6 × 0.3 = 0.18 P(AB|大) ∝ P(大|AB) P(AB) = 0.4 × 0.1 = 0.04 6 http://apple.ee.uec.ac.jp/isyslab ベイジアンネットワークの例題 前項の血液型と性格の例にさらに性別の要素 を足すことを考える 血液 型 P( 性格 | 血液型) P( 血液型) 血液型 性別 性格 P( 性別|性格) P(血液型) A 0.4 B 0.2 男 0.4 O 0.3 女 0.6 AB 0.1 P(性格|血液型) 几帳面 大雑把 我侭 A 0.5 0.3 0.2 B 0.1 0.4 0.5 O 0.1 0.6 0.3 AB 0.3 0.4 0.3 性別 P(性別|性格) P(性別) 几帳面 大雑把 我侭 男 0.2 0.5 0.3 女 0.4 0.2 0.4 7 http://apple.ee.uec.ac.jp/isyslab 課題 つづき ベイジアンネットワークを使って次のような確率 推論をする 我侭な女の子の血液型は何型だろうか? 血液型がA型の女の子の性格は? 他にどのような要素(ノード)を追加すれば“人の 性格ベイジアンネットワーク”はより正確(現実 的)になるだろうか? 8 http://apple.ee.uec.ac.jp/isyslab 観測できない情報を含む場合 非観測ノードがある場合 どのようにパラメータを計算するか? EMアルゴリズム 変分ベイズ(ベイズ学習) マルコフ連鎖モンテカルロ法(MCMC) P(血液型) 血液型 P(性格|血液型) 性格 P(性別) 性別 P(部屋|性格) 部屋の 整頓度合い P(性格|性別) 直接観測できない情報 ID 1 2 3 4 5 6 7 ・・・ 学習データ 血液型 A型 B型 A型 AB型 O型 B型 A型 性別 部屋 男 8 女 7 女 10 男 6 男 4 女 6 女 10 9 http://apple.ee.uec.ac.jp/isyslab 隠れマルコフモデル(HMM) ダイナミックベイジアンネットワーク 時間的な変化の確率モデル 音声認識で最も良く使われている手法 特徴量(LPC係数、MFCCなど) 時間t 10 http://apple.ee.uec.ac.jp/isyslab ベイズの識別則 確率を使ってパターンを判別する 入力パターンxがクラスw1クラスw2のどちらか? ベイズの定理を利用 P(w1 ) p( x | w1 ) P(w2 ) p( x | w2 ) x w1 P(w1 ) p( x | w1 ) P(w2 ) p( x | w2 ) x w2 P(w1 | x) P(w2 | x) x w1 P(w1 | x) P(w2 | x) x w2 識別境界 確率 P(w2 ) p( x | w2 ) P(w1 ) p( x | w1 ) x w1 x2 x1 特徴量 x w2 11 http://apple.ee.uec.ac.jp/isyslab ベイズ誤識別率 損失関数をLとしたときのリスク(損失の期 待値)Rの最小化 ⇒ベイズの識別則 0-1損失 K R(d ) L(d ( x) | wk )P(wk | x) p( x)dx L(wk | w j ) 1 jk k 1 ベイズ誤識別率(誤り率) P(wk ) p( x | wk ) P(wk | x) p( x) E 1 max P(wk | x) p( x)dx k 面積 12 http://apple.ee.uec.ac.jp/isyslab パラメトリックベイズ識別 ベイズ識別を具体的に考える 確率密度分布のパラメータを学習データから推定する ガウス分布(正規分布)を仮定した場合 ⇒平均と分散(共分散行列)がパラメータ 線形識別器 2つのクラスの共分散行列が等しい場合 2次識別関数 2つのクラスの共分散行列が異なる場合 1 1 T 1 p ( x | wk ) exp ( x k ) k ( x k ) n/2 1/ 2 (2 ) | k | 2 分散 k E[ x | wk ] 平均 k E[( x k )( x k )T | wk ] (共分散) 13 http://apple.ee.uec.ac.jp/isyslab 線形識別器 p( x | w1 ) P(w2 ) p( x | w ) P(w ) x w1 2 1 ベイズ識別 p( x | w ) P(w ) 1 2 x w2 共分散行列が等しい場合 (1 2 ) p( x | w2 ) P(w1 ) p( x | w1 ) 1 1 1 exp ( x 1 )T 1 ( x 1 ) ( x 2 )T 1 ( x 2 ) exp xT 1 ( 2 1 ) ( 1 2 )T 1 ( 1 2 ) p ( x | w2 ) 2 2 2 1 P(w2 ) 0 x w1 T 1 ( 2 1 ) x ( 1 2 ) ( 1 2 ) log 0 x w 2 P ( w ) 2 1 T 1 直線 w2 f ( x) W T x w0 :線形識別関数 f ( x) 0 識別面 w1 14 http://apple.ee.uec.ac.jp/isyslab 2次識別器 ベイズ識別 共分散行列が異なる場合 (1 2 ) 1/ 2 x w1 P ( w ) | | T 1 T 1 1 2 ( x 1 ) 1 ( x 1 ) ( x 2 ) 2 ( x 2 ) 2 log P(w2 ) | 1 |1/ 2 x w2 | k |1/ 2 1 T 1 d k ( x) ( x k ) k ( x k ) log 2 P(wk ) とおくと x w1 d1 ( x) d 2 ( x) x w2 d1 ( x) d 2 ( x) xT Qx qT x q0:2次識別関数 w2 w1 d ( x) 0 識別2次曲面 15 http://apple.ee.uec.ac.jp/isyslab パラーメータの推定 ガウス分布における平均と分散の推定 最尤推定 N ( xi ) 2 1 p( xi ; ) exp 2 2 2 L( ) p( xi ; ) i 1 N N N 1 l ( ) log p( xi ; ) log 2 log 2 2 2 2 2 i 1 l ( ) 1 2 (x ) i 1 2 i 1 N N ( x ) 0 i i 1 N N x i i 1 N l ( ) N 1 2 2 2 2 4 N ( xi ) 2 2 N ( xi )2 i 1 i 1 2 4 0 1 N 2 N (x ) i 1 2 i 16 http://apple.ee.uec.ac.jp/isyslab ガウス混合分布(GMM) データの分布が単純なガウス分布で表現でき ないことが多い 複数のガウス分布の重み和で表現 ガウス混合分布(Gaussian Mixture Model) パラメータの推定 最尤推定⇒解析的に解くことができない EM(Expectation Maximization)アルゴリズムを 使う 17 http://apple.ee.uec.ac.jp/isyslab ここで考える問題は何? 統計的学習 例題 教師なし学習 最尤学習(パラメータの最尤推定) 成人100人の身長をデータのみから確率モデルでモデル化する 正規分布を使いたいが、男性と女性では分布が異なる 男性と女性それぞれは正規分布に従うとすることができる(仮定) もし身長のデータに男性・女性というラベルが付いていれ ば話は簡単 ラベルはもちろんありません さあどうする? 直感的な方法は? 18 http://apple.ee.uec.ac.jp/isyslab 所属確率 {xi ; i 1,, N} : 観測データ wik : i番目のデータがk番目のクラスに属する確率 各クラスに所属するデータの数の期待値 N N k wik , k 1,2 i 1 クラスkの分散 クラスkの期待値(平均) 1 k Nk N w x , k 1,2 i 1 k i i 1 Nk 2 k N k 2 w ( x ) i i k , k 1,2 i 1 19 http://apple.ee.uec.ac.jp/isyslab 所属確率の計算 所属確率はクラスの確率分布があれば計算できる pk ( xi ) : xiのクラスkにおける尤度 wik k pk ( xi ) Nk , , k 1,2 k 2 N j 1 j p j ( xi ) 正規分布を仮定していれば、確率分布は前のスラ イドの式で計算可能(尤度が出せる) N2 p2 ( xi ) N N1 p1 ( xi ) N N1 p1 ( x) N N2 p2 ( x ) N xi 20 http://apple.ee.uec.ac.jp/isyslab 鶏と卵の問題 このような問題は初期値を与えて繰り返す のが定石なので・・・ 1.所属確率の初期値を与える 2.データ数の期待値の計算 3.正規分布のパラメータを最尤推定 4.所属確率の更新 2~4を収束するまで繰り返し 21 http://apple.ee.uec.ac.jp/isyslab 実はこれが・・・ ガウス混合分布(GMM)のEMアルゴリズム p( x) k 1 k pk ( x; k ) K データの確率分布(GMM) 混合重み 各クラスの正規分布 混合(和) + 22 http://apple.ee.uec.ac.jp/isyslab 一般化のための準備 Jensenの不等式 上に凸な関数f(x)に対して f ( E[ x]) E[ f ( x)] log p( x)F ( x)dx p( x) log( F ( x))dx KLダイバージェンス 分布間の距離 p( x) D( p || q) p( x) log dx 0 q( x) 2つの分布が等しいときに0となる 非対称な距離 23 http://apple.ee.uec.ac.jp/isyslab 問題の一般化 観測データ集合 D 隠れ変数集合 Z 確率モデル(生成モデル) p( D | ) 尤度関数 L p( D | ) p( D, Z | )dZ 尤度関数を最大化したい ⇒直接最大化するのは難しいので工夫する 24 http://apple.ee.uec.ac.jp/isyslab EMアルゴリズム Jensenの不等式を使う log p( D | ) log p( D, Z | )dZ p ( D, Z | ) ˆ log q( Z | D, ) dZ ˆ q ( Z | D, ) p ( D, Z | ) ˆ q( Z | D, ) log dZ F (q( Z ), ) ˆ q ( Z | D, ) 対数尤度の下限値を最大化する E step q( z ) arg max F (q( z ), ) M step ˆ arg max F (q( z ), ) q( z ) 交互に最大化 25 http://apple.ee.uec.ac.jp/isyslab E step KLダイバージェンスの最小化 p ( D, Z | ) ˆ F (q ( Z ), ) q ( Z | D, ) log dZ ˆ q ( Z | D, ) p ( Z | D, ) p ( D | ) q ( Z | D,ˆ) log dZ q ( Z | D, ˆ) ˆ) q ( Z | D , q ( Z | D, ˆ) log dZ log p ( D | ) p ( Z | D, ) D(q ( Z | D,ˆ) || p ( Z | D, )) log p ( D | ) q(Z | D,ˆ) p(Z | D, ) で最大 26 http://apple.ee.uec.ac.jp/isyslab M step パラメータによる最大化 p ( D, Z | ) F (q( Z ), ) q( Z | D,ˆ) log dZ q( Z | D,ˆ) ˆ log p( D, Z | ) ˆ H ( q ( Z | D, )) q ( Z | D , ) 条件付き期待値の最大化(Q関数) Q( ) log p( D, Z | ) q ( Z |D,ˆ ) Q( ) 0 解いた を ˆ とする 27 http://apple.ee.uec.ac.jp/isyslab 結局のところ・・・ KLダイバージェンスを最小化していることに相当する p( D, Z | ) ˆ log p( D | ) F (q( Z ), ) q( Z | D, ) log dZ ˆ q( Z | D, ) log p( D | ) F (q( Z ), ) p ( D, Z | ) q( Z | D,ˆ) log p( D | )dZ q( Z | D,ˆ) log dZ q( Z | D, ˆ) q( Z | D, ˆ) ˆ q( Z | D, ) log dZ D(q( Z | D,ˆ) || p( Z | D, )) 0 p ( Z | D, ) 28 http://apple.ee.uec.ac.jp/isyslab ベイズ推定(学習) 図の確率モデルで新しいデータdを予測する場合 p(d | D) p(d | ) p( | D)d ベイズ推定 D 確率モデルをdに適用 の事後分布 一方最尤推定では p(d | D) p(d | ˆ) 事後分布がデルタ関数で近似されている ˆ と点推定していることに相当する 過学習がおきやすい(学習データに依存) 29 http://apple.ee.uec.ac.jp/isyslab ベイズ学習の流れ (1)対象のモデル化 p( X | ) p( ) (2)事前分布の設定 p( D | ) (3)観測データを取得し尤度を算出 (4)ベイズの定理で事後分布を求める p( | D) (5)新たなデータに対する予測を求める p(d | D) p(d | ) p( | D)d 事前知識 事前分布 尤度 観測データD 事後分布 事後知識 予測分布 事後予測 30 http://apple.ee.uec.ac.jp/isyslab ベイズ学習の意味合い 31 http://apple.ee.uec.ac.jp/isyslab マルチモーダルカテゴリゼーション 視覚、聴覚、触覚の3つのモダリティーを使って似た 性質を持った物体をグループ化する Bag of words modelの利用 32 http://apple.ee.uec.ac.jp/isyslab グラフィカルモデル グラフィカルモデルの利用 Multimodal bag of words model あるオブジェクト(シーン)がある場合に、各信号の出現頻 度のパターンをモデル化する 位相は考慮しない(見続けている間の頻度) オブジェクト (シーン) 視覚情報 聴覚情報 カテゴリ EMアルゴリズムで学習 触覚情報 33 http://apple.ee.uec.ac.jp/isyslab 画像情報 ヒストグラム sift [5 , 120 , 34 ,・・・] [140 , 9 , 98 ,・・・] 1 2 [240 , 10 , 44 ,・・・] 観察 : 128次元のベクトル ベクトル量子化 34 http://apple.ee.uec.ac.jp/isyslab 音声情報 マイク フレームに分割 腕を振り音を取得 MFCC ヒ ス ト グ ラ ム [5 , 120 , 34 ,・・・] 1 2 [140 , 9 , 98 ,・・・] [240 , 10 , 44 ,・・・] : ベクトル量子化 13次元のベクトル 35 http://apple.ee.uec.ac.jp/isyslab 触覚情報 圧力センサ 物体を掴み圧 力と角度変化 量を取得 ベクトル量子化 角度・負荷等が取得可能 なアクチュエータ×4 ヒストグラム ハンドの構成 36 http://apple.ee.uec.ac.jp/isyslab アフォーダンス アフォーダンスにつながる? ここを観測して ここを推定できる 見た目から、 p(wa | wv , s) 音が鳴りそうかどうか? どんな音がしそうか? t v p ( w | w , s) 硬そうかどうか? などを確率として予測できる! 37 http://apple.ee.uec.ac.jp/isyslab 実験 ロボット カメラ、マイク、圧力センサ 乳児用おもちゃ50個を分類するタスク ぬいぐるみ、マラカス、タンバリン、がらがら、ゴ ム人形、ボール、砂場道具、プラスチックがらが ら、音の出るぬいぐるみ 8人の被験者によるカテゴリ分類 12~2カテゴリ 38 http://apple.ee.uec.ac.jp/isyslab 結果その1 人間がカテゴリ分類した場合との近さ 視聴覚+触覚をフルに使った場合が最もよい 人間のカテゴリ分類にもばらつきが見られる 39 http://apple.ee.uec.ac.jp/isyslab 結果その2 8人が共通に選んだカテゴリーに含まれるオブジェクト のみを使用(42オブジェクト) 40 http://apple.ee.uec.ac.jp/isyslab 結果その3 視覚⇒聴覚(予測) 赤:音を出す 黄色:音を出さない 41 http://apple.ee.uec.ac.jp/isyslab ロボットへの実装 画像のみ ぬいぐるみと推定 画像+触覚 ぬいぐるみと推定 画像+触覚+音声 ぬいぐるみと推定 42 http://apple.ee.uec.ac.jp/isyslab ロボットへの実装 画像のみ 砂場道具と推定 画像+触覚 砂場道具と推定 画像+触覚+音声 マラカスと推定 43 http://apple.ee.uec.ac.jp/isyslab マルチモーダルLDA ベイズ学習のマルチモーダルへの拡張 α 拡張 1つのデータしか分類できない θ z wv βv Nv wa βa Na wt βt Nt M マルチモーダル情報を分類可能 44 http://apple.ee.uec.ac.jp/isyslab EMアルゴリズムの更新式 v lkv kjl exp ( k ) ( k ) E-step k a lka kjl exp ( k ) ( k ) k t lkt kjl exp ( k ) ( k ) k k k lkv lka lkt l l l kjv iljiljv M-step i l i l i l iljilja a kj kjt iljiljt L N k ' N ( k ) ( lk ) ( lk ) k l k' k' 45 http://apple.ee.uec.ac.jp/isyslab pLSAとLDAの比較 5 5 10 10 15 20 15 20 25 25 30 30 35 40 35 40 1 2 3 4 5 6 Category ID 7 8 1 2 3 4 5 6 Category ID 7 8 (a) 5 10 15 20 25 30 35 40 1 2 3 4 5 6 CategoryID 7 5 5 10 10 15 20 15 25 25 30 30 35 40 8 20 35 1 2 3 4 5 6 Category ID 40 8 (b) 5 5 5 5 10 10 10 15 20 15 15 20 15 20 25 25 25 25 30 30 30 30 35 40 35 35 40 35 2 3 4 5 6 Category ID 7 8 40 1 2 3 4 5 6 Category ID 7 1 2 3 4 5 6 Category ID 8 1 2 3 4 5 6 Category ID 7 40 8 (d) 1 2 3 4 5 6 Category ID 7 8 (e) 5 5 5 5 5 5 10 10 10 10 10 15 20 15 15 20 15 20 20 15 20 15 20 25 25 25 25 25 25 30 30 30 30 30 30 35 40 35 35 40 35 35 40 35 40 2 3 4 5 6 Category ID 7 8 40 1 (f) 2 3 4 5 6 Category ID 7 8 8 20 10 1 7 (c) 10 1 7 1 2 3 4 5 6 Category ID 7 8 40 1 (g) 2 3 4 5 6 Category ID 7 8 1 2 3 4 5 6 Category ID 7 8 1 2 3 4 5 6 Category ID 7 8 (h) 46