はじめてのパターン認識 第6章 後半

62
「はじめてのパターン認識」読書会 第6章 後半 2013/10/1(火)  @Prunus1350 1

Upload: prunus-1350

Post on 31-May-2015

991 views

Category:

Education


4 download

DESCRIPTION

第6章「線形識別関数」(後半)

TRANSCRIPT

Page 1: はじめてのパターン認識 第6章 後半

「はじめてのパターン認識」読書会第6章 後半

2013/10/1(火) @Prunus1350

1

Page 2: はじめてのパターン認識 第6章 後半

6.3.2 判別分析法

2

Page 3: はじめてのパターン認識 第6章 後半

6.3.2 判別分析法

• 前節で扱ったフィッシャーの基準

• クラス間変動を用いる

• 線形変換のバイアス項を明示的に扱うことができない

バイアス項を明示的に扱うことができるような定式化を考える.

3

Page 4: はじめてのパターン認識 第6章 後半

6.3.2 判別分析法

• 線形変換後の  の平均値と分散は次のように定義される.

mk = wTµk + w0

�2k = wT⌃kw

µk =1

Nk

X

i2Ck

xi

⌃k =1

Nk

X

i2Ck

(xi � µk)(xi � µk)T

y

ただし,

である.

4

Page 5: はじめてのパターン認識 第6章 後半

6.3.2 判別分析法

=1

Nk

X

i2Ck

(yi �mk)(yi �mk)T

= wT⌃kw

線形変換後の分散が定義のように与えられることの確認

=1

Nk

X

i2Ck

(wTxi �w

Tµk)(w

Txi �w

Tµk)

T

=1

Nk

X

i2Ck

(wT (xi � µk))(wT (xi � µk))

T

=1

Nk

X

i2Ck

w

T (xi � µk)(xi � µk)Tw

= w

T

1

Nk

X

i2Ck

(xi � µk)(xi � µk)T

!w

1

Nk

X

i2Ck

(yi �mk)2 ←線形変換後の分散

(スカラの転置はスカラ)

�2k = wT⌃kwよって, 線形変換後の分散は としてよいことが確認された.

5

Page 6: はじめてのパターン認識 第6章 後半

6.3.2 判別分析法(の準備としての一般形)

@h

@w=

@h

@�21

@�21

@w+

@h

@�22

@�22

@w+

@h

@m1

@m1

@w+

@h

@m2

@m2

@w= 0

@h

@w0=

@h

@�21

@�21

@w0+

@h

@�22

@�22

@w0+

@h

@m1

@m1

@w0+

@h

@m2

@m2

@w0= 0

クラス分離度の評価関数を考える

h(m1,�21 ,m2,�

22)

この評価関数を最大にする  と  求めるw w0

を解けばよい

(6.31)

(6.32)

6

Page 7: はじめてのパターン認識 第6章 後半

6.3.2 判別分析法(の準備としての一般形)

@�2k

@w=

@(wT⌃kw)

@w

= (⌃k +⌃Tk )w

= 2⌃kw

@�2k

@w0= 0

@mk

@w=

@(wTµk + w0)

@w

=@(µT

kw + w0)

@w

= µk

@mk

@w0=

@(wTµk + w0)

@w0

= 1

まずは準備として,

(∵ 付録の公式)

(∵ 共分散行列は対称行列)

(∵ 付録の公式)

(∵ スカラーの転置はスカラー)

7

Page 8: はじめてのパターン認識 第6章 後半

6.3.2 判別分析法(の準備としての一般形)

@h

@w=

@h

@�21

@�21

@w+

@h

@�22

@�22

@w+

@h

@m1

@m1

@w+

@h

@m2

@m2

@w

=@h

@�21

· 2⌃1w +@h

@�22

· 2⌃2w +@h

@m1µ1 +

@h

@m2µ2

= 2

✓@h

@�21

⌃1 +@h

@�22

⌃2

◆w +

✓@h

@m1µ1 +

@h

@m2µ2

◆= 0

) 2

✓@h

@�21

⌃1 +@h

@�22

⌃2

◆w = �

✓@h

@m1µ1 +

@h

@m2µ2

に代入すると,(6.31)

(6.33) が得られ,

8

Page 9: はじめてのパターン認識 第6章 後半

6.3.2 判別分析法(の準備としての一般形)

@h

@w0=

@h

@�21

@�21

@w0+

@h

@�22

@�22

@w0+

@h

@m1

@m1

@w0+

@h

@m2

@m2

@w0

=@h

@�21

· 0 + @h

@�22

· 0 + @h

@m1· 1 + @h

@m2· 1

=@h

@m1+

@h

@m2= 0

に代入すると,(6.32)

また,

(6.34) が得られる.

9

Page 10: はじめてのパターン認識 第6章 後半

6.3.2 判別分析法(の準備としての一般形)

s =

@h@�2

1

@h@�2

1+ @h

@�22

@h

@�21

= s

✓@h

@�21

+@h

@�22

1� s =

⇣@h@�2

1+ @h

@�22

⌘� @h

@�21

@h@�2

1+ @h

@�22

=

@h@�2

2

@h@�2

1+ @h

@�22

@h

@�22

= (1� s)

✓@h

@�21

+@h

@�22

と定義すると,

が得られる.

より

ここで,

(6.35)

が得られ,

また,

10

Page 11: はじめてのパターン認識 第6章 後半

6.3.2 判別分析法(の準備としての一般形)

= 2

✓@h

@�21

⌃1 +@h

@�22

⌃2

◆w

= 2

⇢s

✓@h

@�21

+@h

@�22

◆⌃1 + (1� s)

✓@h

@�21

+@h

@�22

◆⌃2

�w

= 2

✓@h

@�21

+@h

@�22

◆{s⌃1 + (1� s)⌃2}w

= �✓

@h

@m1µ1 +

@h

@m2µ2

= �✓

@h

@m1µ1 �

@h

@m1µ2

=@h

@m1(µ2 � µ1)

) 2

✓@h

@�21

+@h

@�22

◆{s⌃1 + (1� s)⌃2}w =

@h

@m1(µ2 � µ1)

(6.33 の左辺)

(6.33 の右辺)

が得られた.(6.36)

11

Page 12: はじめてのパターン認識 第6章 後半

6.3.2 判別分析法(の準備としての一般形)

2

✓@h

@�21

+@h

@�22

◆{s⌃1 + (1� s)⌃2}w =

@h

@m1(µ2 � µ1)

w = (s⌃1 + (1� s)⌃2)�1(µ2 � µ1)

再掲

今, ベクトルの向きが問題なのでスカラー項は無視して良い.よって, 最適な  は次式となる.

(6.36)

(6.37)

w

12

Page 13: はじめてのパターン認識 第6章 後半

6.3.2 判別分析法

h = =P (C1)(m1 � m̄)2 + P (C2)(m2 � m̄)2

P (C1)�21 + P (C2)�2

2

m̄ =1

N(N1m1 +N2m2)

=N1

Nm1 +

N2

Nm2

=N1

N(wTµ1 + w0) +

N2

N(wTµ2 + w0)

=N1

NwTµ1 +

N1

Nw0 +

N2

NwTµ2 +

N2

Nw0

= wT

✓N1

Nµ1 +

N2

Nµ2

◆+

✓N1

N+

N2

N

◆w0

= w

T

N1

N

1

N1

X

i2C1

xi +N2

N

1

N2

X

i2C2

xi

!+ w0

= w

T

1

N

NX

i=1

xi

!+ w0

クラス間分散

クラス内分散

全データの平均

写像前の全データの平均ベクトルを写像したものであることが分かる.

判別分析法

13

Page 14: はじめてのパターン認識 第6章 後半

6.3.2 判別分析法

h =P (C1)(m1 � m̄)2 + P (C2)(m2 � m̄)2

P (C1)�21 + P (C2)�2

2

@

@�2k

�P (C1)�

21 + P (C2)�

22

�= P (Ck)

@

@�2k

�P (C1)(m1 � m̄)2

�= 0

@h

@�2k

= �P (Ck)

�P (C1)(m1 � m̄)2 + P (C2)(m2 � m̄)2

(P (C1)�21 + P (C2)�2

2)2

✓f(x)

g(x)

◆0=

f

0(x)g(x)� f(x)g0(x)

g

2(x)

を  で微分する

公式:

�2k(6.38)

14

Page 15: はじめてのパターン認識 第6章 後半

6.3.2 判別分析法

s =

@h@�2

1

@h@�2

1+ @h

@�22

=�P (C1){P (C1)(m1�m̄)2+P (C2)(m2�m̄)2}

(P (C1)�21+P (C2)�2

2)2

�P (C1){P (C1)(m1�m̄)2+P (C2)(m2�m̄)2}(P (C1)�2

1+P (C2)�22)

2 � P (C2){P (C1)(m1�m̄)2+P (C2)(m2�m̄)2}(P (C1)�2

1+P (C2)�22)

2

=P (C1){· · · }

P (C1){· · · }+ P (C2){· · · }

=P (C1){· · · }

(P (C1) + P (C2)) {· · · }

= P (C1)

に代入

が得られた

(6.35)

15

Page 16: はじめてのパターン認識 第6章 後半

6.3.2 判別分析法

w = (s⌃1 + (1� s)⌃2)�1(µ2 � µ1)

w = (P (C1)⌃1 + P (C2)⌃2)�1(µ2 � µ1)

h =P (C1)(m1 � m̄)2 + P (C2)(m2 � m̄)2

P (C1)�21 + P (C2)�2

2

@h

@mk=

2P (Ck)(mk � m̄)

P (C1)�21 + P (C2)�2

2

@h

@m1+

@h

@m2= 0

2P (C1)(mk � m̄)

P (C1)�21 + P (C2)�2

2

+2P (C2)(mk � m̄)

P (C1)�21 + P (C2)�2

2

= 0

P (C1)(m1 � m̄) + P (C2)(m2 � m̄) = 0

に代入すると

を  で微分する

に代入すると

mk

(6.37)

(6.40)

(6.38)

(6.41)

(6.34)

16

Page 17: はじめてのパターン認識 第6章 後半

6.3.2 判別分析法

P (C1)(m1 � m̄) + P (C2)(m2 � m̄) = 0

P (C1)m1 + P (C2)m2 � (P (C1) + P (C2))m̄ = 0

P (C1)(wTµ1 + w0) + P (C2)(w

Tµ2 + w0)� m̄ = 0

(P (C1) + P (C2))w0 + P (C1)wTµ1 + P (C2)w

Tµ2 � m̄ = 0

w0 = �wT (P (C1)µ1 + P (C2)µ2) + m̄

,

,

,

, (6.42)

このようにして最適なバイアス項  が得られる.w0

17

Page 18: はじめてのパターン認識 第6章 後半

6.3.3 多クラス問題への拡張

18

Page 19: はじめてのパターン認識 第6章 後半

6.3.3 多クラス問題への拡張

2クラスの場合は識別境界を計算できたが, 多クラスの場合は,     次元のデータをたかだか    次元の特徴空間に写像する線形変換行列を見つける問題になるので, 識別境界は計算できない.

K(> 2)

d(> K)

K � 1

フィッシャーの基準を, 多クラス    の場合に拡張することを考える.

19

Page 20: はじめてのパターン認識 第6章 後半

6.3.3 多クラス問題への拡張

Sk =X

i2Ck

(xi � µk)(xi � µk)T

µk =1

Nk

X

i2Ck

xi

SW =KX

k=1

Sk

µ =1

N

NX

i=1

xi =1

N

KX

k=1

X

i2Ck

xi =1

N

KX

k=1

Nk1

Nk

X

i2Ck

xi

=1

N

KX

k=1

Nkµk

各クラスのクラス内変動

全クラスのクラス内変動の和

全データの平均

(6.45)

(6.46)

(6.47)

Nk (k = 1, . . . ,K)各クラスのデータ数を とすると,

20

Page 21: はじめてのパターン認識 第6章 後半

6.3.3 多クラス問題への拡張全平均からの全データの変動の和

ST =NX

i=1

(xi � µ)(xi � µ)T

=KX

k=1

X

i2Ck

(xi � µ)(xi � µ)T

=KX

k=1

X

i2Ck

{(xi � µk) + (µk � µ)}{(xi � µk) + (µk � µ)}T

=KX

k=1

X

i2Ck

{(xi � µk) + (µk � µ)}{(xi � µk)T + (µk � µ)T }

=KX

k=1

X

i2Ck

{(xi � µk)(xi � µk)T + (µk � µ)(µk � µ)T

+(xi � µk)(µk � µ)T + (µk � µ)(xi � µk)T }

=KX

k=1

X

i2Ck

(xi � µk)(xi � µk)T +

KX

k=1

X

i2Ck

(µk � µ)(µk � µ)T

+KX

k=1

X

i2Ck

(xi � µk)(µk � µ)T +KX

k=1

X

i2Ck

(µk � µ)(xi � µk)T

21

Page 22: はじめてのパターン認識 第6章 後半

6.3.3 多クラス問題への拡張ここで,

KX

k=1

X

i2Ck

(xi � µk)(µk � µ)T =KX

k=1

(X

i2Ck

xi �X

i2Ck

µk)(µk � µ)T

=KX

k=1

(Nkµk �Nkµk)(µk � µ)T = 0

KX

k=1

X

i2Ck

(µk � µ)(xi � µk)T =

KX

k=1

(µk � µ)(X

i2Ck

xi �X

i2Ck

µk)T

=KX

k=1

(µk � µ)(Nkµk �Nkµk)T = 0 なので,

22

Page 23: はじめてのパターン認識 第6章 後半

6.3.3 多クラス問題への拡張

ST =KX

k=1

X

i2Ck

(xi � µk)(xi � µk)T +

KX

k=1

X

i2Ck

(µk � µ)(µk � µ)T

この最後の項を用いて, クラス間変動

= SW +KX

k=1

Nk(µk � µ)(µk � µ)T

SB =KX

k=1

Nk(µk � µ)(µk � µ)T を定義する.

(6.49)

(6.50)

23

Page 24: はじめてのパターン認識 第6章 後半

6.3.3 多クラス問題への拡張であれば,   次元から    次元空間への線形写像d > K d K � 1

yk = w

Tk x (k = 1, . . . ,K � 1)

を考えることになる.  (  :バイアス項を除いたデータの次元)d

y = (y1, . . . , yK�1)T

W = (w1, . . . ,wK�1)

とすれば,     個の線形変換は,K � 1

y = W

Tx

と書ける.

(6.52)

(6.51)

24

Page 25: はじめてのパターン認識 第6章 後半

6.3.3 多クラス問題への拡張線形変換した後の

・クラス内変動

・クラス間変動

・全変動

S̃W

S̃B

S̃T

各クラスの平均ベクトルは

を求める.

mk =1

Nk

X

i2Ck

yi =1

Nk

X

i2Ck

W

Txi = W

T 1

Nk

X

i2Ck

xi = W

Tµk

全平均ベクトルは

m =1

N

NX

i=1

yi =1

N

KX

k=1

X

i2Ck

yi =1

N

KX

k=1

Nkmk =1

N

KX

k=1

NkWTµk

= W T 1

N

KX

k=1

Nkµk = W Tµ となるので,

25

Page 26: はじめてのパターン認識 第6章 後半

6.3.3 多クラス問題への拡張線形変換後のクラス内変動

=KX

k=1

X

i2Ck

(W Txi �W

Tµk)(W

Txi �W

Tµk)

T

=KX

k=1

X

i2Ck

{W T (xi � µk)}{W T (xi � µk)}T

=KX

k=1

X

i2Ck

W

T (xi � µk)(xi � µk)TW

= W

T

KX

k=1

X

i2Ck

(xi � µk)(xi � µk)T

!W

= W TSWW

S̃W =KX

k=1

X

i2Ck

(yi �mk)(yi �mk)T

(6.53)

26

Page 27: はじめてのパターン認識 第6章 後半

6.3.3 多クラス問題への拡張線形変換後のクラス間変動

S̃B =KX

k=1

Nk(mk �m)(mk �m)T

=KX

k=1

Nk(WTµk �W Tµ)(W Tµk �W Tµ)T

=KX

k=1

Nk{W T (µk � µ)}{W T (µk � µ)}T

=KX

k=1

NkWT (µk � µ)(µk � µ)TW

= W T

KX

k=1

Nk(µk � µ)(µk � µ)T!W

= W TSBW (6.54)

27

Page 28: はじめてのパターン認識 第6章 後半

6.3.3 多クラス問題への拡張また, 線形変換後の全変動は

S̃T =NX

i=1

(yi �m)(yi �m)T

=KX

k=1

X

i2Ck

(yi �m)(yi �m)T

=KX

k=1

X

i2Ck

{(yi �mk) + (mk �m)}{(yi �mk) + (mk �m)}T

=KX

k=1

X

i2Ck

{(yi �mk) + (mk �m)}{(yi �mk)T + (mk �m)T }

=KX

k=1

X

i2Ck

{(yi �mk)(yi �mk)T + (mk �m)(mk �m)T

+(yi �mk)(mk �m)T + (mk �m)(yi �mk)T }

28

Page 29: はじめてのパターン認識 第6章 後半

6.3.3 多クラス問題への拡張

=KX

k=1

X

i2Ck

(yi �mk)(yi �mk)T +

KX

k=1

X

i2Ck

(mk �m)(mk �m)T

+KX

k=1

X

i2Ck

(yi �mk)(mk �m)T +KX

k=1

X

i2Ck

(mk �m)(yi �mk)T

= S̃W + S̃B +KX

k=1

X

i2Ck

(yi �mk)(mk �m)T +KX

k=1

X

i2Ck

(mk �m)(yi �mk)T

29

Page 30: はじめてのパターン認識 第6章 後半

6.3.3 多クラス問題への拡張ここでKX

k=1

X

i2Ck

(yi �mk)(mk �m)T =KX

k=1

(X

i2Ck

yi �X

i2Ck

mk)(mk �m)T

=KX

k=1

(Nkmk �Nkmk)(mk �m)T = 0

KX

k=1

X

i2Ck

(mk �m)(yi �mk)T =

KX

k=1

(mk �m)(X

i2Ck

yi �X

i2Ck

mk)T

=KX

k=1

(mk �m)(Nkmk �Nkmk)T = 0

となるので,

S̃T = S̃W + S̃B となることが確認できる.(6.55)

30

Page 31: はじめてのパターン認識 第6章 後半

6.3.3 多クラス問題への拡張2クラスの場合と同様, 最適な写像行列  を求めるための基準は,クラス間変動行列  とクラス内変動行列  の比を最大化することである.

W

S̃B S̃W

しかし, 行列の比なので何らかのスカラー量に変換しないと, 最大値を求めることができない.

いろいろな変換方法が提案されているが, そのうちの一つは

J(W ) = Tr(S�1W SB) = Tr

⇣(W TSWW )�1W TSBW

⌘(6.56)

を最大化することである.

31

Page 32: はじめてのパターン認識 第6章 後半

6.4 ロジスティック回帰

32

Page 33: はじめてのパターン認識 第6章 後半

6.4 ロジスティック回帰

• 線形識別関数      の関数値の大きさは, 識別境界から離れるに従って線形に上昇し続ける.

• ロジスティック回帰は関数値を区間    に制限し, 確率的な解釈を可能にする.

• ロジスティック回帰は「回帰」という言葉が使われているが, パターン認識法の一つである.

y = w

Tx

(0, 1)

33

Page 34: はじめてのパターン認識 第6章 後半

6.4.1 ロジスティック関数

34

Page 35: はじめてのパターン認識 第6章 後半

6.4.1 ロジスティック関数2クラス問題を考える.

クラス  の事後確率     はC1 P (C1|x)

P (C1|x) =P (x|C1)P (C1)

P (x)

=P (x|C1)P (C1)

P (x, C1) + P (x, C2)

=P (x|C1)P (C1)

P (x|C1)P (C1) + P (x|C2)P (C2)

ここで

(6.57)

とおくとa = lnP (x|C1)P (C1)

P (x|C2)P (C2)

ea =P (x|C1)P (C1)

P (x|C2)P (C2)

, e�a =P (x|C2)P (C2)

P (x|C1)P (C1)

(6.58)

35

Page 36: はじめてのパターン認識 第6章 後半

6.4.1 ロジスティック関数

, 1 + e�a =P (x|C1)P (C1) + P (x|C2)P (C2)

P (x|C1)P (C1)

, 1

1 + e�a=

P (x|C1)P (C1)

P (x|C1)P (C1) + P (x|C2)P (C2)

= P (C1|x)

よって P (C1|x) =1

1 + exp(�a)= �(a) (6.59) と表すことができる.

�(a) をロジスティック関数(ロジスティック・シグモイド関数)と呼ぶ.

36

Page 37: はじめてのパターン認識 第6章 後半

6.4.1 ロジスティック関数

ロジスティック関数

・無限区間 を区間 に写像.(�1,1) (0, 1)

・S字型の圧縮関数.

・対称性: �(�a) = 1� �(a)

=

exp(�a)

exp(�a) + 1

=

exp(�a) + 1� 1

exp(�a) + 1

= 1� 1

exp(�a) + 1

= 1� �(a)

* �(�a) =1

1 + exp(a)

章末問題 6.4

37

Page 38: はじめてのパターン認識 第6章 後半

6.4.1 ロジスティック関数

ロジスティック関数の逆関数を考える.

�(a) =1

1 + exp(�a) ロジスティック関数

, 1

�(a)= 1 + exp(�a)

, exp(�a) =1

�(a)� 1 =

1� �(a)

�(a)

, exp(a) =�(a)

1� �(a)

, a = ln

✓�(a)

1� �(a)

= ln

✓P (C1|x)

1� P (C1|x)

= lnP (C1|x)P (C2|x)

(* �(a) = P (C1|x))

(* 1� P (C1|x) = P (C2|x))

38

Page 39: はじめてのパターン認識 第6章 後半

6.4.1 ロジスティック関数

をロジット関数という.

a = ln

✓P (C1|x)

1� P (C1|x)

◆= ln

P (C1|x)P (C2|x)

P (C1|x)P (C2|x)

lnP (C1|x)P (C2|x)

:オッズ(事後確率の比)

:ログオッズ(オッズの対数)

ロジスティック関数の逆関数

(6.60)

39

Page 40: はじめてのパターン認識 第6章 後半

6.4.2 ロジスティック回帰モデル

40

Page 41: はじめてのパターン認識 第6章 後半

6.4.2 ロジスティック回帰モデル

N人の喫煙量を観測したとき,

喫煙量  の人が肺がんになる確率を

で表す.

(6.61)

として, (バイアス項に対応する  を追加した)

とすれば,

f(x) =1

1 + exp(�a)=

exp(a)

1 + exp(a)= �(a) となる.

  の線形関数である  を非線形関数(ここではロジスティック関数)で変換したモデルで事象を表現している.x

a

1

xi (i = 1, . . . , N)

P (1|x) = f(x) =

1

1 + exp(�(w0 + w1x))

x

w = (w0, w1)T

x = (1, x)T

a = w

Tx = w0 + w1x

41

Page 42: はじめてのパターン認識 第6章 後半

6.4.2 ロジスティック回帰モデル

このとき,ロジット関数は

a = lnP (1|x)P (0|x) = ln

P (1|x)1� P (1|x) = w

Tx

オッズは P (1|x)1� P (1|x) = exp(w

Tx)

で,

となる.

42

Page 43: はじめてのパターン認識 第6章 後半

6.4.2 ロジスティック回帰モデル

  と  のオッズ比は,x̃

x

= exp(w1) (6.65)

  が1単位分増えると, オッズ比が     倍になる.exp(w1)

  の中の  が1増えた状態x を考える.

のオッズは,x̃

P (1|˜x)1� P (1|˜x) = exp(w

x)

x

x̃ = (1, (x+ 1))T

exp(w

x)

exp(w

Tx)

=

exp(w0 + w1(x+ 1))

exp(w0 + w1x)

=

exp(w0 + w1x+ w1)

exp(w0 + w1x)

=

exp(w0 + w1x) exp(w1)

exp(w0 + w1x)

x

43

Page 44: はじめてのパターン認識 第6章 後半

6.4.2 ロジスティック回帰モデルオッズ比について,仮想的な実験を基に考える.

二つの異なった環境(環境1,環境2)で条件(条件A,条件B)を変えて実験を行った結果が下図のようになったとする.

0.9 0.99P (s|B)

P (s|A)=

0.99

0.9= 1.1

P (s|B)

P (f |B)/P (s|A)

P (f |A)=

0.99

0.01/0.9

0.1= 11

0.1 0.01P (f |B)

P (f |A)=

0.01

0.1= 0.1

P (f |B)

P (s|B)/P (f |A)

P (s|A)=

0.01

0.99/0.1

0.9=

1

11

0.5 0.55P (s|B)

P (s|A)=

0.55

0.5= 1.1

P (s|B)

P (f |B)/P (s|A)

P (f |A)=

0.55

0.45/0.5

0.5=

11

9

0.5 0.45P (f |B)

P (f |A)=

0.45

0.5= 0.9

P (f |B)

P (s|B)/P (f |A)

P (s|A)=

0.45

0.55/0.5

0.5=

9

11

条件A 条件B 比 オッズ比

環境1

成功(s)

環境1失敗(f)

環境2

成功(s)

環境2失敗(f)

44

Page 45: はじめてのパターン認識 第6章 後半

6.4.2 ロジスティック回帰モデル環境1と環境2で, 条件を変えたときの成功の増加割合は  で同じである.

0.9 0.99P (s|B)

P (s|A)=

0.99

0.9= 1.1

P (s|B)

P (f |B)/P (s|A)

P (f |A)=

0.99

0.01/0.9

0.1= 11

0.1 0.01P (f |B)

P (f |A)=

0.01

0.1= 0.1

P (f |B)

P (s|B)/P (f |A)

P (s|A)=

0.01

0.99/0.1

0.9=

1

11

0.5 0.55P (s|B)

P (s|A)=

0.55

0.5= 1.1

P (s|B)

P (f |B)/P (s|A)

P (f |A)=

0.55

0.45/0.5

0.5=

11

9

0.5 0.45P (f |B)

P (f |A)=

0.45

0.5= 0.9

P (f |B)

P (s|B)/P (f |A)

P (s|A)=

0.45

0.55/0.5

0.5=

9

11

条件A 条件B 比 オッズ比

環境1

成功(s)

環境1失敗(f)

環境2

成功(s)

環境2失敗(f)

1.1

45

Page 46: はじめてのパターン認識 第6章 後半

6.4.2 ロジスティック回帰モデル環境1では成功の割合がほとんど100%に上昇したのに対し, 環境2では50%から1割上昇したに過ぎない.

0.9 0.99P (s|B)

P (s|A)=

0.99

0.9= 1.1

P (s|B)

P (f |B)/P (s|A)

P (f |A)=

0.99

0.01/0.9

0.1= 11

0.1 0.01P (f |B)

P (f |A)=

0.01

0.1= 0.1

P (f |B)

P (s|B)/P (f |A)

P (s|A)=

0.01

0.99/0.1

0.9=

1

11

0.5 0.55P (s|B)

P (s|A)=

0.55

0.5= 1.1

P (s|B)

P (f |B)/P (s|A)

P (f |A)=

0.55

0.45/0.5

0.5=

11

9

0.5 0.45P (f |B)

P (f |A)=

0.45

0.5= 0.9

P (f |B)

P (s|B)/P (f |A)

P (s|A)=

0.45

0.55/0.5

0.5=

9

11

条件A 条件B 比 オッズ比

環境1

成功(s)

環境1失敗(f)

環境2

成功(s)

環境2失敗(f)

46

Page 47: はじめてのパターン認識 第6章 後半

6.4.2 ロジスティック回帰モデルオッズ比を比べてみると, 成功割合の増加についての質的な違いが現れている.

0.9 0.99P (s|B)

P (s|A)=

0.99

0.9= 1.1

P (s|B)

P (f |B)/P (s|A)

P (f |A)=

0.99

0.01/0.9

0.1= 11

0.1 0.01P (f |B)

P (f |A)=

0.01

0.1= 0.1

P (f |B)

P (s|B)/P (f |A)

P (s|A)=

0.01

0.99/0.1

0.9=

1

11

0.5 0.55P (s|B)

P (s|A)=

0.55

0.5= 1.1

P (s|B)

P (f |B)/P (s|A)

P (f |A)=

0.55

0.45/0.5

0.5=

11

9

0.5 0.45P (f |B)

P (f |A)=

0.45

0.5= 0.9

P (f |B)

P (s|B)/P (f |A)

P (s|A)=

0.45

0.55/0.5

0.5=

9

11

条件A 条件B 比 オッズ比

環境1

成功(s)

環境1失敗(f)

環境2

成功(s)

環境2失敗(f)

47

Page 48: はじめてのパターン認識 第6章 後半

6.4.3 パラメータの最尤推定

48

Page 49: はじめてのパターン認識 第6章 後半

6.4.3 パラメータの最尤推定

2クラスロジスティック回帰モデルのパラメータの最尤推定を考える.

確率変数  :モデルの出力t

・t が 1 となる確率:

・t が 0 となる確率: P (t = 0) = 1� P (t = 1)

確率変数  はパラメータ  をもつベルヌーイ試行↵t

(t = 0 or 1) に従う.f(t|⇡) = ⇡t(1� ⇡)1�t

P (t = 1) = ⇡

= 1� ⇡

f(t = 1|⇡) = ⇡1(1� ⇡)1�1 = ⇡

f(t = 0|⇡) = ⇡0(1� ⇡)1�0 = 1� ⇡

49

Page 50: はじめてのパターン認識 第6章 後半

6.4.3 パラメータの最尤推定

よって, N回の試行に基づく尤度関数は,

負の対数尤度関数は,

(6.68)

この評価関数は, 交差エントロピー型誤差関数とよばれる.

となり,

となる.

これを最大化したい

これを最小化したい

L(⇡1, . . . ,⇡N ) =NY

i=1

f(ti|⇡i) =NY

i=1

⇡tii (1� ⇡i)

(1�ti)

L(⇡1, . . . ,⇡N ) = � lnL(⇡1, . . . ,⇡N ) = � ln

NY

i=1

⇡tii (1� ⇡i)

(1�ti)

!

= �NX

i=1

ln⇣⇡tii (1� ⇡i)

(1�ti)⌘

= �NX

i=1

⇣ln⇡ti

i + ln(1� ⇡i)(1�ti)

= �NX

i=1

(ti ln⇡i + (1� ti) ln(1� ⇡i))

(6.67)

50

Page 51: はじめてのパターン認識 第6章 後半

6.4.3 パラメータの最尤推定

ここで, を代入すると,

(6.70)

L(w) = �NX

i=1

⇢ti ln

✓exp(w

Txi)

1 + exp(w

Txi)

◆+ (1� ti) ln

✓1� exp(w

Txi)

1 + exp(w

Txi)

◆�

= �NX

i=1

⇢ti ln

✓exp(w

Txi)

1 + exp(w

Txi)

◆+ (1� ti) ln

✓1 + exp(w

Txi)� exp(w

Txi)

1 + exp(w

Txi)

◆�

= �NX

i=1

�ti�ln exp(w

Txi)� ln(1 + exp(w

Txi))

�+ (ti � 1) ln

�1 + exp(w

Txi)

= �NX

i=1

⇢ti ln

✓exp(w

Txi)

1 + exp(w

Txi)

◆+ (1� ti) ln

✓1

1 + exp(w

Txi)

◆�

= �NX

i=1

{tiwTxi � ln(1 + exp(w

Txi))}

= �NX

i=1

{ti ln exp(wTxi)� ti ln(1 + exp(w

Txi))

+ti ln(1 + exp(w

Txi))� ln(1 + exp(w

Txi))}

⇡i = �(wTxi) =

exp(w

Txi)

1 + exp(w

Txi)

51

Page 52: はじめてのパターン認識 第6章 後半

6.4.3 パラメータの最尤推定負の対数尤度関数を最小にするパラメータ  を得るために,  で微分することを考える.

@(ln(1 + exp(w

Txi))

@w=

1

1 + exp(w

Txi)

@(1 + exp(w

Txi))

@w

=

1

1 + exp(w

Txi)

exp(w

Txi)

@(wTxi)

@w

=

exp(w

Txi)

1 + exp(w

Txi)

@(xTi w)

@w✓* @(aTx)

@x= a

◆=

exp(w

Txi)

1 + exp(w

Txi)

xi

=

xi exp(wTxi)

1 + exp(w

Txi)

w

w

@(tiwTxi)

@w= ti

@(wTxi)

@w= ti

@(xTi w)

@w= tixi

まず, 準備として

なので,

52

Page 53: はじめてのパターン認識 第6章 後半

6.4.3 パラメータの最尤推定@L(w)

@w= �

NX

i=1

✓tixi �

xi exp(wTxi)

1 + exp(w

Txi)

= �NX

i=1

xi

✓ti �

exp(w

Txi)

1 + exp(w

Txi)

(6.71)

となる  が解であるが, 解析的に解を求めることができない.w

最急降下法やニュートン-ラフソン法などで数値的に解を求めることになる.

= �NX

i=1

xi(ti � ⇡i)

=NX

i=1

xi(⇡i � ti)

✓* ⇡i =

exp(w

Txi)

1 + exp(w

Txi)

NX

i=1

xi(⇡i � ti) = 0

53

Page 54: はじめてのパターン認識 第6章 後半

6.4.4 多クラス問題への拡張と非線形変換

54

Page 55: はじめてのパターン認識 第6章 後半

6.4.4 多クラス問題への拡張と非線形変換

ak = w

Tk x (k = 1, . . . ,K)

P (Ck|x) = ⇡k(x) =exp(ak)

KX

j=1

exp(aj)

多クラス     への拡張は, 各クラスごとに線形変換(K > 2)

を求め, 事後確率を

で計算して, 最大事後確率を与えるクラスに分類すればよい.

ソフトマックス関数

55

Page 56: はじめてのパターン認識 第6章 後半

6.4.4 多クラス問題への拡張と非線形変換

線形関数でうまく分離できない場合, 入力ベクトル  を非線形関数   でx

'( )

'(x) = ('0 = 1,'1(x), . . . ,'M (x))T (6.74)

のように    次元データに変換すると, うまく分離できるようになる場合がある.M + 1

変換された    次元空間でロジスティック回帰をM + 1

ak = w

Tk'(x)

のように行っても, その空間内での識別境界は超平面になる.このような非線形関数を非線形基底関数という.

この超平面を元の  の空間に逆写像すれば, 一般にその境界は曲面になる.このような非線形変換を行う場合でも,   を   に書き換えれば以後の議論はそのまま成り立つ.

'(x)x

x

56

Page 57: はじめてのパターン認識 第6章 後半

6.4.4 多クラス問題への拡張と非線形変換

クラス数K

X = (x1, . . . ,xN )T 学習データ

T = (t1, . . . , tN )T 教師データ

各教師データ  は  次元のベクトルで,   が属するクラス(  )の位置に対応する要素の  のみが  で, ほかはすべて  のダミー変数表現とする.

ti K xi Ck

1 0tik

ti = (0, . . . , 0, 1, 0, . . . , 0)T

k番目の要素

57

Page 58: はじめてのパターン認識 第6章 後半

6.4.4 多クラス問題への拡張と非線形変換

E(w1, . . . ,wK) = � lnP (T |w1, . . . ,wK)

P (T |w1, . . . ,wK) =NY

i=1

KY

k=1

P (Ck|xi)tik =

NY

i=1

KY

k=1

⇡tikik

= � lnNY

i=1

KY

k=1

⇡tikik = �

NX

i=1

KX

k=1

ln⇡tikik = �

NX

i=1

KX

k=1

tik ln⇡ik

これを最大化したい

これを最小化したい

入力ベクトル  がクラス  に属する確率は,xi Ck

KY

k=1

P (Ck|xi)tik = P (Ck|xi)

と考えることができるので, 尤度関数は,

aij = w

Tj xi⇡ik =

exp aikPKl=1 exp ail

ここで, である.

となり, 負の対数尤度関数は次のようになる.

(6.76)

(6.78)

58

Page 59: はじめてのパターン認識 第6章 後半

6.4.4 多クラス問題への拡張と非線形変換

aij = w

Tj xi

@aij@wj

=@(wT

j xi)

@wj=

@(xTi wj)

@wj= xi

@E

@wj= �

NX

i=1

KX

k=1

tik1

⇡ik

@⇡ik

@wj= �

NX

i=1

KX

k=1

tik1

⇡ik

@⇡ik

@aij

@aij@wj

@⇡ik

@aij=

⇣@

@aijexp aik

⌘⇣PKl=1 exp ail

⌘� (exp aik)

⇣@

@aij

PKl=1 exp ail

⇣PKl=1 exp ail

⌘2 (*)

各  の最尤推定は, 評価関数を  で微分して  とおけば求められる.wj wj 0

ここで,

なので準備として,

⇡ik =

exp aikPKl=1 exp ail

59

Page 60: はじめてのパターン認識 第6章 後半

6.4.4 多クラス問題への拡張と非線形変換

k 6= j

=

0� (exp aik) (exp aij)⇣PKl=1 exp ail

⌘2

= � exp aikPKl=1 exp ail

exp aijPKl=1 exp ail

= �⇡ik⇡ij = ⇡ij(0� ⇡ik)

�jk =

⇢1 j = k0 j 6= k

= ⇡ij(�jk � ⇡ik)

のとき,

となるので,

(*)

ここで, クロネッカーのデルタ を使用すると,

(*) となる.

k = j

=

(exp aij)⇣PK

l=1 exp ail⌘� (exp aik) (exp aij)

⇣PKl=1 exp ail

⌘2

=

exp aijPKl=1 exp ail

(PKl=1 exp ailPKl=1 exp ail

� exp aikPKl=1 exp ail

)= ⇡ij(1� ⇡ik)

のとき,

となり,

(*)

60

Page 61: はじめてのパターン認識 第6章 後半

6.4.4 多クラス問題への拡張と非線形変換

@E

@wj= �

NX

i=1

KX

k=1

tik1

⇡ik⇡ij(�jk � ⇡ik)xi

= �NX

i=1

KX

k=1

tik⇡ij

⇡ik�jkxi +

NX

i=1

KX

k=1

tik⇡ijxi

= �NX

i=1

tijxi +NX

i=1

⇡ijxi

KX

k=1

tik

*

KX

k=1

tik⇡ij

⇡ik�jk = tij

⇡ij

⇡ij= tij

!

= �NX

i=1

tijxi +NX

i=1

⇡ijxi

*

KX

k=1

tik = 1

!

=NX

i=1

(⇡ij � tij)xi = 0 (6.79)

式   は解析的に解けないので, 2クラスの場合と同様, ニュートン-ラフソン法などを用いて解くことになる.

(6.79)

よって,

61

Page 62: はじめてのパターン認識 第6章 後半

ご清聴ありがとうございました

62