...

f - 長井研究室

by user

on
Category: Documents
5

views

Report

Comments

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     iljiljv
M-step
i
l
i
l
i
l
     iljilja
a
kj
 kjt     iljiljt
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
Fly UP