パターン認識論 - Tohoku University Official English ...aito/patternrec/slides.pdf ·...

Preview:

Citation preview

パターン認識論

前半(基礎)

http://www.spcom.ecei.tohoku.ac.jp/~aito/patternrec

パターン認識とは?

自然界にあるさまざまな情報を元に、物事を分類・識別する

● 人間の能力を模倣するもの顔の認識情景の認識音声の認識文字の認識ジェスチャーの認識

● 人間の能力とは(あまり)関係ないものリモートセンシングタッチパネル

簡単な例(1)

簡単な計測で男女を自動的に識別することを考えてみよう

身長?何かの量を計測して,それを元に識別を行う→特徴量識別するものの数→クラス

しきい値による識別

1次元の量を元に識別

ある値(しきい値/閾値)より大きいか小さいか

130 140 150 160 170 180 190 200

0

1

2

3

4

5

6

7

8

[cm]

[%]

大学生の身長分布(健康白書より)

簡単な例(1)認識のプロセス

人間計測 特徴量

(身長)

識別関数(閾値) 答え

(0/1)

原データから、認識に有効な特徴を数値で取り出す過程

特徴量を使って、クラスの識別を行う関数

+なら男-なら女

165)( xxg

簡単な例(2)

OK NG

これはどうよ?

これは?

簡単な例(2)特徴量を探そう

例えば「縦横比=短辺/長辺>0.65ならOK」

簡単な例(2)認識のプロセス

原データ(長方形)

特徴抽出(縦横比計算) 特徴量

(縦横比)

識別関数(閾値) 答え

OK/NG

原データから、認識に有効な特徴を数値で取り出す過程

特徴量を使って、クラスの識別を行う関数

65.0)( xxg),max(

),min(

hw

hwx

簡単な例(3)

これはどうよ?

OK NG

色の識別

簡単な例(3)特徴量を探そう色空間は3次元 (R,G,B)

1つの色は3つの数字からなるベクトルで表される→特徴ベクトル

簡単な例(3)他の特徴量?

(R,G,B)を(色相(H),彩度(S),明度(V))にしてみたら?

色相:色の種類(色相環での角度)青(-120)~赤(0)~緑(120)

彩度:色の鮮やかさ白(0)~純色(1)

明度:色の強さ黒(0)~

RGB空間とHSV空間

R

G

B

r

bg

(r,g,b)

V R

G

B

S

H(H,S,V)

色空間内の(R,G,B)座標と(H,S,V)座標

G,Bif24060

BR,Gif12060

BG,Rif60

RMINMAX

BGMINMAX

BGMINMAX

BG

H),,min(

),,max(

BGRMIN

BGRMAX

MAXV

MAX

MINMAXS

簡単な例(3) HS空間での分布

0

0.2

0.4

0.6

0.8

1

-180 -80 20 120

色相(H)

彩度

(S) OK

NG??

簡単な例(2)識別関数の設計

0

0.2

0.4

0.6

0.8

1

-180 -80 20 120

色相(H)

彩度(S) OK

NG

??

例えば

22

205.0

11),(

HSSHg

簡単な例(2)識別関数の設計

0

0.2

0.4

0.6

0.8

1

-180 -80 20 120

色相(H)

彩度(S) OK

NG

??

識別関数は1通りではない

60

||5.0),(

HSSHg

簡単な例(2)識別関数の設計

識別関数は1通りではない

1-otherwise

160||and5.0),(

HSSHg

0

0.2

0.4

0.6

0.8

1

-180 -80 20 120

色相(H)

彩度

(S) OK

NG??

パターン認識のポイント

特徴量(特徴ベクトル)の選択

生データからどういう特徴を選ぶか

次元は低いほうが望ましい(次元の呪い)

識別関数の設計

人間が設定 vs. データから自動設計

自動設計の方法 パラメトリック vs. ノンパラメトリック

識別関数のタイプ(1次,2次,それ以上…)

特徴量の選択 どんな問題にも適用できる設計方針はない

問題に応じて考える 顔画像認識:顔の部品の位置

文字認識:方向線素特徴量など

音声認識:スペクトル,ケプストラムなど

衛星画像リモートセンシング:色,テクスチャ

次元はできれば低いほうが良い 次元が高いほうが表現能力は高い

次元が高いと,特徴関数の自動推定が困難に

特徴量の次元と表現能力 1つのデータを表すのに使う数値の数=次元

「縦横比」は1次元,(H,S)は2次元,(R,G,B)は3次元

音声や画像では10~100次元も珍しくない

できるだけいろいろな情報があったほうがデータの記述能力は上がる(当然)

例:(H,S)では明るさの情報が表せない.(R,G,B)または(H,S,V)ならすべての色が表現できる

次元が高いと識別関数の設計が難しくなる(後述)

問題に対して必要かつ十分な次元を選ぶ(難)

識別関数(2クラス)

入力を2つのクラスに分類することを考える

OK と NG とか

一方をクラス ,もう一方を とする

クラスωについての識別関数 を考える)(xg

xx

xx

0)(

0)(

g

g

識別関数の設計 人間が設計する方法

さっきは人間が設計した

次元が高いと破綻する 50次元空間での識別関数を想像できる?

データから自動設計する方法

「教師データ」を与えて,それをできるだけうまく表現できるモデルを自動生成

「どういうタイプのモデルか」は既知

これを「学習(learning)」と呼ぶ

識別関数の自動設計 実はこの部分が狭義の「パターン認識理論」なのだ

どういう形式の識別関数を使うか? 1次関数,2次関数,ニューラルネットワーク,…

K-NN法,マハラノビス距離,ベイズ識別,…

その識別関数をどうやって学習するか? パーセプトロン学習

学習ベクトル量子化

逆誤差伝播学習(BP法)

...

識別関数のパラメータと表現力

手動で設定するにしても学習するにしても,識別関数の「形」だけ最初に決めてしまい,そのパラメータだけを後から決めることが多い

識別関数とパラメータの例

1次元:しきい値(パラメータ1個)

2次元:線形判別関数(パラメータ実質3個)

),( 21 xxx

xxg )(

221100)( xaxaaag T xax

識別関数と識別境界

「識別」とは

特徴量空間上の点をいくつかのクラスに分ける

特徴量空間にはクラスの境界面ができる→識別境界

いろいろな識別境界

いろいろな識別境界

x<2

y>3

x<4

y>2.8

Yes No

Yes No

Yes No

Yes No

いろいろな識別境界

いろいろな識別境界

識別境界について

境界の複雑さ 単純 複雑

表現力 低い 高い

パラメータ数 少ない 多い

必要な学習データ量 少ない 多い

過学習 起きにくい 起きやすい

過学習

学習 実際

微妙な識別境界の曲り具合に意味があるのか?

表現力と学習の容易さ

識別関数の表現能力が高くても,パラメータが適切に学習できなければ無意味

適切な学習アルゴリズムがあるか

データ量は十分か

一般にパラメータが多いほど多くの学習データを必要とする

空間に対して学習用のサンプルデータが密に配置されているのが望ましい

次元が上がるほどサンプルは疎になる(次元の呪い)

識別関数の設計

では,どうやって識別関数を決めればいいのか

一般的な方法はない

何に依存するか 問題の複雑さ

特徴ベクトルの次元

サンプル数

いろいろな識別手法の紹介

最近傍決定則(NN法)

あるクラスを代表する点(「プロトタイプ」または「標準パターン」)を用意する

新しいデータ x について,距離が最も近いプロトタイプを探す

が最も近ければ ,そうでなければ

n

n

2

1

2

1

1

1

,...,

,...,

pp

pp

i

1p x

x

距離とは何か?(1)

2点間の近さ加減を表す尺度

距離の公理

),(),(),(

),(),(

0),(

yzzxyx

xyyx

xx

ddd

dd

d

距離とは何か?(2)

距離(距離尺度)の例

ユークリッド距離

d

t

d

d

t

d

y

y

yyy

x

x

xxx

1

21

1

21

),...,,(

),...,,(

y

x

d

i

ii yxd1

2)(),( yx

距離とは何か?(3) 市街地距離

重みつきユークリッド距離

d

i

ii yxd1

||),( yx

)0...()(),( 1

1

2

D

d

i

iii wwyxwd yx

距離とは何か?(4)

距離が一定の点の軌跡を見てみよう(2次元の場合)

ユークリッド距離 市街地距離 重みつきユークリッド距離

NN法再び

2つのプロトタイプとユークリッド距離を使った識別

Op1

Np1

x

識別境界の超平面

超平面(2次元の場合は直線)によってクラスを分離→線形識別関数

補足:多次元空間での境界

2つの領域を分けるものは?

1次元:点

2次元:線

3次元:面

N次元: (N-1)次元超平面

演習

2次元で2つのプロトタイプの境界が直線になることを示せ.

プロトタイプ

これらの点からのユークリッド距離が等しい点の軌跡を調べよ

),(),,( 2211 yxyx

演習の答え(1)

0))(2())(2(

0)()()()(

),(),(

)()(),(

)()(),(

),,(),,(),,(

12211221

2

2

2

2

2

1

2

1

2

2

1

2

2

2

2

22

2

2

1

2

11

2

21222111

yyyyyxxxxx

yyxxyyxx

dd

yyxxd

yyxxd

yxyxyx

よりxpxp

xp

xp

ppxpp

演習の答え(2)

2

0))(2(

2)(2

))((

02))(()(2

0))(2())(2(

21

1221

21

21

12

1212

12

12

21

12

1212

12

12

21

12211221

xxx

xxxxx

yy

yy

yy

xxxxx

yy

xxy

yyyyy

xxxxx

yy

xx

yy

yyyyyxxxxx

のとき

のとき

演習の答え(3)

例を見てみよう

24

3

2

1

)3,2(),1,1( 21

xy

pp

NN法と線形識別関数(1)

プロトタイプとパターンの距離が最小になるプロトタイプpiを選ぶ

max||||2

1

min||||2||||)()(

min||||

min||||

2

22

2

ii

iii

t

i

i

i

ppx

ppxxpxpx

px

px

補足:ベクトルの内積

d

i

i

t

d

i

ii

t

d

t

d

d

t

d

x

yx

y

y

yyy

x

x

xxx

1

22

1

1

21

1

21

||||

),...,,(

),...,,(

xxx

yxyx

y

x

線形識別関数

一般の線形識別関数:xの一次関数

次のような「拡張特徴ベクトル」を考える

d

i

ii xwwwg1

00)( xwx

xw

wx

t

dd

g

w

w

w

x

x

)(

1

1

0

1

x

NN法と線形識別関数

NN法

線形識別関数

NN法は線形識別関数の一種

逆は成り立たない

2||||2

1)( iig pxpx

0)( wg xwx

多クラスの線形識別関数

クラス数をcとする

)(maxargˆ

,...,1)(

x

x

ii

t

ii

gi

cig

xw

これがパーセプトロンだ!

1x

2x

3x

4x

w11

w12

w13

)(1 xg

)(2 xg

)(3 xg

1

w10

w14

パーセプトロン学習 パーセプトロンの重みを学習するアルゴリズム

1. 重みw1…wcを初期化

2. k=1,2,…nについて

3. ならば

4. 修正がなければ終了

)(),...,(,..., 11 nn xxxx のクラスサンプル

jijk

t

ll

ik xwx maxarg)( のとき,

kjj

kii

xww

xww

)0(

なぜこれでよいのか?

xww とする

2||||( xxwxxxwxx)wxwtt ttt

すなわち>0ならwtxは大きくなり,<0なら小さくなる

内積 witx が誤分類の場合は,正しいクラスの値が大きくなり,

誤ったクラスの値が小さくなるように係数を修正

線形分離可能性 パーセプトロン学習は「誤りがあったら修正」→原理的に誤りが起きる場合は収束しない

教師データが「線形分離可能」な場合のみ収束する

線形分離可能 線形分離不可能

演習

パーセプトロン学習を実際にやってみよう

222

211

22

12

21

11

21

21

313121

311111

1223222

621212

)1,1,1()2,2,2(

1,)3,2(,)1,1(

xww

xww

xw

xw

xw

xw

ww

t

t

t

t

tt

tt

初期値

xx

演習の答え

重みベクトルの更新状況g(x) 判定 g(x) 判定

2 2 2 1 1 6 ○ 0 -2 2 1 1 0 ×2 2 2 2 3 12 × 0 -2 2 2 3 -4 ○1 1 1 1 1 3 ○ 3 5 1 1 1 9 ×1 1 1 2 3 6 × 3 5 1 2 3 22 ○0 -1 1 1 1 0 × 1 -1 3 1 1 3 ×0 -1 1 2 3 -2 ○ 1 -1 3 2 3 2 ○3 4 2 1 1 9 × 2 4 0 1 1 6 ×3 4 2 2 3 20 ○ 2 4 0 2 3 16 ○1 0 2 1 1 3 × 2 0 4 1 1 6 ○1 0 2 2 3 4 ○ 2 0 4 2 3 8 ○2 3 1 1 1 6 × 1 3 -1 1 1 3 ○2 3 1 2 3 14 ○ 1 3 -1 2 3 10 ○2 1 3 1 1 6 ○2 1 3 2 3 10 ×1 2 0 1 1 3 ○1 2 0 2 3 8 ×

w x w x

=0.2についても求めてみよう

演習の答え(2)

=0.2の場合g(x) 判定

2.00 2.00 2.00 1 1 6.00 ○2.00 2.00 2.00 2 3 12.00 ×1.00 1.00 1.00 1 1 3.00 ○1.00 1.00 1.00 2 3 6.00 ×1.60 1.40 1.80 1 1 4.80 ×1.60 1.40 1.80 2 3 9.20 ○1.40 1.60 1.20 1 1 4.20 ×1.40 1.60 1.20 2 3 8.80 ○1.20 0.80 1.60 1 1 3.60 ×1.20 0.80 1.60 2 3 6.40 ○1.80 2.20 1.40 1 1 5.40 ×1.80 2.20 1.40 2 3 11.60 ○1.40 1.00 1.80 1 1 4.20 ×1.40 1.00 1.80 2 3 7.60 ○1.60 2.00 1.20 1 1 4.80 ×1.60 2.00 1.20 2 3 10.40 ○1.60 1.20 2.00 1 1 4.80 ○1.60 1.20 2.00 2 3 8.80 ○1.40 1.80 1.00 1 1 4.20 ○1.40 1.80 1.00 2 3 9.20 ○

w x

演習の答えを確かめよう 最初に求めた識別境界は?

2番目に求めた識別境界は?

3

5

3

1

053

)5,3,1(

)1,3,1(),4,0,2(

21

21

xy

yxtxw

www

ww

3

5

3

1

016.02.0

)1,6.0,2.0(

)1,8.1,4.1(),2,2.1,6.1(

21

21

xy

yxtxw

www

ww

NN法の境界と異なることに注意

3点の場合

(1,1),(2,3),(3,1)の学習=0.1で求めると次のような境界が求まる

17

1313

4

1

8

732

9

11

9

121

)9.0,9.0,9.2(

)5.0,5.2,5.1(

)6.1,6.1,6.1(

3

2

1

xy

xy

xy

の境界と

の境界と

の境界と

w

w

w

区分的線形識別関数 非線型な識別関数を折れ線で近似

例:すべての教師データをプロトタイプとする「全数記憶方式」

一般的な学習アルゴリズムは知られていない

特殊な場合:全数記憶,学習ベクトル量子化(LVQ)など

線形分離不可能な場合の学習

線形分離不可能な場合

パーセプトロン学習は収束しない

完璧でなくても,何らかの意味で最善の識別関数が学習できれば都合が良い

望ましい識別関数出力との2乗誤差が最小になるように学習してみよう

最小2乗和

と,その教師信号パターン

重み

c

1i

2

1

)( pp

t

i

n

p

pp

i

b

b

xw

x

w

パーセプトロンと教師信号

1のパターンを入力

1)(1 xg

0)(2 xg

0)(3 xg

1x

2x

3x

4x

w11

w12

w13

1

w10

w14

教師信号bp

出力が教師信号に近づくように重みを学習する

p

tb xw1誤差

δルールによる学習

次の式により重みを更新

更新の重みを教師信号との誤差に比例させる

その他の部分はパーセプトロン学習とほぼ同じ

誤差の2乗和の減少が止まったところで停止

線形分離可能な場合に最適とは限らない

ppp

t

iii b xxwww )(

ニューラルネットワーク

多層パーセプトロン+非線型=ニューラルネットワーク

1x

2x

3x

4x

1

)1(

11w)1(

1h)2(

11w)1(

1g)2(

1h)2(

1g

1

入力層 中間層

(隠れ層)

出力層

ニューラルネットワーク

第k層の第iユニットの入力と出力

x

k

i

k

i

j

k

j

k

ji

k

i

ii

exf

hfg

gwh

xg

1

1)(

)( )()(

)1()()(

)0(

ニューラルネットワークの能力

非線型関数がミソ

非線型関数がないと,結局パーセプトロンと同じになる

中間層が多ければ任意の非線型境界が表現できる(でも学習できるとは限らない)

極限では区分的線形識別関数と同じ

効率の良い学習アルゴリズムが知られている(誤差逆伝播法)

演習

非線形性のない3層ネットワークは,2層のパーセプトロンと等価であることを示せ.

ニューラルネットでf(x)=xの場合に相当

まず下の例から行ってみよう

11

1x

2x)1(

ijw)2(

ijw

)(xg

演習の答え(1)

22110

2

)1(

22

)2(

21

)1(

21

)2(

11

1

)1(

12

)2(

21

)1(

11

)2(

11

)1(

02

)2(

21

)1(

01

)2(

11

)2(

01

2

)1(

221

)1(

12

)1(

02

)2(

21

2

)1(

211

)1(

11

)1(

01

)2(

11

)2(

01

)1(

2

)2(

21

)1(

1

)2(

11

)2(

01

)(

)(

)(

)(

)(

)(

xvxvv

xwwww

xwwww

wwwww

xwxwww

xwxwwww

gwgwwxg

演習の答え(1)

次は一般の場合

k

kk

k

j

ji

k

kj

j

jjii

k

kkjj

j

jii

j

j

jiii

xvv

xwwwww

xwwww

gwwxg

0

)2()1()1(

0

)2()2(

0

)1()1(

0

)2()2(

0

)1()2()2(

0)(

誤差逆伝播(BP)法(1)

重みの学習

出力層の誤差

中間層の誤差

)1()()()( l

i

l

j

l

ij

l

ij gww

)1()( )2()2()2()2(

jjjjj ggbg

)1( )1()1()2()2()1(

jj

k

jkkj ggw

誤差逆伝播法(2) 非線型関数と誤差

)2(

ih )( )2()2(

ii hfg

教師信号bi

ii bg )2(

)1()(

)()(

)2()2()2(

)2(')2()2(

iiii

iiii

ggbg

hfbg

)1(

ih)2(

1)2(

2)2(

3)2(

4

)1()(

)()(

)1()1()2()2(

)1(')2()2()1(

ii

k

ikk

i

k

ikki

ggw

hfw

ありがちなニューラルネットの例

XORの学習

O

2次元で線形分離不可能な最小のパターン

入力x

出力

入力y

1 1

1.34 3.07

-1.51

2.95

3.75

-2.67

-3.45

-3.55

3.30

学習結果

学習結果

ニューラルネットと NN法

XORは1つの線形識別関数では表せない

区分的線形な識別関数ならOK

O O

学習データの各点をプロトタイプにすれば完全

な識別が可能

ニューラルネットではこのような識別境界が学習された

O

こんな風にプロトタイプを配置すれば同じ識別境界が表

現できる

パラメトリックな識別

いままでは学習データから識別関数を直接学習していた

学習データがある確率分布に従うと仮定

確率分布のパラメータを推定する

確率密度関数を識別関数として利用

パラメトリックな識別

何が違うの?

1次元の識別

識別関数の学習による場合

確率密度関数を推定する場合

確率密度関数

あるクラスのパターンxが来る確率密度

あるクラスの生起確率

1)|(

)|(

xx

x

dp

p

1)(

)(

1

c

i

i

i

P

P

代表的な密度関数:正規分布

1次元の場合

2

2

2 2

)(exp

2

1)(

xxp

:平均

:標準偏差

正規分布

(ガウス分布)

多次元正規分布 d次元での正規分布

)μ()μ(

2

1exp

||)2(

1)( 1

2/12/xxx

t

dp

: 平均ベクトル

:共分散行列

2

21

2

2

221

121

2

1

21 ),...,,(

ddd

d

d

d

μ

2次元正規分布

共分散行列

多次元正規分布を輪切りにすると,断面は楕円(一般には超楕円体)になる

O

(1,2)

補足:1次変換

空間内の点を行列の掛け算によって写像

1次変換に平行移動を加えると「アフィン変換」

は単位行列 は対角行列 は対称行列

確率から識別関数へ

確率密度が求まったとして,どう認識するのか

パターンx,クラス1…c

パターンxが,あるクラスに属する確率

これが最大になるクラスに分類する

この確率をどう計算するか?

)|( xiP

Bayesの決定則

)()|(maxarg

)(

)()|(maxarg

)|(maxargˆ

Pp

p

Pp

P

x

x

x

x

あるクラスの確率密度関数×そのクラスの出現確率

補足:Bayesの定理

同時確率と条件付確率の関係

)(

)()|()|(

)|()()|()(),(

aP

bPbaPabP

baPbPabPaPbaP

パラメータの決定法

分布の推定=パラメータの推定=学習データから平均ベクトルと共分散行列を求める

学習データ

最尤(ML)推定法 :最も普通の推定

分布のパラメータをとする

が最大となるを推定パラメータとする

nX xxx ,...,, 21

)θ|(XP

最尤推定

最尤推定で平均と共分散を求めると

t

1

1

)()(1

1

μxμx

i

n

i

i

n

i

i

n

n

平均はどうして平均なのか?

最尤推定による平均の導出

分散は既知,平均が未知な正規分布N(,2)から生成されたサンプルx1…xn

i

i

i

i

i

i

i

i

i

i

xn

nxx

Xpd

d

xXp

xXp

100

2

)(2

0)|(log

2log2

1log

2

)()|(log

2

)(exp

2

1)|(

2

2

2

2

2

とおく

普通の識別関数との関係は?

確率の対数を識別関数にしてみよう

xとのマハラノビス距離

||log2

12log

22

)μ()μ(

2

)μ()μ(exp

||)2(

1log)|(log

1

1

2/12/

d

xp

t

t

d

xx

xx

)μ()μ()μ,( 12

xxxt

Md

マハラノビス距離

距離が一定の点の軌跡を見てみよう(2次元の場合)

正規分布による確率的な識別は,マハラノビス距離を使ったNN法に近い

ユークリッド距離 重みつきユークリッド距離

マハラノビス距離

マハラノビス距離と識別境界

2つのクラスで共分散行列が異なる場合

識別境界は2次曲線になる

識別関数による方法と確率分布による方法の比較

識別関数による方法の利点

事前に分布の形を仮定する必要がない

確率分布による方法の利点

識別に関する情報を他の情報(クラスの出現しやすさなど)と組み合わせるのが容易

複雑な形状の分布の扱い

混合正規分布でデータの分布を近似

複数プロトタイプのNN法と限りなく近くなる

混合正規分布

実際の分布が正規分布であらわせるかどうかは疑問→複雑な分布を複数の正規分布の和で近似

1

),|()(

k

k

k

kkk pp

μxx

注意:混合正規分布

混合正規分布と正規分布する確率変数の和を混同してはいけない

平均1cm,標準偏差5mmの棒の束と,平均2cm,標準偏差7mmの棒の束がある

両方の束から棒を1本ずつとり,両方を加えた長さを測る

正規分布する確率変数の和

平均3cm,標準偏差8.6mm

どちらかの束から棒を1本だけとり,その長さを測る 両方の分布を混合した混合正規分布

λはそれぞれの束から棒を取り出す確率

特徴空間の変換(1)

認識に使う特徴ベクトルは一般に大変次元が高い

文字認識で1文字あたり32×32ドット→1024次元

音声認識:5~10msあたり20~30次元

次元は高いが,すべての次元が重要とは限らない

あまり重要でない次元の存在

次元間の相関

次元間のレンジの違い

次元が高いと認識系の設計がうまく行かなくなる(次元の呪い)

特徴空間の変換(2)

重要でない次元の存在

この辺はほとんど1にならない→識別に寄与しない

特徴空間の変換(3)

次元間の相関

1次元では分類できない→2次元必要?

こうすれば?

特徴空間の変換(4)

次元間のレンジの違い

次元の呪い 無限にデータと計算能力があれば次元数は関係ない

実際には有限なデータから推定をする必要がある 高次元では推定に要するサンプル数が多くなる

(逆に,限られたサンプルでは推定精度が悪くなる)

次元を増やしすぎると識別性能が悪化(Hughesの現象)

計算量は次元数の増加につれて急激に増える

特徴空間の正規化

次元間に相関がなければ,各次元の分散を合わせることで正規化できる

各次元の分散を重みとする重みつきユークリッド距離を使うことと等価

・ ・・ ・・ ・・・・

・・ ・

・・・ ・・

・・

KL展開(1)

次元間に相関がある場合は?

距離が離れることの「重要度」が方向によって違う

マハラノビス距離を使うと言う手もあるが

KL展開(2)

各次元が無相関になるように空間を回転させ,重要な軸を残す→Karhunen-Loéve(KL)展開(または主成分分析、PCA)

KL展開(3)

元の特徴空間上のベクトルxに対する線形写像

Aは の行列(図の例では2×1)

Aを求める基準:変換後のデータの分散が最大になるように選ぶ

Aの条件:AtA=I

Aは回転(と次元圧縮)を表す

it

i A xy

dd~

KL展開(4)

分散最大基準

max)())((1

)(

)()(1

)~()~(1

11~

max)~()~(1

AAtrAAn

tr

vvtrvvv

AAnn

An

An

n

t

i

t

ii

t

tt

i

i

tt

ii

i

t

i

i

i

tt

i

i

i

i

t

i

mxmx

mxmxmymy

xmym

mymy

したがって

について 列ベクトル ここで

補足:正規分布の1次変換

AA

AAn

n

A

t

i

t

ii

t

i

t

ii

t

)~)((1

)~)(~(1

~

mxmx

mymy

mm

解の導出

AA

AAAIA

AAAtrA

AAIAAtrA

t

t

tt

2)(

2)(

0)()(Lagrangeの未定係数

d~

1

0

0

←固有方程式

KL展開(5)

前記の式の解は次の形になる

1||||||||||||,

,...

,...,...

~21~1

~1

~1~1

dd

d

d

dA

eee

eeee

ルに対応する固有ベクト

の固有値はただし

補足:固有値(1)

固有値(eigenvalue)と固有ベクトル(eigenvector)

1次変換Aに関してが成り立つとき,を固有値,xを固有ベクトルという.

簡単な例

xx A

1

0,

0

1,,

0

0

110

01

2121

21

eebab

aA

A

補足:固有値(2)

対角行列の固有値=対角成分

O

1

1

O

b

a

b

a

0

0

1e2e

2ae

1be

補足:固有値(3)

対角成分が等しい対称行列の固有値

O

1

1

O

ac

ca

1e

2e

22e

11e

斜め45度方向

ca

ca

2

1

補足:固有値(4)

一般の対称行列の固有値(c0)

O

1

1

O

bc

ca

1e

2e

22e

11e

2

4)(

tan

sin

cos

22 cbaba

c

a

b

c

e

演習

次の行列の固有値と固有ベクトルを求めよ

12

24)3(

21

12)2(

30

02)1(

A

A

A

演習の答え1

c=0の場合縦横方向のベクトルが変換後も同方向であることがわかる

)0,1(,2

)1,0(,3

30

02

22

11

e

e

A

演習の答え2

a=bの場合固有ベクトルが45度方向であることがわかる

2

2,

2

2,1

2

2,

2

2,3

21

12

22

11

e

e

A

演習の答え3

行列が1次独立でない場合,固有値が0になり,ランクが低下する

0

5

5,

5

52,5

12

24

2

11

e

A

再びKL展開

KL展開の意味

データ全体の分布を楕円(超楕円体)で近似(=多次元正規分布で近似)

楕円の長い方の対称軸(=大きい固有値に対応する固有ベクトル)にデータを射影

どこまで次元圧縮できるか

累積寄与率を使う

固有値の総計に対する,上位の固有値の和の比率

これが1に近ければ,それだけデータが記述できていることを表す

d

i

i

d

i

i

dr

1

~

1)~

(

KL展開の利点・欠点

良い点

データの表現力を保存したまま次元を下げられる

変換後は次元軸の間のデータの相関がないので,データを多次元正規分布で表現しやすくなる(共分散行列が対角になる)

悪い点

識別に有利な次元が残るとは限らない

文字ピクセルの空間をKL展開で次元圧縮してみよう

1文字あたり52x52ピクセル(周囲に空白有)

平均と分散

平均 分散

2次元に圧縮

2704次元を2次元に圧縮

比較的似た文字が同じ領域に集まっている

1次元目は「外側に四角い線があるかどうか」

2次元目は「中心の縦線」 -10 -8 -6 -4 -2 0

-4-2

02

4

compdata[,1]

co

mp

da

ta[,2

]

!

"

#

$ %&

'

()

*+

,

-

.

/

0

1

23

4

5

6

7

89

:;<

=

>?

@

A

BC

D

EF

G

H

I

J

KLM

N

O

P

QR

S

T

U

VW

X

Y

Z

[

\

]

^

_`

a

b

c

d

e

f

g

h

i

j

k

l

m

nopq

rs

t

u

v

w

x

yz

{ |}

~

固有ベクトル

1次元目 2次元目

3次元目 4次元目

線形判別分析(LDA)

識別に有利な次元を優先して次元圧縮

1

2

線形判別分析(2)

準備

i

t

iiiB

i

ii

i

iiW

P

P

P

N

N

))()((

)(

)(

),(:

),(:

222

111

mmmm

mm

m

m

クラス内共分散

クラス間共分散

全パターン平均

線形判別分析(3)

変換行列Aでデータを1次元に射影

それぞれの共分散行列を変換すると

変換後は1次元なので比が計算できる

xytA

AA

AA

B

t

B

W

t

W

~

~

max~

~

)(

AA

AAAJ

W

t

B

t

線形判別分析(4)

前式を最大にするA: の固有ベクトル

J(A)の最大値はその固有値に一致するBW

1

部分空間法

部分空間への射影を利用して識別を行う

KL展開やLDAは「特徴の変換」であって「識別」ではなかった

認識手順(CLAFIC法)

各クラスの特徴を保存する部分空間を作る

パターンを各部分空間に射影

射影後のパターンが元のパターンに最も近い空間に対応するクラスに分類する

CLAFIC法(1)

各クラスの固有空間

それぞれのクラスに属するデータに対してKL展開を適用して求める

1

2

1S

2S

CLAFIC法(2)

パターンをそれぞれの部分空間に射影する

直交射影行列

射影された点の長さ

1

2

1S

2S

i

t

ii AAP

xPx

xPPx

xPPxP

i

t

ii

t

i

t

i

t

i

2|||| x

CLAFIC法(3)

別な説明

固有空間の正規直交基底

点xのuij方向成分

点xを固有空間に射影したもの

その長さの2乗

iidii uuu ,...,, 21

ij

tux

j

ijij

tuux )(

j

ij

t 2)( ux

CLAFIC法(4)

射影された点と原点との距離

識別

1

2

1S

2S

j

ij

t

i

t

i PS

2)(

)(

ux

xxx

)(maxargˆ xii

Si

)(2 xS )(1 xS

Recommended