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

2013/10/1(火) 
@Prunus1350

1
6.3.2 判別分析法

2
6.3.2 判別分析法

•

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

•
•

クラス間変動を用いる
線形変換のバイアス項を明示的に扱うことができない

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

3
6.3.2 判別分析法

•

y
線形変換後の  の平均値と分散は次のように定義される.
mk = w T µ k + w 0
2
k

= w T ⌃k w

ただし,
1 X
µk =
xi
Nk
i2Ck

1 X
⌃k =
(xi
Nk

µk )(xi

µk )T

i2Ck

である.

4
6.3.2 判別分析法
線形変換後の分散が定義のように与えられることの確認
1 X
(yi mk )2
←線形変換後の分散
Nk
i2Ck
1 X
=
(yi mk )(yi mk )T
(スカラの転置はスカラ)
Nk
i2Ck

1 X T
=
(w xi wT µk )(wT xi wT µk )T
Nk
i2Ck
1 X T
=
(w (xi µk ))(wT (xi µk ))T
Nk
i2Ck
1 X T
=
w (xi µk )(xi µk )T w
Nk
i2Ck

= wT

1 X
(xi
Nk

µk )(xi

i2Ck

µk )T

!

w

= w T ⌃k w

よって, 線形変換後の分散は

2
k

= w T ⌃k w

としてよいことが確認された.
5
6.3.2 判別分析法(の準備としての一般形)
クラス分離度の評価関数を考える
h(m1 ,

2
1 , m2 ,

2
2)

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

2
2
@h
@h @ 1
@h @ 2
@h @m1
@h @m2
=
2 @w + @ 2 @w + @m @w + @m @w = 0
@w
@ 1
1
2
2

(6.31)

2
2
@h
@h @ 1
@h @ 2
@h @m1
@h @m2
=
2 @w + @ 2 @w + @m @w + @m @w = 0
@w0
@ 1
0
0
1
0
2
0
2

(6.32)

を解けばよい

6
6.3.2 判別分析法(の準備としての一般形)
まずは準備として,
2
@ k
@(wT ⌃k w)
=
@w
@w
= (⌃k + ⌃T )w
k

= 2⌃k w

( 付録の公式)
( 共分散行列は対称行列)

2
@ k
=0
@w0

@mk
@(wT µk + w0 )
=
@w
@w
@(µT w + w0 )
k
=
@w
= µk

( スカラーの転置はスカラー)
( 付録の公式)

@mk
@(wT µk + w0 )
=
@w0
@w0
=1
7
6.3.2 判別分析法(の準備としての一般形)
2
2
@h
@h @ 1
@h @ 2
@h @m1
@h @m2
=
2 @w + @ 2 @w + @m @w + @m @w
@w
@ 1
1
2
2

(6.31) に代入すると,

@h
@h
@h
@h
=
2 · 2⌃1 w + @ 2 · 2⌃2 w + @m µ1 + @m µ2
@ 1
1
2
2
=2

)2

✓

✓

◆

@h
@h
2 ⌃1 + @ 2 ⌃2 w +
@ 1
2
◆

@h
@h
2 ⌃1 + @ 2 ⌃2 w =
@ 1
2

✓

✓

@h
@h
µ1 +
µ2
@m1
@m2

@h
@h
µ1 +
µ2
@m1
@m2

◆

◆

=0

(6.33) が得られ,

8
6.3.2 判別分析法(の準備としての一般形)
また,
2
2
@h
@h @ 1
@h @ 2
@h @m1
@h @m2
=
2 @w + @ 2 @w + @m @w + @m @w
@w0
@ 1
0
0
1
0
2
0
2

(6.32) に代入すると,

@h
@h
@h
@h
=
2 · 0 + @ 2 · 0 + @m · 1 + @m · 1
@ 1
1
2
2
@h
@h
=
+
=0
@m1
@m2

(6.34) が得られる.

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

s=

@h
2
@ 1
@h
2
@ 1

+

@h
2 =s
@ 1

✓

(6.35) と定義すると,

@h
2
@ 2

@h
@h
2 + @ 2
@ 1
2

◆

が得られ,

また,

1

s=

⇣

@h
2 = (1
@ 2

@h
2
@ 1

+

@h
2
@ 2

@h
2
@ 1

s)

✓

+

⌘

@h
2
@ 1

@h
2
@ 2

@h
@h
2 + @ 2
@ 1
2

=
◆

@h
2
@ 2
@h
2
@ 1

+

@h
2
@ 2

より

が得られる.

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

◆

@h
@h
=2
2 ⌃1 + @ 2 ⌃2 w
@ 1
2
⇢ ✓
◆
✓
◆
@h
@h
@h
@h
=2 s
⌃1 + (1 s)
⌃2 w
2 + @ 2
2 + @ 2
@ 1
@ 1
2
2
✓
◆
@h
@h
=2
{s⌃1 + (1 s)⌃2 } w
2 + @ 2
@ 1
2

(6.33 の左辺)

(6.33 の右辺) =
=

✓

✓

@h
@h
µ1 +
µ2
@m1
@m2
@h
µ1
@m1

@h
=
(µ2
@m1
)2

✓

@h
@h
2 + @ 2
@ 1
2

◆

{s⌃1 + (1

@h
µ2
@m1

◆

◆

µ1 )
@h
s)⌃2 } w =
(µ2
@m1

µ1 )

(6.36) が得られた.

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

✓

@h
@h
2 + @ 2
@ 1
2

◆

{s⌃1 + (1

@h
s)⌃2 } w =
(µ2
@m1

µ1 )

(6.36) 再掲

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

s)⌃2 )

1

(µ2

µ1 )

(6.37)

12
6.3.2 判別分析法
判別分析法
クラス間分散
h=

クラス内分散

1
m = (N1 m1 + N2 m2 )
¯
N

P (C1 )(m1 m)2 + P (C2 )(m2
¯
=
2
2
P (C1 ) 1 + P (C2 ) 2

m)2
¯

全データの平均

N1
N2
=
m1 +
m2
N
N
N1 T
N2 T
=
(w µ1 + w0 ) +
(w µ2 + w0 )
N
N
N1 T
N1
N2 T
N2
=
w µ1 +
w0 +
w µ2 +
w0
N
N
N
N
✓
◆ ✓
◆
N1
N1
N2
N2
T
=w
µ1 +
µ2 +
+
w0
N
N
N
N
!
N1 1 X
N2 1 X
xi +
xi + w0
= wT
N N1
N N2
i2C1
i2C2
!
N
1 X
写像前の全データの平均ベクトルを
= wT
xi + w0
N i=1
写像したものであることが分かる.
13
6.3.2 判別分析法
P (C1 )(m1 m)2 + P (C2 )(m2
¯
h=
2
2
P (C1 ) 1 + P (C2 ) 2
@
@

2
k

@
@

2
k

P (C1 )(m1
P (C1 )

@h
2 =
@ k

2
1

m)2
¯

2

(6.38) を  で微分する
k

m)2 = 0
¯

+ P (C2 )

2
2

= P (Ck )
m)2 + P (C2 )(m2
¯

P (Ck ) P (C1 )(m1
(P (C1 )

2
1

+ P (C2 )

2 )2
2

公式:

✓

m)2
¯

f (x)
g(x)

◆0

f 0 (x)g(x) f (x)g 0 (x)
=
g 2 (x)

14
6.3.2 判別分析法
s=

@h
2
@ 1
@h
2
@ 1

+

@h
2
@ 2

(6.35) に代入
P (C1 ){P (C1 )(m1 m)2 +P (C2 )(m2 m)2 }
¯
¯

=

(P (C1 )

2 +P (C ) 2 2
2
1
2

P (C1 ){P (C1 )(m1 m)2 +P (C2 )(m2 m)2 }
¯
¯
2
2 2
(P (C1 ) 1 +P (C2 ) 2 )

)

P (C2 ){P (C1 )(m1 m)2 +P (C2 )(m2 m)2 }
¯
¯
2
2 2
(P (C1 ) 1 +P (C2 ) 2 )

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

が得られた

15
6.3.2 判別分析法
w = (s⌃1 + (1

s)⌃2 )

1

(µ2

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

(6.37) に代入すると

µ1 )
1

(µ2

P (C1 )(m1 m)2 + P (C2 )(m2
¯
h=
2
2
P (C1 ) 1 + P (C2 ) 2

µ1 )

m)2
¯

@h
2P (Ck )(mk m)
¯
=
2
2
@mk
P (C1 ) 1 + P (C2 ) 2
@h
@h
+
=0
@m1
@m2

(6.40)

mk
(6.38) を  で微分する

(6.41)

(6.34) に代入すると

2P (C2 )(mk m)
¯
2P (C1 )(mk m)
¯
2 + P (C ) 2 + P (C ) 2 + P (C ) 2 = 0
P (C1 ) 1
2 2
1 1
2 2
P (C1 )(m1

m) + P (C2 )(m2
¯

m) = 0
¯

16
6.3.2 判別分析法
P (C1 )(m1

m) + P (C2 )(m2
¯

, P (C1 )m1 + P (C2 )m2

m) = 0
¯

(P (C1 ) + P (C2 ))m = 0
¯

, P (C1 )(wT µ1 + w0 ) + P (C2 )(wT µ2 + w0 )

m=0
¯

, (P (C1 ) + P (C2 ))w0 + P (C1 )wT µ1 + P (C2 )wT µ2
, w0 =

wT (P (C1 )µ1 + P (C2 )µ2 ) + m
¯

m=0
¯

(6.42)

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

17
6.3.3 多クラス問題への拡張

18
6.3.3 多クラス問題への拡張
K(> 2)
フィッシャーの基準を, 多クラス    の場合に拡張することを考える.
d(> K)
2クラスの場合は識別境界を計算できたが, 多クラスの場合は,     次元の
K 1
データをたかだか    次元の特徴空間に写像する線形変換行列を見つける
問題になるので, 識別境界は計算できない.

19
6.3.3 多クラス問題への拡張
各クラスのデータ数を
Sk =

X

(xi

µk )(xi

Nk
µk )T

i2Ck

1 X
µk =
xi
Nk

(k = 1, . . . , K)
(6.45)

とすると,
各クラスのクラス内変動

(6.46)

i2Ck

SW =

K
X

Sk

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

k=1
N
K
K
1 X
1 XX
1 X
1 X
µ=
xi =
xi =
Nk
xi
N i=1
N
N
Nk
k=1 i2Ck

K
1 X
=
Nk µ k
N
k=1

k=1

全データの平均

i2Ck

(6.47)

20
6.3.3 多クラス問題への拡張
全平均からの全データの変動の和
N
X
ST =
(xi µ)(xi µ)T
i=1

=

K
XX

(xi

K
XX

{(xi

µk ) + (µk

µ)}{(xi

µk ) + (µk

K
XX

{(xi

µk ) + (µk

µ)}{(xi

µk )T + (µk

{(xi

µk )(xi

µ)T

µ)(xi

k=1 i2Ck

=

k=1 i2Ck

=

k=1 i2Ck

=

K
XX

k=1 i2Ck

=

K
XX

+(xi
(xi

k=1 i2Ck

+

µk )(µk

µk )(xi
K
X

µk )T + (µk

X

k=1 i2Ck

µk )T +

K
XX

µ)(xi
(µk

k=1 i2Ck

(xi

µk )(µk

µ)T +

µ)T }

µ)T

µ)(µk

µ)T + (µk

µ)}T

µk )T }

µ)(µk

K
XX

(µk

µ)T
µ)(xi

µk )T

k=1 i2Ck
21
6.3.3 多クラス問題への拡張
ここで,
K
XX

(xi

µk )(µk

k=1 i2Ck

K
X X
µ)T =
(
xi

X

k=1 i2Ck

=

K
X

(Nk µk

µ)T

µk )(µk

i2Ck

Nk µk )(µk

µ)T = 0

k=1

K
XX

(µk

µ)(xi

T

µk ) =

k=1 i2Ck

K
X

(µk

=

xi

i2Ck

k=1
K
X

µ)(

X

(µk

µ)(Nk µk

X

µk )T

i2Ck

Nk µ k ) T = 0

なので,

k=1

22
6.3.3 多クラス問題への拡張
ST =

K
XX

(xi

µk )(xi

µk )T +

k=1 i2Ck

= SW +

K
X

K
XX

(µk

µ)(µk

µ)T

k=1 i2Ck

Nk (µk

µ)(µk

µ)T

(6.49)

k=1

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

K
X

Nk (µk

µ)(µk

µ)T

(6.50)

を定義する.

k=1

23
6.3.3 多クラス問題への拡張
K 1
d > K であれば,   次元から    次元空間への線形写像
d
yk = w T x
k

(k = 1, . . . , K

1)

(6.51)

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

1)

W = (w1 , . . . , wK

T

1)

K 1
とすれば,     個の線形変換は,
y = WTx

(6.52)

と書ける.

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

˜
SW

・クラス間変動

˜
SB

・全変動

˜
ST

を求める.

各クラスの平均ベクトルは
X
1 X
1 X
T
T 1
mk =
yi =
W xi = W
xi = W T µk
Nk
Nk
Nk
i2Ck

i2Ck

i2Ck

全平均ベクトルは
N
K
K
K
1 X
1 XX
1 X
1 X
m=
yi =
yi =
N k mk =
Nk W T µ k
N i=1
N
N
N
k=1 i2Ck

K
X
T 1
=W
Nk µ k = W T µ
N

k=1

k=1

となるので,

k=1

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

K
XX

(y i

mk )(y i

mk ) T

k=1 i2Ck

=

K
XX

(W T xi

W T µk )(W T xi

W T µk )T

k=1 i2Ck

=

K
XX

k=1 i2Ck

=

K
XX

{W T (xi

µk )}{W T (xi

W T (xi

µk )(xi

µk )}T

µk )T W

k=1 i2Ck

=W

T

K
X

X

k=1 i2Ck

= W T SW W

(xi

µk )(xi

µk )T

!

W

(6.53)

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

K
X

Nk (mk

m)(mk

m)T

k=1

=

K
X

Nk (W T µk

W T µ)(W T µk

W T µ)T

k=1

=

K
X

k=1

=

K
X

Nk {W T (µk
Nk W T (µk

µ)}{W T (µk

µ)(µk

µ)}T

µ)T W

k=1

= WT

K
X

k=1

= W T SB W

Nk (µk

µ)(µk

µ)T

!

W

(6.54)

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

N
X

(y i

m)T

m)(y i

i=1

=

K
XX

(y i

m)(y i

m)T

k=1 i2Ck

=

K
XX

{(y i

mk ) + (mk

m)}{(y i

mk ) + (mk

K
XX

{(y i

mk ) + (mk

m)}{(y i

mk )T + (mk

K
XX

{(y i

mk )(y i

k=1 i2Ck

=

k=1 i2Ck

=

m)}T

k=1 i2Ck

+(y i

mk )T + (mk

mk )(mk

m)(mk

m)T + (mk

m)(y i

m)T }

m)T
mk ) T }

28
6.3.3 多クラス問題への拡張
=

K
XX

(y i

mk )(y i

mk ) T +

k=1 i2Ck

+

K
XX

K
XX

(mk

m)(mk

m)T

k=1 i2Ck

(y i

mk )(mk

k=1 i2Ck

˜
˜
= SW + SB +

m)T +

K
XX

(mk

m)(y i

mk ) T

k=1 i2Ck
K
XX

k=1 i2Ck

(y i

mk )(mk

m)T +

K
XX

(mk

m)(y i

mk ) T

k=1 i2Ck

29
6.3.3 多クラス問題への拡張
ここで
K
XX

(y i

mk )(mk

k=1 i2Ck

K
X X
m)T =
(
yi

X

m)T

mk )(mk

k=1 i2Ck

i2Ck

K
X

Nk mk )(mk

=

(Nk mk

m)T = 0

k=1

K
XX

(mk

m)(y i

mk ) T =

k=1 i2Ck

K
X

(mk

=

yi

i2Ck

k=1
K
X

m)(

X

(mk

m)(Nk mk

X

mk ) T

i2Ck

Nk mk ) T = 0

k=1

となるので,
˜
˜
˜
ST = SW + SB

(6.55)

となることが確認できる.

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

しかし, 行列の比なので何らかのスカラー量に変換しないと, 最大値を求めること
ができない.
いろいろな変換方法が提案されているが, そのうちの一つは
⇣
⌘
J(W ) = Tr(S W1 S B ) = Tr (W T S W W ) 1 W T S B W

(6.56)

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

31
6.4 ロジスティック回帰

32
6.4 ロジスティック回帰

•

y = wT x
線形識別関数      の関数値の大きさは, 識別境界から離れるに従って

線形に上昇し続ける.

•

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

•

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

33
6.4.1 ロジスティック関数

34
6.4.1 ロジスティック関数
2クラス問題を考える.
C1
P (C1 |x)
クラス  の事後確率     は
P (x|C1 )P (C1 )
P (C1 |x) =
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 )

ここで

P (x|C1 )P (C1 )
a = ln
P (x|C2 )P (C2 )

(6.58)

(6.57)

とおくと

P (x|C1 )P (C1 )
e =
P (x|C2 )P (C2 )
a

,e

a

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

35
6.4.1 ロジスティック関数
,1+e
1
,
1+e

a

a

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

よって

(a)

1
P (C1 |x) =
= (a)
1 + exp( a)

(6.59)

と表すことができる.

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

36
6.4.1 ロジスティック関数
ロジスティック関数
・無限区間

( 1, 1) を区間 (0, 1)

に写像.

・S字型の圧縮関数.
章末問題 6.4

・対称性:

( a) = 1

(a)

1
* ( a) =
1 + exp(a)
exp( a)
=
exp( a) + 1
exp( a) + 1 1
=
exp( a) + 1
=1
=1

1
exp( a) + 1
(a)

37
6.4.1 ロジスティック関数
ロジスティック関数の逆関数を考える.
1
(a) =
1 + exp( a)
,

ロジスティック関数

1
= 1 + exp( a)
(a)

, exp( a) =

1
(a)

1=

(a)
, exp(a) =
1
(a)
✓
◆
(a)
, a = ln
1
(a)
✓
◆
P (C1 |x)
= ln
1 P (C1 |x)
P (C1 |x)
= ln
P (C2 |x)

1

(a)
(a)

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

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

38
6.4.1 ロジスティック関数
ロジスティック関数の逆関数
a = ln

✓

P (C1 |x)
1 P (C1 |x)

◆

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

(6.60)

をロジット関数という.

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

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

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

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

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

40
6.4.2 ロジスティック回帰モデル
xi (i = 1, . . . , N )

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

x
喫煙量  の人が肺がんになる確率を
1
P (1|x) = f (x) =
1 + exp( (w0 + w1 x))

(6.61)

で表す.
w = (w0 , w1 )T
x = (1, x)T

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

a = w T x = w0 + w1 x
1
exp(a)
f (x) =
=
= (a)
1 + exp( a)
1 + exp(a)

とすれば,
となる.

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

41
6.4.2 ロジスティック回帰モデル
このとき,ロジット関数は
P (1|x)
P (1|x)
a = ln
= ln
= wT x
P (0|x)
1 P (1|x)

オッズは

P (1|x)
= exp(wT x)
1 P (1|x)

で,

となる.

42
6.4.2 ロジスティック回帰モデル
x
x
  の中の  が1増えた状態
˜
x

のオッズは,

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

を考える.

P (1|˜ )
x
˜
= exp(wT x)
1 P (1|˜ )
x

x
˜
x
  と  のオッズ比は,
˜
exp(wT x)
exp(w0 + w1 (x + 1))
=
T x)
exp(w
exp(w0 + w1 x)
exp(w0 + w1 x + w1 )
=
exp(w0 + w1 x)
exp(w0 + w1 x) exp(w1 )
=
exp(w0 + w1 x)
= exp(w1 )

(6.65)

exp(w1 )
x
  が1単位分増えると, オッズ比が     倍になる.
43
6.4.2 ロジスティック回帰モデル
オッズ比について,仮想的な実験を基に考える.
二つの異なった環境(環境1,環境2)で条件(条件A,条件B)を変えて実験を
行った結果が下図のようになったとする.

条件A

成功
(s)

0.9

条件B

比

オッズ比

0.99

P (s|B)
0.99
=
= 1.1
P (s|A)
0.9

P (s|B) P (s|A)
0.99 0.9
/
=
/
= 11
P (f |B) P (f |A)
0.01 0.1

0.01

P (f |B)
0.01
=
= 0.1
P (f |A)
0.1

P (f |B) P (f |A)
0.01 0.1
1
/
=
/
=
P (s|B) P (s|A)
0.99 0.9
11

P (s|B) P (s|A)
0.55 0.5
11
/
=
/
=
P (f |B) P (f |A)
0.45 0.5
9
P (f |B) P (f |A)
0.45 0.5
9
/
=
/
=
P (s|B) P (s|A)
0.55 0.5
11

環境1
失敗
(f)

0.1

成功
(s)

0.5

0.55

P (s|B)
0.55
=
= 1.1
P (s|A)
0.5

失敗
(f)

0.5

0.45

P (f |B)
0.45
=
= 0.9
P (f |A)
0.5

環境2

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

条件A

成功
(s)

0.9

条件B

比

オッズ比

0.99

P (s|B)
0.99
=
= 1.1
P (s|A)
0.9

P (s|B) P (s|A)
0.99 0.9
/
=
/
= 11
P (f |B) P (f |A)
0.01 0.1

0.01

P (f |B)
0.01
=
= 0.1
P (f |A)
0.1

P (f |B) P (f |A)
0.01 0.1
1
/
=
/
=
P (s|B) P (s|A)
0.99 0.9
11

P (s|B) P (s|A)
0.55 0.5
11
/
=
/
=
P (f |B) P (f |A)
0.45 0.5
9
P (f |B) P (f |A)
0.45 0.5
9
/
=
/
=
P (s|B) P (s|A)
0.55 0.5
11

環境1
失敗
(f)

0.1

成功
(s)

0.5

0.55

P (s|B)
0.55
=
= 1.1
P (s|A)
0.5

失敗
(f)

0.5

0.45

P (f |B)
0.45
=
= 0.9
P (f |A)
0.5

環境2

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

条件A

成功
(s)

0.9

条件B

比

オッズ比

0.99

P (s|B)
0.99
=
= 1.1
P (s|A)
0.9

P (s|B) P (s|A)
0.99 0.9
/
=
/
= 11
P (f |B) P (f |A)
0.01 0.1

0.01

P (f |B)
0.01
=
= 0.1
P (f |A)
0.1

P (f |B) P (f |A)
0.01 0.1
1
/
=
/
=
P (s|B) P (s|A)
0.99 0.9
11

P (s|B) P (s|A)
0.55 0.5
11
/
=
/
=
P (f |B) P (f |A)
0.45 0.5
9
P (f |B) P (f |A)
0.45 0.5
9
/
=
/
=
P (s|B) P (s|A)
0.55 0.5
11

環境1
失敗
(f)

0.1

成功
(s)

0.5

0.55

P (s|B)
0.55
=
= 1.1
P (s|A)
0.5

失敗
(f)

0.5

0.45

P (f |B)
0.45
=
= 0.9
P (f |A)
0.5

環境2

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

条件A

成功
(s)

0.9

条件B

比

オッズ比

0.99

P (s|B)
0.99
=
= 1.1
P (s|A)
0.9

P (s|B) P (s|A)
0.99 0.9
/
=
/
= 11
P (f |B) P (f |A)
0.01 0.1

0.01

P (f |B)
0.01
=
= 0.1
P (f |A)
0.1

P (f |B) P (f |A)
0.01 0.1
1
/
=
/
=
P (s|B) P (s|A)
0.99 0.9
11

P (s|B) P (s|A)
0.55 0.5
11
/
=
/
=
P (f |B) P (f |A)
0.45 0.5
9
P (f |B) P (f |A)
0.45 0.5
9
/
=
/
=
P (s|B) P (s|A)
0.55 0.5
11

環境1
失敗
(f)

0.1

成功
(s)

0.5

0.55

P (s|B)
0.55
=
= 1.1
P (s|A)
0.5

失敗
(f)

0.5

0.45

P (f |B)
0.45
=
= 0.9
P (f |A)
0.5

環境2

47
6.4.3 パラメータの最尤推定

48
6.4.3 パラメータの最尤推定
2クラスロジスティック回帰モデルのパラメータの最尤推定を考える.
t
確率変数  :モデルの出力

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

P (t = 1)
⇡

↵
t
確率変数  はパラメータ  をもつベルヌーイ試行
f (t|⇡) = ⇡ t (1

⇡)1

t

(t = 0 or 1)

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

⇡)1

1

=⇡

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

⇡)1

0

=1

に従う.

⇡

49
6.4.3 パラメータの最尤推定
これを最大化したい

よって, N回の試行に基づく尤度関数は,
L(⇡1 , . . . , ⇡N ) =

N
Y

i=1

f (ti |⇡i ) =

N
Y

t
⇡i i (1

⇡i )(1

ti )

i=1

負の対数尤度関数は,
L(⇡1 , . . . , ⇡N ) =
=

ln L(⇡1 , . . . , ⇡N ) =
⇣

t
ln ⇡i i (1

i=1

=

ln

N
X⇣

⇡i )(1

t
ln ⇡i i + ln(1

ti )

⌘

⇡i )(1

i=1

=

N
Y

t
⇡i i (1

⇡i )(1

i=1
N
X

N
X

となり,

(6.67)

(ti ln ⇡i + (1

ti ) ln(1

ti )

⌘
⇡i ))

ti )

!

これを最小化したい

(6.68)

となる.

i=1

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

50
6.4.3 パラメータの最尤推定
ここで,
L(w) =
=

exp(wT xi )
⇡i = (wT xi ) =
1 + exp(wT xi )
✓
◆
N
T
X⇢
exp(w xi )
ti ln
+ (1
Tx )
1 + exp(w i
i=1
N
X⇢

ti ln

✓

ti ln

✓

i=1

=

N
X⇢
i=1

=

N
X

T

exp(w xi )
1 + exp(wT xi )
T

exp(w xi )
1 + exp(wT xi )

ti ln exp(wT xi )

◆

◆

+ (1

+ (1

を代入すると,
✓

T

ti ) ln 1

ti ) ln

✓

ti ) ln

✓

exp(w xi )
1 + exp(wT xi )
T

◆
T

1 + exp(w xi ) exp(w xi )
1 + exp(wT xi )
1
1 + exp(wT xi )

ln(1 + exp(wT xi )) + (ti

◆

◆

1) ln 1 + exp(wT xi )

i=1

=

N
X
i=1

=

{ti ln exp(wT xi )

N
X
i=1

ti ln(1 + exp(wT xi ))

+ti ln(1 + exp(wT xi ))
{ti wT xi

ln(1 + exp(wT xi ))}

ln(1 + exp(wT xi ))}

(6.70)

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

まず, 準備として
@(ti wT xi )
@(wT xi )
@(xT w)
i
= ti
= ti
= ti xi
@w
@w
@w
@(ln(1 + exp(wT xi ))
1
@(1 + exp(wT xi ))
=
@w
1 + exp(wT xi )
@w
1
@(wT xi )
T
=
exp(w xi )
Tx )
1 + exp(w i
@w
exp(wT xi ) @(xT w)
i
=
1 + exp(wT xi ) @w
exp(wT xi )
=
x
Tx ) i
1 + exp(w i
xi exp(wT xi )
=
1 + exp(wT xi )

✓

T

@(a x)
*
=a
@x

◆

なので,

52
6.4.3 パラメータの最尤推定
N
X✓

@L(w)
=
@w

T

xi exp(w xi )
1 + exp(wT xi )

t i xi

i=1

N
X

=

i=1

N
X

=

✓

T

exp(w xi )
1 + exp(wT xi )

xi ti

xi (ti

⇡i )

i=1

=

N
X

xi (⇡i

◆

ti )

◆
✓

T

exp(w xi )
* ⇡i =
1 + exp(wT xi )

◆

(6.71)

i=1

N
X

xi (⇡i

ti ) = 0

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

i=1

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

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

54
6.4.4 多クラス問題への拡張と非線形変換
(K > 2)
多クラス     への拡張は, 各クラスごとに線形変換
ak = w T x
k

(k = 1, . . . , K)

を求め, 事後確率を
exp(ak )
P (Ck |x) = ⇡k (x) = K
X
exp(aj )

ソフトマックス関数

j=1

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

55
6.4.4 多クラス問題への拡張と非線形変換
'( )
x
線形関数でうまく分離できない場合, 入力ベクトル  を非線形関数   で
'(x) = ('0 = 1, '1 (x), . . . , 'M (x))T

(6.74)

M +1
のように    次元データに変換すると, うまく分離できるようになる場合がある.
M +1
変換された    次元空間でロジスティック回帰を
ak = wT '(x)
k

のように行っても, その空間内での識別境界は超平面になる.
このような非線形関数を非線形基底関数という.
x
この超平面を元の  の空間に逆写像すれば, 一般にその境界は曲面になる.
'(x)
x
このような非線形変換を行う場合でも,   を   に書き換えれば以後の議論は
そのまま成り立つ.

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

クラス数

X = (x1 , . . . , xN )T

学習データ

T = (t1 , . . . , tN )T

教師データ

xi
ti
Ck
K
各教師データ  は  次元のベクトルで,   が属するクラス(  )の
tik
1
0
位置に対応する要素の  のみが  で, ほかはすべて  のダミー変数表
現とする.
ti = (0, . . . , 0, 1, 0, . . . , 0)T
k番目の要素

57
6.4.4 多クラス問題への拡張と非線形変換
xi
Ck
入力ベクトル  がクラス  に属する確率は,
K
Y

k=1

P (Ck |xi )tik = P (Ck |xi )
これを最大化したい

と考えることができるので, 尤度関数は,
P (T |w1 , . . . , wK ) =

ここで,

N K
YY

i=1 k=1

P (Ck |xi )tik =

exp aik

⇡ik = PK

l=1

N K
YY

tik
⇡ik

i=1 k=1

aij = wT xi
j

exp ail

となり, 負の対数尤度関数は次のようになる.
E(w1 , . . . , wK ) =

=

ln

i=1 k=1

tik
⇡ik =

N K
XX

i=1 k=1

である.

これを最小化したい

ln P (T |w1 , . . . , wK )
N K
YY

(6.76)

tik
ln ⇡ik =

N K
XX

tik ln ⇡ik

(6.78)

i=1 k=1

58
6.4.4 多クラス問題への拡張と非線形変換
wj
wj
0
各  の最尤推定は, 評価関数を  で微分して  とおけば求められる.
N K
XX

@E
=
@wj

i=1 k=1

1 @⇡ik
tik
=
⇡ik @wj

N K
XX

i=1 k=1

1 @⇡ik @aij
tik
⇡ik @aij @wj

ここで,
exp aik

⇡ik = PK

l=1

exp ail

aij = wT xi
j

なので準備として,
@(wT xi )
@aij
@(xT wj )
j
i
=
=
= xi
@wj
@wj
@wj
⇣
⌘ ⇣P
⌘
K
@
exp aik
l=1 exp ail
@aij
@⇡ik
=
⇣P
@aij
K

(exp aik )
⌘2
l=1 exp ail

⇣

@
@aij

PK

l=1

exp ail

⌘

(*)

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

のとき,
⇣P
⌘
K
(exp aij )
(exp aik ) (exp aij )
l=1 exp ail
⇣P
⌘2
(*) =
K
l=1 exp ail
(P
)
K
exp aij
exp aik
l=1 exp ail
= PK
= ⇡ij (1
PK
PK
l=1 exp ail
l=1 exp ail
l=1 exp ail
k 6= j

(*) =

=

となり,

のとき,

0

(exp aik ) (exp aij )
⇣P
⌘2
K
l=1 exp ail
exp aik

PK

l=1

=

⇡ik )

exp ail

exp aij

PK

⇡ik ⇡ij = ⇡ij (0

l=1

exp ail

⇡ik )

ここで, クロネッカーのデルタ
(*) = ⇡ij (

jk

⇡ik )

jk

となるので,
⇢
1 j=k
=
0 j 6= k

を使用すると,

となる.
60
6.4.4 多クラス問題への拡張と非線形変換
よって,
@E
=
@wj
=

N K
XX

i=1 k=1

N K
XX

i=1 k=1

=

N
X

1
tik
⇡ij (
⇡ik
⇡ij
tik
⇡ik

tij xi +

i=1

=

N
X

=

+

tij xi +

(⇡ij

N
X

N K
XX

tik ⇡ij xi

i=1 k=1

⇡ij xi

i=1

i=1

N
X

jk xi

N
X

⇡ik )xi

jk

K
X

tik

*

k=1

⇡ij xi

i=1

tij )xi = 0

K
X

⇡ij
tik
⇡ik

K
X

tik = 1

k=1

*

!

k=1

jk

⇡ij
= tij
= tij
⇡ij

!

(6.79)

i=1

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

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

62

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