forked from herumi/prml
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathprml4.tex
1155 lines (1094 loc) · 46.7 KB
/
prml4.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 第4章
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\setcounter{chapter}{3}
\chapter{「線形識別モデル」のための数学}
\section{クラス分類問題}
クラス分類とは, 与えられた入力空間を相異なる$K$個の空間に分割し, それぞれの空間をクラス$C_k$とラベルをつけることである.
訓練データ$x$が与えられたときに, 推論段階と決定段階を経て各クラスに割り当てる.
$$
\text{訓練データ}x
\rightarrow \text{モデル$p(C_k\,|\,x)$を作る}
\rightarrow \text{事後確率を使ってクラスに割り当てる}
$$
訓練データからどの情報を使って分類するかによって三つの方法がある:
\begin{itemize}
\item 生成モデル(generative model):
$p(x\,|\,C_k)$を$C_k$ごとに決め, $p(C_k)$も決める. そうすると同時分布$p(x, C_k)$が分かり,
$$
p(C_k\,|\,x)=\frac{p(x\,|\,C_k)\,p(C_k)}{p(x)}
$$
で事後確率を求める.
$p(x)$は$p(x)=\sum p(x\,|\,C_k)\,p(C_k)$で求められる.
$p(x\,|\,C_k)$があると自分でさいころを振って各$C_k$に対して$x$を作ることができるという点で,
生成モデルという.
\item 識別モデル(discriminative model):
$p(x\,|\,C_k)$を求めずにいきなり事後確率$p(C_k\,|\,x)$を決める推論問題を解く.
決定理論を使って$x$をあるクラスに割り当てる.
\item 識別関数(discriminant function):
確率モデルを考えずに入力関数によって定まる識別関数$f\colon x \mapsto k$を作る.
\end{itemize}
\section{行列の微分の復習}
$A=(a_{ij})$と書いた.
$$
(AB)_{ij}=\sum_k a_{ik} b_{kj}, \quad \tr(A)=\sum_i a_{ii}, \quad \trans{A}=(a_{ji})
$$
などを思い出しておく.
さて$A$, $B$を適当な行列として
$$
\dif{A}\tr(AB)=\trans{B}
$$
なぜなら,
$$
\left(\dif{A}\tr(AB)\right)_{ij}=\dif{a_{ij}}\sum_{s,t} a_{st} b_{ts} = b_{ji}.
$$
ここで
$\partial a_{st}/ \partial a_{ij}= \delta_{is} \delta_{jt}$を使った. つまり添え字$s$, $t$が走るときに, $s=i$, $t=j$のときのみが生き残るというわけである.
慣れるためにもう一つやっておこう.
$$
\dif{A}\tr(AB\trans{A})=A(B+\trans{B}).
$$
なぜなら,
\begin{eqnarray*}
\dif{a_{ij}} \tr(AB\trans{A})
&=& \dif{a_{ij}} \sum_{s,t,u} a_{st} b_{tu} a_{su}
= \sum_{s,t,u} b_{tu} \dif{a_{ij}} (a_{st} a_{su})\\
&=& \sum_{s,t,u} b_{tu} \left(\delta_{is} \delta_{jt} a_{su} + a_{st} \delta_{is} \delta_{ju}\right)
= \sum_{u} b_{ju} a_{iu} + \sum_{t} b_{tj} a_{it}\\
&=& \sum_{u} a_{iu} b_{ju} + \sum_{t} a_{it} b_{tj}
= (A\trans{B})_{ij} + (AB)_{ij}
= \left(A(B + \trans{B})\right)_{ij}.
\end{eqnarray*}
\vspace{0pt}
\section{多クラス}
$K$個の線形関数を使った$K$クラス識別を考える.
$$
y_k(x)=\trans{w_k}x+w_{k0}.
$$
ここで$w_k$は重みベクトル, $w_{k0}$はバイアスパラメータでスカラー, $x$が分類したい入力パラメータでベクトルである.
クラス分類を次の方法で定義する:
$x$に対して, ある$k$が存在し, 全ての$j\neq k$に対して$y_k(x) > y_j(x)$であるとき$x$はクラス$C_k$に割り当てるとする.
これはwell-definedである.
つまり
\begin{itemize}
\item (一意性)$x$が二つの異なるクラス$C_k$に$C_k'$に属することはない. なぜならそういう$k$, $k'$があったとすると$y_k(x) > y_k'(x) > y_k(x)$となり矛盾するから.
\item (存在性)$x$が与えられたとき$\{y_k(x)\}$の最大値$m$を与える$k_0$がその候補である. もしも
$m=y_k(x)$となる$k$が複数個存在($k_1$, $k_2$)したとすると,
クラス分類はできないが, そういう$x$の集合は$\{x\,|\,y_{k_1}(x)=y_{k_2}(x)\}$の
部分集合となり, 通常次元が落ちる. つまり無視できるぐらいしかない.
\end{itemize}
上記で分類されたクラス$C_k$に属する空間は凸領域となる.
すなわち
$x$, $x'$を$C_K$の点とすると, 任意の$\lambda \in [0, 1]$に対して$x''=\lambda x + (1-\lambda) x'$も$C_k$に属する.
なぜなら$x$, $x' \in C_k$より任意の$j\neq k$に対して$y_k(x) > y_j(x)$, $y_k(x') > y_j(x')$.
$y_k(x)$は$x$について線形なので$\lambda \geq 0$, $1-\lambda \geq 0$より
$$
y_k(x'') = \lambda y_k(x) + (1-\lambda) y_k(x') > \lambda y_j(x) + (1-\lambda) y_j(x') = y_j(x'')
$$
が成り立つからである.
領域内の任意のループを連続的に1点につぶすことが出来る様な領域を単連結(simply connected)という.
凸領域は単連結である. つまりその領域の中に空洞は無い. 任意の凸領域の2点を結ぶ線分が凸領域に入ることから直感的には明らかであろう.
単連結であることを簡単に示しておこう:$X$を凸領域, $S^1=\{(x,y)\,|\,x^2+y^2=1\}$を単位円とする.
$$
f:S^1 \rightarrow X
$$
を$S^1$からXへの連続関数とする. 任意のループは$f(S^1)$で表される.
$t \in [0, 1]$, $\lambda \in [0, 1]$に対して
$$
f_\lambda(t) := \lambda f(t) + (1-\lambda)f(0)
$$
とすると$X$の凸性から$f_\lambda(t) \in X$.
つまり$f_\lambda(S^1)$は$X$内のループ.
$f_0(t)=f(0)$は$X$のある1点. $f_1(t)=f(t)$は元のループだから, これはループ$f(S^1)$を$X$の中で連続的に一点$f(0)$につぶすことが出来ることを示している. つまり$X$は単連結.
\section{分類における最小二乗}
前節では重みベクトル$w_{k0}$を別扱いしたが, $\tilde{w}_k:=\trans{(w_{k0}, \trans{w_k})}$,
$\tilde{x}:=\trans{(1,\trans{x})}$と1次元増やすと$y_k(x)=\trans{\tilde{w}}\tilde{x}$と書ける.
面倒なので$\tilde{x}$を$x$と置き換えてしまおう.
さらにまとめて
$y(x)=\trans{W}x$としよう. $x$, $y$はベクトル, $W$は行列である.
二乗誤差関数
$$
E_D(W):=\half\tr\left(\trans{(XW-T)}(XW-T)\right)
$$
を最小化する$W$を求めよう.
\begin{eqnarray*}
\dif{w_{ij}}E_D(W)
&=& \half\dif{w_{ij}}\sum_{s,t} \left((XW-T)_{st}\right)^2
= \sum_{s,t} (XW-T)_{st} \dif{w_{ij}}(XW-T)_{st}\\
&=& \sum_{s,t} (XW-T)_{st} \dif{w_{ij}}\left(\sum_u x_{su}w_{ut}\right)
= \sum_{s,t,u} (XW-T)_{st} x_{su}\delta_{iu}\delta_{jt}\\
&=& \sum_s (XW-T)_{sj} x_{si}
= \sum_s (\trans{X})_{is} (XW-T)_{sj}
= \left(\trans{X}(XW-T)\right)_{ij}.
\end{eqnarray*}
よって
$$
\dif{W}E_D(W)=\trans{X}(XW-T).
$$
$=0$とおいて
$\trans{X}XW = \trans{X}T$より
$$
W=(\trans{X}X)^{-1}\trans{X}T.
$$
\vspace{0pt}
\section{フィッシャーの線形判別}
まず$D$次元のベクトル$x$の入力に対して$y=\trans{w}x$で1次元に射影する.
$y \ge w_0$なら$C_1$, そうでないなら$C_2$に分類する.
$C_1$の点が$N_1$個, $C_2$の点が$N_2$個とする.
$C_i$の点の平均は
$$
\bmm_i:=\frac{1}{N_i}\sum_{n \in C_i} x_n.
$$
$m_i=\trans{w}\bm{m_i}$として, $|w|^2=\sum_i w_i^2=1$の制約下で
$$
m_2 - m_1=\trans{w}(\bmm_2-\bmm_1)
$$
を最大化してみよう.
ラグランジュの未定乗数法を用いて
$$
f(w):=\trans{w}(\bmm_2-\bmm_1)+\lambda(1-|w|^2)
$$
とおくと
$$
\diff{w}{f}=\bmm_2-\bmm_1-2\lambda w = 0.
$$
よって
$$
w=\frac{1}{2\lambda}(\bmm_2-\bmm_1) \propto (\bmm_2-\bmm_1).
$$
$$
\diff{\lambda}{f}=1-|w|^2=0
$$
より$|w|=1$.
ただしこの手法ではそれぞれのクラスの重心$\bmm_1$と$\bmm_2$とだけで$w$の向きが決まってしまい,
場合によっては二つのクラスの射影が大きく重なってうまく分離できないことがある.
そこでクラス間の重なりを最小にするように分散も加味してみる.
クラス$C_k$から射影されたデータのクラス内の分散を
$$
y_n:=\trans{w}x_n, \quad s_k^2:=\sum_{n\in C_k}(y_n-m_k)^2
$$
で定義し, 全データに対する分散を$s_1^2+s_2^2$とする.
フィッシャーの判別基準は
$$
J(w):=\frac{(m_2-m_1)^2}{s_1^2+s_2^2}
$$
で定義される. この定義を書き直してみよう.
\begin{eqnarray*}&&
S_B:=(\bmm_2-\bmm_1)\trans{(\bmm_2-\bmm_1)},
\\&&
S_W:=\sum_{n \in C_1}(x_n-\bmm_1)\trans{(x_n-\bmm_1)}+\sum_{n \in C_2}(x_n-\bmm_2)\trans{(x_n-\bmm_2)}
\end{eqnarray*}
とする.
$S_B$をクラス間共分散行列, $S_W$を総クラス内共分散行列という.
\begin{eqnarray*}&&
\trans{w}S_B w
= \trans{w}(\bmm_2-\bmm_1)\trans{(\bmm_2-\bmm_1)}w
= (m_2-m_1)^2,
\\&&
\trans{w}S_W w
= \trans{w}\sum_{n \in C_1}(x_n-\bmm_1)\trans{(x_n-\bmm_1)}w+\trans{w}\sum_{n \in C_2}(x_n-\bmm_2)\trans{(x_n-\bmm_2)}w
\\&&\phantom{\trans{w}S_W w }
= \sum_{n\in C_1} (y_n-m_1)^2+\sum_{n\in C_2}(y_n-m_2)^2
\end{eqnarray*}
より
$$
J(w)=\frac{\trans{w}S_B w}{\trans{w} S_W w}.
$$
これが最大となる$w$の値を求めてみよう.
大きさはどうでもよくて向きが重要である.
$$
\dif{w}J(w)=\left(2 (S_B w)(\trans{w} S_W w) - 2 (\trans{w} S_B w) (S_W w)\right)/(\trans{w}S_W w)^2=0.
$$
よって
$$
(\trans{w}S_B w)S_w w = (\trans{w} S_W w)S_B w.
$$
$S_B w = (\bmm_2-\bmm_1)\left(\trans{(\bmm_2-\bmm_1)}w\right)\propto (\bmm_2-\bmm_1)$だから
$$
w \propto S_W^{-1}S_B w \propto S_W^{-1}(\bmm_2-\bmm_1)
$$
のときに$J(w)$が最大となる. これをフィッシャーの線形判別(linear discriminant)という.
\section{最小二乗との関連}
\begin{itemize}
\item 最小二乗法:目的変数の値の集合にできるだけ近いように
\item フィッシャーの判別基準:クラスの分離を最大化するように
\end{itemize}
2クラスの分類のときは最小二乗の特別な場合がフィッシャーの判別基準であることをみる.
フィッシャーの判別基準が, 最小二乗と関係があることが分かるとそちらの議論が使えていろいろ便利なことがある.
クラス$C_i$に属するパターンの個数を$N_i$として全体を$N:=N_1+N_2$とする.
クラス$C_1$に対する目的変数値を$N/N_1$, クラス$C_2$に対する目的変数値を$-N/N_2$とする.
この条件下で二乗和誤差
$$E:=\half\sum_{n=1}^N(\trans{w}x_n+w_0-t_n)^2$$
を最大化してみよう.
$$
\diff{w_0}{E}=\sum(\trans{w}x_n+w_0-t_n)=0
$$
より$\bmm:=(1/N)\sum x_n$とおくと$N \trans{w}m+N w_0 - \sum t_n=0$.
$$\sum t_n=N_1(N/N_1) + N_2(-N/N_2)=0$$
より$w_0=-\trans{w}\bmm$. また
$$
\sum(\trans{w}x_n)x_n=\sum(\trans{x_n}w)x_n=\sum(x_n \trans{x_n})w.
$$
$$
\sum w_0 x_n = N w_0 \bmm = -N(\trans{w}\bmm)\bmm=-N(\bmm \trans{\bmm})w.
$$
$$
\sum t_n x_n = \sum_{n\in C_1} t_n x_n + \sum_{n\in C_2} t_n x_n
= N/N_1(N_1 \bmm_1)+(-N/N_2)(N_2 \bmm_2)=N(\bmm_1-\bmm_2).
$$
よって
$$
\dif{w}E=\sum\left(\trans{w}x_n + w_0-t_n\right)x_n=0
$$
を使うと
$$
\sum(x_n \trans{x_n})w=N(\bmm \trans{\bmm})w+N(\bmm_1-\bmm_2).
$$
これらの式を使って$S_w$を計算する.
\begin{eqnarray*}
S_W
&=& \sum_{n\in C_1} x_n\trans{x_n}-2\sum_{C_1} x_n \trans{\bmm_1}+\sum_{C_1} \bmm_1\trans{\bmm_1} + \sum_{C_2} x_n\trans{x_n} - 2\sum_{C_2} x_n\trans{\bmm_2}\\
&+& \sum_{C_2} \bmm_2 \trans{\bmm_2}
= \sum x_n\trans{x_n}-N_1 \bmm_1 \trans{\bmm_1}-N_2 \bmm_2\trans{\bmm_2}\\
&=&N(\bmm \trans{\bmm})w+N(\bmm_1-\bmm_2)-N_1 \bmm_1 \trans{\bmm_1}-N_2 \bmm_2\trans{\bmm_2}.
\end{eqnarray*}
よって
\begin{eqnarray*}
\left(S_W+\frac{N_1 N_2}{N}S_B\right)w&=&N(\bmm_1-\bmm_2)\\
&+&\Bigl(N\bmm \trans{\bmm}-N_1\bmm_1 \trans{\bmm_1}-N_2 \bmm_2 \trans{\bmm_2}\\
&+&\frac{N_1 N_2}{N} (\bmm_1 -\bmm_2)\trans{(\bmm_1-\bmm_2)}\Bigr)w.
\end{eqnarray*}
$()$内が$0$であることを示す.
\begin{eqnarray*}&&
()
= \frac{1}{N}\outp{\left(N_1 \bmm_1+N_2 \bmm_2\right)}-N_1 \outp{\bmm_1}-N_2 \outp{\bmm_2}
\\&&\phantom{()={}}
+ \frac{N_1 N_2}{N}\left(\bmm_1 \trans{\bmm_2}+\bmm_2 \trans{\bmm_2}\right)
\\&&\phantom{()}
= \left(\frac{N_1^2}{N}-N_1+\frac{N_1 N_2}{N}\right)\outp{\bmm_1}+\left(\frac{2}{N} N_1 N_2 - \frac{2}{N}N_1 N_2\right)\bmm_1\trans{\bmm_2}
\\&&\phantom{()={}}
+ \left(\frac{N_2^2}{N}-N_2+\frac{N_1 N_2}{N}\right)\outp{\bmm_2},
\\&&
\frac{N_1^2}{N}-N_1+\frac{N_1 N_2}{N}=\frac{N_1}{N}(N_1-N+N_2)=0,
\\&&
\frac{N_2^2}{N}-N_2+\frac{N_1 N_2}{N}=\frac{N_2}{N}(N_2-N+N_1)=0.
\end{eqnarray*}
よって
$$
\left(S_W+\frac{N_1 N_2}{N}S_B\right)w=N(\bmm_1-\bmm_2).
$$
$S_Bw\propto(\bmm_2 -\bmm_1)$なので$w \propto S_W^{-1}(\bmm_2 - \bmm_1)$.
\section{確率的生成モデル}
分類を確率的な視点から見る.
生成的アプローチ
\begin{itemize}
\item $p(x\,|\,C_k)$:モデル化されたクラスの条件付き確率密度
\item $p(C_k)$:クラスの事前確率
\end{itemize}
$$
p(C_1\,|\,x)=\frac{p(x\,|\,C_1)\,p(C_1)}{p(x\,|\,C_1)\,p(C_1)+P(x\,|\,C_2)\,p(C_2)}
$$
とする. ロジスティックシグモイド関数を
$$
\sigma(a):=\frac{1}{1+\exp(-a)}
$$
と定義し,
$$
a:=\log \frac{p(x\,|\,C_1)\,p(C_1)}{p(x\,|\,C_2)\,p(C_2)}とすると
$$
$$
\sigma(a)=\frac{1}{1+\frac{p(x\,|\,C_2)\,p(C_2)}{p(x\,|\,C_1)\,p(C_1)}}=p(C_1\,|\,x).
$$
ロジスティックシグモイド関数の関数の性質:
$$
\sigma(-a)=\frac{1}{1+e^a}=1-\frac{e^a}{1+e^a}=1-\frac{1}{1+e^{-a}}=1-\sigma(a).
$$
$$
\sigma(a)=\frac{e^a}{e^a+1}
$$
より$e^a(\sigma(a)-1)=-\sigma(a)$. よって
$$
a=\log \frac{\sigma(a)}{1-\sigma(a)}.
$$
この関数をロジット関数という.
$K>2$クラスの場合, $a_k=\log(p(x\,|\,C_k)\,p(C_k))$より
$$
p(C_k\,|\,x)=\frac{p(x\,|\,C_k)\,p(C_k)}{\sum_j p(x\,|\,C_j)\,p(C_j)}=\frac{\exp(a_k)}{\sum_j \exp(a_j)}
$$
となる. この関数は正規化指数関数, あるいはソフトマックス関数という.
\section{連続値入力}
条件付き確率密度がガウス分布, そのガウス分布の共分散行列($\Sigma=A$)がすべてのクラスで共通と仮定する.
$$
p(x\,|\,C_k)=\frac{1}{(2\pi)^{D/2}}\frac{1}{|A|^{1/2}}\exp\left(-\half\trans{(x-\mu_k)}A^{-1}(x-\mu_k)\right).
$$
\begin{eqnarray*}
a&=& \log \frac{p(x\,|\,C_1)\,p(C_1)}{p(x\,|\,C_2)\,p(C_2)}\\
&=& \log \frac{p(C_1)}{p(C_2)}-\half\trans{(x-\mu_1)}A^{-1}(x-\mu_1)+\half\trans{(x-\mu_2)}A^{-1}(x-\mu_2)\\
&=& \log \frac{p(C_1)}{p(C_2)}-\half\quads{A^{-1}}{\mu_1}+\half\quads{A^{-1}}{\mu_2}+\trans{(\mu_1-\mu_2)}Ax.
\end{eqnarray*}
よって
$$
w_0:=-\half\quads{A^{-1}}{\mu_1}+\half\quads{A^{-1}}{\mu_2}+\log \frac{p(C_1)}{p(C_2)},
$$
$$
w:=A^{-1}(\mu_1-\mu_2)
$$
とおくと$p(C_1\,|\,x)=\sigma(\trans{w}x+w_0)$. つまりロジスティックシグモイド関数の中は$x$について線形.
$K$クラスの場合, 上で定義した$a_k$を用いると
\begin{eqnarray*}
a_k
&=&\log p(C_k)-\half\quads{A^{-1}}{\mu_k}+\trans{\mu_k}A^{-1}x-\half\trans{x}A^{-1}x+\text{const.}\\
&=& a_k'-\half\trans{x}A^{-1}x+\text{const.}
\end{eqnarray*}
ここで$a_k':=\trans{w_k}x+w_{k0}$, $w_k:=A^{-1}\mu_k$, $w_{k0}:=-(1/2)\quads{A^{-1}}{\mu_k}+\log p(C_k)$.
(注)PRML (4.63)の$a_k$の定義だと$x$の2次の項が残るため, 式(4.68)を出すにはそれを除かなければならない.
よって
\begin{eqnarray*}&&
p(C_k\,|\,x)
=\frac{\exp(a_k)}{\sum_j \exp(a_j)}
=\frac{\exp(a_k')\exp\left(-(1/2)\quads{A^{-1}}{x}+\text{const.}\right)}{\sum_j \exp(a_j')\exp\left(-(1/2)\quads{A^{-1}}{x}+\text{const.}\right)}
=\frac{\exp(a_k')}{\sum_j \exp(a_j')}.
\end{eqnarray*}
\vspace{0pt}
\section{最尤解}
条件付き確率分布がガウス分布, それらが共通の共分散行列を持つと仮定する.
2クラスの場合を考える.
データ集合$\{(x_n, t_n)\}$, $n=1, \ldots, N$. $t_n=1$はクラス$C_1$,
$t_n=0$はクラス$C_2$とする\footnote{PRMLでは「データ集合$\{x_n, t_n\}$」と
書かれているが, $x_n$と$t_n$は対であるため括弧で囲った.}.
さらに$p(C_1)=p$, $p(C_2)=1-p$という事前確率を割り当てる. $N_i$をクラス$C_i$のデータの個数, $N=N_1+N_2$を総数とする.
\begin{eqnarray*}
&& p(x_n, C_1)=p(C_1)\,p(x_n\,|\,C_1)=p \,\calN(x_n\,|\,\mu_1, A),
\\
&& p(x_n, C_2)=p(C_2)\,p(x_n\,|\,C_2)=p (1-p) \,\calN(x_n\,|\,\mu_2, A).
\end{eqnarray*}
尤度関数は
$$
p(t,X\,|\,p, \mu_1, \mu_2, A):= \prod^N\left(p \,\calN(x_n\,|\,\mu_1, A)\right)^{t_n} \left((1-p)\,\calN(x_n\,|\,\mu_2,A)\right)^{1-t_n}.
$$
このうち$p$に関する部分の対数は
$$
\sum \left(t_n \log p + (1-t_n) \log (1-p)\right).
$$
$p$で微分して$0$とおく.
$$
\frac{1}{p}\sum t_n - \frac{1}{1-p}\sum (1-t_n)=\frac{1}{p} N_1 - \frac{1}{1-p} N_2=\frac{(1-p)N_1-pN_2}{p(1-p)}=0.
$$
よって$p=N_1/(N_1+N_2)=N_1/N$.
つまり$p$に関する最尤推定は$C_1$内の個数になる.
$K$クラスのときを考えてみよう.
$\sum p_i=1$. 尤度関数は
$$
p(t,X\,|\,p_1, \ldots, p_K, \mu_1, \ldots, \mu_K, A)=\prod_{n=1}^N \prod_{i=1}^K p_i \,\calN(x_n\,|\,\mu_i,A))^{t_{ni}}.
$$
この対数に未定乗数法の$\lambda (\sum p_i - 1)$の項を加え, $p_i$に関する部分を抜き出すと
$$
\sum_n t_{ni} \log p_i+\lambda p_i.
$$
$p_i$で微分して$0$とおくと$\sum_n (t_{ni}/p_i) + \lambda=0$.
よって
$$
-p_i \lambda = \sum_n t_{ni}=N_i
$$
また
$-\sum_i p_i \lambda = -\lambda = \sum_i N_i = N$より$p_i=-N_i/\lambda=N_i/N$.
さて2クラスの問題に戻って$\mu_i$について最大化してみよう. $\mu_1$についての部分は
$$
\sum t_n \log \calN(x_n\,|\,\mu_1,A)=-\half\sum t_n \quads{A^{-1}}{(x_n-\mu_1)} + \text{const.}
$$
$\mu_1$で微分して$0$とおくと
$$
\sum t_n A^{-1}(x_n-\mu_1)=A^{-1} \left(\sum t_n x_n - \mu_1 \sum t_n\right)=A^{-1} \left(\sum t_n x_n - \mu_1 N_1\right)=0.
$$
よって
$$\mu_1=\frac{1}{N_1}\sum t_n x_n.
$$
$\mu_2$については$\sum (1-t_n) \log \calN(x_n\,|\,\mu_2,A)$を考えて
$$
\mu_2=\frac{1}{N_2}\sum (1-t_n)x_n.
$$
最後に$A$に関する最尤解を求める. $A$に関する部分の対数は
\begin{eqnarray*}
&& -\half\sum_{n=1}^N\Bigl(t_n \log |A|+t_n \trans{(x_n-\mu_1)}A^{-1}(x_n-\mu_1)\\
&&+(1-t_n) \log |A|+(1-t_n)\trans{(x_n-\mu_2)}A^{-1}(x_n-\mu_2)\Bigr)\\
&=& -\frac{N}{2}\log |A|\\
&&{}-\half \tr\left(\sum_{n=1}^N\left(t_n A^{-1}(x_n -\mu_1)\trans{(x_n-\mu_1)}+(1-t_n)A^{-1}(x_n-\mu_2)\trans{(x_n-\mu_2)}\right)\right)\\
&=& -\frac{N}{2}\log |A|\\
&&{}-\half \tr\left(A^{-1}\left(\sum_{n\in C_1}(x_n-\mu_1)\trans{(x_n-\mu_1)}+\sum_{n\in C_2}(x_n-\mu_2)\trans{(x_n-\mu_2)}\right)\right)\\
&=& -\frac{N}{2}\log |A| -\half \tr\left(A^{-1}(N_1 S_1 + N_2 S_2)\right)
= -\frac{N}{2}\log |A| -\frac{N}{2} \tr(A^{-1}S)
\end{eqnarray*}
ここで最後の式変形に
$$
S_i:=\frac{1}{N_i}\sum_{n\in C_i}(x_n-\mu_i)\trans{(x_n-\mu_i)},
\hseq
S:=\frac{N_1}{N}S_1+\frac{N_2}{N} S_2
$$
を用いた. これを$A$で微分する.
2章で示した行列式の対数の微分の公式(2):式(\ref{diff_log_mat})
$$
\dif{A}\log|A|=\trans{(A^{-1})}
$$
と式(\ref{diff_tr_invA_B}):
$$
\dif{A}\tr(A^{-1}B)=-\trans{(A^{-1}BA^{-1})}
$$
を使うと
$$
-\frac{N}{2}\left(\trans{(A^{-1})}-\trans{(A^{-1}SA^{-1})}\right)=0.
$$
よって$A=S$となる. これは2クラスの各クラスの共分散行列の重みつき平均である.
またフィッシャーの判別基準で求めた総クラス内共分散行列$S_W$を$N$で割ったものに等しいことにも注意する.
\section{ロジスティック回帰}
2クラス分類問題において, ある程度一般的な仮定の下で$C_1$の事後確率は
$$
p(C_1\,|\,\phi)=y(\phi)=\sigma(\trans{w}\phi)
$$
とかけた. もちろん$p(C_2\,|\,\phi)=1-p(C_1\,|\,\phi)$である.
この式の導出に使った仮定を忘れ, これを出発点としこの形の関数を使うモデルをロジスティック回帰(logistic regression)という.
このモデルにおけるパラメータを最尤法で求める.
$$
\sigma(x)=\frac{1}{1+e^{-x}}
$$
としたとき
\pagebreak
$$
\sigma'(x)
=-\frac{-e^{-x}}{(1+e^{-x})^2}
=\frac{e^{-x}}{(1+e^{-x})^2}
=\frac{1}{1+e^{-x}}\left(1-\frac{1}{1+e^{-x}}\right)
=\sigma(x)(1-\sigma(x)).
$$
データ集合$\{(\phi_n, t_n)\}$,
$t_n\in \{0,1\}$, $\phi_n=\phi(x_n)$, $n=1, \ldots, N$,
$t=\trans{(t_1, \ldots, t_N)}$, $y_n=p(C_1\,|\,\phi_n)=\sigma(a_n)$, $a_n=\trans{w}\phi_n$とする.
尤度関数は
$$
p(t\,|\,w)=\prod_{n=1}^N y_n^{t_n}(1-y_n)^{1-t_n}.
$$
誤差関数は
$$
E(w)=-\log p(t\,|\,w)=-\sum\left(t_n \log y_n + (1-t_n) \log (1-y_n)\right).
$$
$w$で微分してみよう.
まず
$$
\dif{w}y_n=\sigma'(a_n) \phi_n=y_n(1-y_n) \phi_n.
$$
よって
\begin{eqnarray*}
\dif{w}E &=&-\sum\left(t_n (1-y_n)\phi_n + (1-t_n)(-y_n)\phi_n\right)\\
&=& \sum(-t_n+t_n y_n+y_n-y_n t_n)\phi
= \sum(y_n-t_n)\phi_n.
\end{eqnarray*}
$y_n-t_n$は目的値とモデルの予測値との誤差なので,
PRML~3.1.1で扱われた線形回帰モデルのときと同じ形になる.
\section{反復再重み付け最小二乗}
いわゆるニュートン・ラフラソン法は関数$f(x)$の零点を求める方法である:
零点の近似解$x_n$が与えられたときにより近い値$x_{n+1}$を見つける.
$x_n$における接線の方程式$
f'(x_n)(x-x_n)+f(x_n)=0
$
の解を$x_{n+1}$とすると
$
x_{n+1}=x_n - (f'(x_n))^{-1} f(x_n)
$であるが,ここで$n\to\infty$として
得られる$x=\lim_{n\to\infty} x_n$が$f(x)$の零点である.
さて,関数$E(w)$を最小化するためのベクトル$w$を与える更新式を
考えてみると, 最小化を与える$w$は$\dif{w}E(w)$の零点.
$\dif{w}E(w)$の零点を求める問題にニュートン・ラフラソン法を適用する.
$w$を古い値, $w'$を新しい値, $H(w)$を$E(w)$のヘッシアンとする.
$f \longleftrightarrow \dif{w}E(w)$, $f' \longleftrightarrow H(w)$という対応により
$$
w'=w-H(w)^{-1}\dif{w}E(w).
$$
この式を線形回帰モデルに適用してみる.
$$
E(w)=\half\sum\left(t_n-\trans{w}\phi(x_n)\right)^2, \phi_n=\phi(x_n)
$$
を$w$で微分して$\Phi=\trans{(\phi_1, \ldots)}$とおくと
$$
\dif{w}E(w)=\sum(t_n-\trans{w}\phi_n)\phi_n=\sum \phi_n \trans{\phi_n}w-\sum \phi_n t_n=\PhiT \Phi w-\PhiT t.
$$
$$
H=H(w)=\ddif{w_i}{w_j}E(w)=\PhiT \Phi.
$$
更新式に代入すると
$$
w'=w-(\PhiT \Phi)^{-1}(\PhiT \Phi w-\PhiT t)=(\PhiT \Phi)^{-1}\PhiT t.
$$
これは最小二乗解である. つまり1回の更新で厳密解に到達した. 線形回帰モデルは$w$に関して2次なので$\dif{w}E(w)$に関しては1次だからである.
次にロジスティック回帰に適用してみる.
$$
E(w)=-\sum\left(t_n \log y_n + (1-t_n)\log (1-y_n)\right), y_n=\sigma(a_n)=\sigma(\trans{w}\phi_n).
$$
$$
\dif{w}E(w)=\sum (y_n-t_n)\phi_n.
$$
$y_n'=y_n(1-y_n)\phi_n$だったので
$$
H=\sum \phi_n y_n(1-y_n)\trans{\phi_n}=\PhiT R\Phi.
$$
ここで$R=\diag(R_n)=\diag(y_n(1-y_n))$.
$H>0$を確認する.
任意の縦ベクトル$u$に対して$v=\Phi u$とおくと$v\ne 0$ならば
$$
\trans{u}H u=\trans{v}R v=\sum y_n(1-y_n)v_n^2 > 0.
$$
最後の不等号では$0<y_n<1$を用いた. ヘッシアンが正定値であることが分かったので交差エントロピー誤差関数は唯一の最小解を持つ.
$w$の更新式を見てみよう.
\begin{eqnarray*}
w'
&=& w-(\PhiT R\Phi)^{-1}\PhiT(y-t)
= (\PhiT R\Phi)^{-1}(\PhiT R\Phi w - \PhiT(y-t))\\
&=& (\PhiT R\Phi)^{-1}\PhiT R(\Phi w - R^{-1}(y-t))
= (\PhiT R\Phi)^{-1}\PhiT Rz.
\end{eqnarray*}
ここで$z=\Phi w - R^{-1}(y-t)$である.
$R$は$y_n$つまり$w$に依存しているので正規方程式は更新式ごとに計算し直す必要がある.
反復再重み付き最小二乗法(IRLS: iterative reweighted least squares method)という.
$t=1$をクラス$C_1$, $t=0$をクラス$C_2$に割り当てて, それぞれの確率は$y$, $1-y$だから
$$
\EE[t]=y=\sigma(x).
$$
$t^2=t$だから
$$
\var[t]=\EE[t^2]-\EE[t]^2=\EE[t]-\EE[t]^2=y-y^2=y(1-y).
$$
つまり重み付け対角行列$R$の対角成分は分散である.
IRLSを線形近似の解として解釈することも出来る. すなわち$a=\trans{w}\phi$, $y=\sigma(a)$という関係を通じて
$a$を$y$の関数とみなし,
$a_n$を目標値$t_n$の変数とみなして近次解$y_n=\sigma(\trans{w_{\text {old}}}\phi)$のまわりで一次近似を行うと
\begin{eqnarray*}
a_n &\approx& a_n(y_n)+\left.\dif{y_n} a_n \right|_{t_n=y_n}(t_n-y_n)
= \trans{w_{\text {old}}}\phi + \frac{1}{y_n(1-y_n)}(t_n-y_n)\\
&=& \trans{w_{\text {old}}}\phi - \frac{y_n-t_n}{y_n(1-y_n)}
= z_n.
\end{eqnarray*}
つまり$z_n$は線形近似したときの目標変数値と解釈できる.
\section{Jensenの不等式}
実数上の実数値関数$f(x)$が凸関数であるとする.
すなわち任意の$x$, $y$, $0 \le t \le 1$に対して
$$
tf(x) + (1-t)f(y) \ge f(tx+(1-t)y)
$$
である.
$p_1, \ldots, p_n$を足して1になる非負の数, すなわち$\sum_{i=1}^n p_i=1$, $p_i \ge 0$とする.
このとき$n$個の任意の実数$x_1, \ldots, x_n$に対して
$$
\sum_{i=1}^n p_i f(x_i) \ge f\left(\sum_{i=1}^n p_i x_i\right).
$$
これをJensenの不等式という.
証明は数学的帰納法を使う.
$n=1$のときは自明. $n$のとき成り立つとし,
$$
\sum_{i=1}^{n+1} p_i=1
$$
とする.
$q=\sum_{i=1}^n p_i$とおくと$q + p_{n+1}=1$.
$q=0$のときは$p_{n+1}=1$となり上記不等式は自明になりたつ.
\pagebreak
$q \ne 0$のときは
$
\sum_{i=1}^n (p_i/q) = 1
$に注意して計算すると,
\begin{eqnarray*}
\sum_{i=1}^{n+1} p_i f(x_i) &=& q \sum_{i=1}^n (p_i/q) f(x_i) + p_{n+1} f(x_{n+1})\\
&&\text{(帰納法の仮定を用いて)}\\
&\ge& q f\left(\sum_{i=1}^n (p_i/q) x_i\right) + p_{n+1} f(x_{n+1})\\
&&\text{($f$が凸関数であることを用いて)}\\
&\ge& f\left(q \left(\sum_{i=1}^n (p_i/q) x_i\right) + p_{n+1}x_{n+1}\right)
= f\left(\sum_{i=1}^{n+1} p_i x_i\right).
\end{eqnarray*}
\vspace{0pt}
\section{多クラスロジスティック回帰}\label{takurasu}
多クラス分類の事後確率を
$$
p(C_k\,|\,\phi)=y_k(\phi)=\frac{\exp(a_k)}{\sum_j \exp(a_j)},
\hseq a_k=\trans{w_k}\phi
$$
で与えたときに最尤法を用いて直接$w_k$を求めよう.
$$
\dif{a_k}y_k=\frac{\exp(a_k)\left(\sum \exp(a_j)\right)-\exp(a_k)\exp(a_k)}{\left(\sum \exp(a_j)\right)^2}=y_k-y_k^2.
$$
$k\ne j$として
$$
\dif{a_j}y_k=-\frac{\exp(a_k) \exp(a_j)}{(\sum \exp(a_j))^2}=-y_k y_j.
$$
よってこの二つをまとめて
\begin{eqnarray}\label{ch4_mclass}
\dif{a_j}y_k=y_k(\delta_{kj}-y_j).
\end{eqnarray}
さて, 目的変数ベクトル$t_n$を$k$番目の要素だけが1であるものとし,
$(t_n)_k=t_{nk}$, $y_{nk}=y_k(\phi_n)$, $T=(t_{nk})$とおくと,
$$
p(T\,|\,w_1, \ldots, w_k)=\prod_{n=1}^N \prod_{k=1}^K p(C_k\,|\,\phi_n)^{t_{nk}}=\prod_{n,k} y_{nk}^{t_{nk}}.
$$
交差エントロピー誤差関数は
$$
E=-\log p(T\,|\,w_1, \ldots, w_k)=-\sum_{n,k} t_{nk} \log y_{nk}.
$$
よって
\begin{eqnarray*}
\dif{w_j}E
&=& -\sum_{n,k} t_{nk} \frac{y_k(\phi_n)(\delta_{kj}-y_j(\phi_n))}{y_k(\phi_n)}\phi_n
= -\sum_{n,k} t_{nk}(\delta_{kj} -y_{nj})\phi_n
\\
&=& - \sum_n \left(\left(\sum_k t_{nk} \delta_{kj}\right)-\left(\sum_k t_{nk}\right)y_{nj}\right)\phi_n
= -\sum_n (t_{nj}-y_{nj})\phi_n
\\
&=& \sum(y_{nj}-t_{nj})\phi_n.
\end{eqnarray*}
やはり誤差$y_{nj}-t_{nj}$と基底関数$\phi_n$の積となる.
ヘッシアンをみる.
$$
\dif{w_k}y_{nj}=\dif{w_k}y_j(\phi_n)=y_k(\phi_n)(\delta_{kj}-y_j(\phi_n))\phi_n=y_{nk}(\delta_{kj}-y_{nj})\phi_n
$$
より
$$
H = \ddif{w_k}{w_j}E
= \sum_n y_{nk}(\delta_{kj}-y_{nj})\phi_n \trans{\phi_n}.
$$
$H$が正定値であることを示そう.
任意の$M\times K$次元ベクトルを$u=\trans{(\trans{u_1}, \ldots, \trans{u_K})}$, $u_k$は$M$次元ベクトルとする.
$v_{nk}=\trans{u_k}\phi_n$, $f(x)=x^2$とおく. $f(x)$は下に凸.
\begin{eqnarray*}
\trans{u}H u
&=& \sum_{n,k,j} y_{nk}(\delta_{kj}-y_{nj})(\trans{u_k}\phi_n)(\trans{\phi_n}u_j)\\
&=& \sum_n\left(\sum_{k,j} y_{nk}\delta_{kj} v_{nk} v_{nj} - \sum_{k,j} y_{nk} y_{nj} v_{nk} v_{nj}\right)\\
&& ({\text 一般に}\left(\sum_k x_k\right)^2=\left(\sum_k x_k\right)\left(\sum_j x_j\right) = \sum_{k,j} x_k x_j{\text より})\\
&=& \sum_n \left(\sum_k y_{nk}v_{nk}^2 - \left(\sum_k y_{nk} v_{nk}\right)^2\right).
\end{eqnarray*}
ここで$\sum_k y_{nk}=1$, $0 < y_{nk} < 1$よりJensenの不等式を適用すると
$\trans{u}H u \ge 0$.
\section{プロビット回帰}
指数型分布族で表される条件付き確率分布に対して, クラスの事後確率はある線形関数とロジスティック(またはソフトマックス)関数の合成で表された.
$a=\trans{w}\phi$, $f(a)$を活性化関数として
$$
p(t=1\,|\,a)=f(a).
$$
と書ける範囲でもう少し考察する. $f(a)$がある確率密度$p(\theta)$の累積分布関数で表されるとする.
とくに$p(\theta)=\calN(\theta\,|\,0,1)$のとき累積分布関数は
$$
\Phi(a)=\int_{-\infty}^a \calN(\theta\,|\,0,1)\,d\theta.
$$
この逆関数をプロビット関数(probit)という. 誤差関数を
$$
\makeop{erf}(a)=\frac{2}{\sqrt{\pi}}\int_0^a \exp\left(-\theta^2\right) d\theta
$$
で定義する.
$x=\theta/\sqrt{2}$とおくと$dx=d\theta/\sqrt{2}$.
\begin{eqnarray*}
\Phi(a)
&=& \int_{-\infty}^a = \int_{-\infty}^0 + \int_0^a=\half+\int_0^a \frac{1}{\sqrt{2\pi}}\exp\left(-\frac{\theta^2}{2}\right) d\theta\\
&=&\half+\int_0^{a/\sqrt{2}}\frac{1}{\sqrt{2\pi}}\exp\left(-x^2\right)\sqrt{2}\,dx\\
&=&\half\left(1+\frac{2}{\sqrt{\pi}}\int_0^{a/\sqrt{2}} \exp\left(-x^2\right) dx\right)
=\half\left(1+\makeop{erf}\left(\frac{a}{\sqrt{2}}\right)\right).
\end{eqnarray*}
プロビット活性化関数を用いた一般化線形モデルをプロビット回帰という.
$x\rightarrow\infty$でロジスティック回帰の微分は$\sigma'(x)=\exp(-x)/(1+\exp(-x))^2 \sim \exp(-x)$.
プロビット回帰の微分は$\Phi'(x) \sim \exp(-x^2)$. つまりプロビット関数の逆関数はロジスティック関数よりも急速に1に近づき平らになる. プロビット回帰の方が外れ値に敏感.
\section{正準連結関数}
活性化関数として正準連結関数(canonical link function)と呼ばれるものを使い, 条件付き確率分布に指数型分布族を選んだときに誤差関数の微分が
「誤差」$\times$「特徴ベクトル」という形で書けることを示そう.
$$
p(t\,|\,\eta,s)=\frac{1}{s}h(t/s)g(\eta)\exp\left(\frac{\eta t}{s}\right)
$$
とする. 確率なので$\int p(t\,|\,\eta,s)\,dt=1$.
つまり
$$
g(\eta)\int h(t/s) \exp\left(\frac{\eta t}{s}\right) dt=s.
$$
$\eta$で微分して
\begin{eqnarray*}
&& \left(\dif{\eta}g(\eta)\right) \int h(t/s)\exp\left(\frac{\eta t}{s}\right) dt+g(\eta)\int (t/s) h(t/s) \exp\left(\frac{\eta t}{s}\right) dt\\
&&= \left(\dif{\eta}g(\eta)\right)\left(\frac{s}{g(\eta)}\right)+\int t p(t\,|\,\eta,s)\,dt
= s\dif{\eta}\log g(\eta) + \EE[t] = 0.
\end{eqnarray*}
よって
$$
y=\EE[t]=-s\dif{\eta} \log g(\eta).
$$
$y$が$\eta$の関数として表せた.
この逆関数が存在するとしてそれを$\eta=\psi(y)$と書くことにする.
$y$を連結関数$f(a)$と$w$の線形関数の合成,
$$
y=f(\trans{w}\phi)
$$
と書けるモデルを考える. 対数尤度関数は
$$
\log p(t\,|\,\eta,s)=\sum_{n=1}^N \log p(t_n\,|\,\eta,s)=\sum_{n=1}^N \left(\log g(\eta_n) + \frac{\eta_n t_n}{s}\right) + \text{const.}
$$
を考える. ここで$s$と$\eta$は独立, $\eta_n=\phi(y_n)$, $y_n=f(a_n)$, $a_n=\trans{w}\phi_n$.
パラメータが多いので依存関係に注意して微分する.
\begin{eqnarray*}&&
\dif{w}\eta_n=\psi'(y_n)f'(a_n)\phi_n,
\\&&
\dif{w}\log g(\eta_n)=\frac{g'(\eta_n)}{g(\eta_n)}\psi'(y_n)f'(a_n)\phi_n=-\frac{y_n}{s}\phi'(y_n)f'(a_n)\phi_n.
\end{eqnarray*}
よって
$$
\dif{w} \log p(t\,|\,\eta,s)=\sum_n \frac{1}{s}(t_n-y_n)\psi'(y_n)f'(a_n)\phi_n.
$$
連結関数として$f^{-1}(y)=\psi(y)$となるものを使ってみよう. $f(\psi(y))=y$を$y$で微分して
$$
f'(\psi(y))\psi'(y)=1.
$$
同じことだが$a=f^{-1}(y)=\psi(y)$を使って
$$
f'(a)\psi'(y)=1.
$$
よって
$$
\dif{w}E(w)=-\dif{w} \log p(t\,|\,\eta,s)=\frac{1}{s}\sum_n (y_n - t_n)\phi_n.
$$
「誤差」$\times$「特徴ベクトル」という形で書けることが分かった.
\section{ラプラス近似}
ロジスティック回帰のベイズ的な扱いは解析的に難しい.
ここではラプラス近似というものを紹介する. これは連続変数上の確率密度分布をあるガウス分布で近似することである(当然複数の山があると辛い).
$$
p(z)=\frac{1}{Z}f(z)
$$
$Z=\int f(z)\,dz$は正規化係数で未知とする. $p(z)$のモード, つまり最大値を与える$z_0$を探そう.
暗に山形を仮定しているので$f(z_0)>0$, $f''(z)<0$とする.
$f'(z_0)=0$だから$\log f(z)$を$z=z_0$の付近でテイラー展開すると
\begin{eqnarray*}
\log f(z) &\approx& \log f(z_0) + \frac{f'(z_0)}{f(z_0)}(z-z_0)+\half\frac{d^2}{dz^2} \log f(z_0) (z-z_0)^2\\
&=& \log f(z_0) + \half\frac{d^2}{dz^2} \log f(z_0) (z-z_0)^2.
\end{eqnarray*}
$$
A=\left.-\frac{d^2}{dz^2}\log f(z) \right|_{z=z_0}
$$
とおくと
$$
\log f(z) \approx \log f(z) - \half A(z-z_0)^2.
$$
つまり
$$
f(z) \approx f(z_0) \exp\left(-\half A(z-z_0)^2\right).
$$
よって正規分布で近似すると
$$
q(z)=\left(\frac{A}{2\pi}\right)^{1/2} \exp\left(-\half A(z-z_0)^2\right).
$$
$M$次元の場合を考える. $p(z)=(1/Z)f(z)$. $z=z_0$が最大値を与えるなら$p(z_0)>0$, $\dif{z}f(z_0)=0$.
1次元と同様に
$$
A=\left.-\ddif{z_i}{z_j} \log f(z) \right|_{z=z_0}
$$
とすると$A>0$(正定値)で
$$
f(z) \approx f(z_0) \exp\left(-\half\trans{(z-z_0)}A(z-z_0)\right).
$$
よって
$$
q(z)=\calN(z\,|\,z_0,A^{-1})=\sqrt{\frac{|A|}{(2\pi)^M}} \exp\left(-\half\trans{(z-z_0)}A(z-z_0)\right).
$$
山が複数ある多峰的なときはどのモードを選ぶかでラプラス近似は異なる.
総的的にデータ数が多くなるとガウス分布に近づくので近似はよくなるが, ある点での近傍の情報しか利用していないため大域的な特徴がとらえられるとは限らない.
\section{モデルの比較とBIC}\label{ch4_bic}
前節のラプラス近似を行うと正規化係数$Z$の近似も分かる. ガウス分布の特性から
\begin{eqnarray}\label{ch4_approx}
Z&=&\int f(z)\,dx
\approx \int f(z_0) \exp\left(-\half\trans{(z-z_0)}A(z-z_0)\right) dx
= f(z_0)\sqrt{\frac{(2\pi)^M}{|A|}}.
\qquad
\end{eqnarray}
データ集合$D$, パラメータ$\{\theta_i\}$の集合$\{M_i\}$を考えて各モデルに対して$p(D\,|\,\theta_i, M_i)$を定義する.
事前確率$p(\theta_i\,|\,M_i)$を決めてモデルエビデンス$p(D\,|\,M_i)$を計算してみよう. 以下$M_i$を略す.
また行列作用素$(\ddif{\theta_i}{\theta_j})$を$\nabla^2$と書くことにする.
$$
p(D)=\int p(D\,|\,\theta)\,p(\theta)\,d\theta.
$$
$f(\theta)=p(D\,|\,\theta)\,p(\theta)$, $Z=p(D)$とすると$\theta=\theta_{\text{MAP}}$のときのラプラス近似を用いて
$$
A=-\nabla^2 \log p(D\,|\,\theta_{\text{MAP}})\,p(\theta_{\text{MAP}}).
$$
\begin{eqnarray*}
\log p(D)&=&\log Z \approx \log f(\theta_{\text{MAP}}) + \log \sqrt{\frac{(2\pi)^M}{|A|}}\\
&=&\log p(D\,|\,\theta_{\text{MAP}})+\left(\log p(\theta_{\text{MAP}})+\frac{M}{2} \log (2\pi) - \half \log |A|\right).
\end{eqnarray*}
括弧内の後ろ三項をOccam係数という.
この値をごくごく粗く近似してみる.
$$
p(\theta)=\calN(\theta\,|\,m,B^{-1}),
$$
$$
H=-\nabla^2\log p(D\,|\,\theta_{\text{MAP}})
$$
とすると
$$
A=H-\nabla^2\log p(\theta_{\text{MAP}})=H+B.
$$
$$
\log p(\theta)=\log|B|^{1/2}-(M/2)\log(2\pi)-(1/2)\trans{(\theta-m)}B{(\theta-m)}
$$
を使って
$$
\log p(D) \approx \log p(D\,|\,\theta_{\text{MAP}})-\half\trans{(\theta_{\text{MAP}}-m)}B(\theta_{\text{MAP}}-m)-\half\log |H+B|+\half\log |B|.
$$
データ集合$D$の点の個数を$N$とし, それぞれが独立であると考えると$H$の各要素は$O(N)$. $B$は$N$や次元の数$M$には依存しないので$M$, $N$を大きくしたとき無視できるとすると$C$を定数として
$$
\log |H| \approx \log \prod^M (N C) = M \log N + M \log C \approx M \log N.
$$
よって
$$
\log p(D) \approx \log p(D\,|\,\theta_{\text{MAP}}) - \half M \log N.
$$
これをベイズ情報量基準(Bayesian Information Criterion, BIC)と呼ばれるモデルの良さを評価するための指標に一致する.
かなり無理筋な近似ではあるが, ラプラス近似が(別の方法で導出される)BICと関連があることを暗示している.
\section{ディラックのデルタ関数}
ヘヴィサイド関数$H(x)$を$\RR$から$\RR$への関数で
$$
H(x)=
\begin{cases}
1 & (x>0), \\
0 & (x \le 0)
\end{cases}
$$
と定義する. 気持ち的にはデルタ関数はヘヴィサイド関数の微分である.
$$
H'(x) = \delta(x).
$$
$x=0$以外では微分すると$0$で, $x=0$では無限大になるので
$$
\delta(x)=
\begin{cases}
\infty & (x=0), \\
0 & (x \neq 0)
\end{cases}
$$
という感じである.
ただ, 実際にはデルタ関数は積分を通してしか扱われない. 厳密には測度論や関数解析の理論を用いて正当化されなければならないが
次のような関係式が成り立つ.
$$
\int_{-\infty}^\infty \delta(x)\,dx = \Bigl[H(x)\Bigr]_{-\infty}^\infty = H(\infty) - H(-\infty) = 1.
$$
実数値関数$f(x)$に対して部分積分を適用すると
\begin{eqnarray*}
\int_{-\infty}^\infty f(x) \delta(x)\,dx &=& \Bigl[H(x)f(x)\Bigr]_{-\infty}^\infty - \int_{-\infty}^\infty H(x) f'(x)\,dx\\
&=& f(\infty) - \int_0^\infty f'(x)\,dx
= f(\infty) - (f(\infty) - f(0))
= f(0).
\end{eqnarray*}
\vspace{0pt}
\section{ロジスティックシグモイド関数とプロビット関数の逆関数}
\begin{itemize}
\item[] ロジスティックシグモイド
$$\sigma(a) = \frac{1}{1+e^{-a}}.$$
\item[] プロビット関数の逆関数
$$\Phi(a) = \int_{-\infty}^a \calN(\theta\,|\,0,1)\,d\theta.$$
\end{itemize}
$\Phi(\lambda a)$で$\sigma(a)$を近似するように$\lambda$を調節する.
近似にあたっては, これらが原点で同じ傾きをもつようにしよう.
\pagebreak
\begin{eqnarray*}&&
\sigma'(0)
=\sigma(a)(1-\sigma(a))\Bigr|_{a=0}
=\half\left(1-\half\right)=\frac{1}{4},
\\&&
\left.\dif{a}\left(\Phi'(\lambda a)\right)\right|_{a=0}
=\left.\frac{1}{\sqrt{2\pi}}\lambda
\exp\left(-\half(\lambda a)^2\right)\right|_{a=0}
=\frac{\lambda}{\sqrt{2\pi}}.
\end{eqnarray*}
この二つが等しいので
$
\sfrac{\lambda}{\sqrt{2\pi}}=\sfrac{1}{4}
$
より$\lambda=\sqrt{\pi/8}$を得る.
$\Phi$と$\calN$に関する畳み込み計算の関係式:$\lambda>0$として
\begin{equation}\label{inv_probit}
\int_{-\infty}^\infty \Phi(\lambda a)\,\calN(a\,|\,\mu,\sigma^2)\,da=\Phi\left(\frac{\lambda \mu}{\sqrt{1+\lambda^2\sigma^2}}\right).
\end{equation}
これを示そう. 左辺を$L$, 右辺を$R$とおく.
まずガウス分布に関する積分を簡単にする.
$$
\calN(a\,|\,\mu,\sigma^2)=\frac{1}{\sqrt{2\pi}\sigma}\exp\left(-\frac{1}{2\sigma^2}(x-\mu)^2\right).
$$
$$
f(x)=\calN(x\,|\,0,1)=\frac{1}{2\pi}\exp\left(-\half x^2\right)
$$
とおく.
$$
\Phi(x)=\int_{-\infty}^x f(y)\,dy.
$$
$a=\mu+\sigma x$とおくと$da=\sigma dx$で
$$
\calN(a\,|\,\mu,\sigma^2)=\frac{1}{\sqrt{2\pi}\sigma}\exp\left(-\frac{1}{2\sigma^2}(\mu+\sigma x-\mu)^2\right)=\frac{1}{\sigma}\frac{1}{\sqrt{2\pi}}\exp\left(-\half x^2\right)=\frac{f(x)}{\sigma}.
$$
よって
$$
L=\int_{-\infty}^\infty \Phi(\lambda \mu+\lambda\sigma x)\frac{f(x)}{\sigma}\sigma\,dx=\int_{-\infty}^\infty\Phi(\lambda \mu + \lambda \sigma x)f(x)\,dx.
$$
まず$L$と$R$の$\mu$に関する微分が等しいことを示す. $\Phi'(x)=f(x)$なので
\begin{eqnarray*}
\dif{\mu}R&=&f\left(\frac{\lambda \mu}{\sqrt{1+\lambda^2\sigma^2}}\right) \frac{\lambda}{\sqrt{1+\lambda^2\sigma^2}},
\\
\dif{\mu}L&=&\int_{-\infty}^\infty \lambda f(\lambda \mu + \lambda \sigma x)f(x)\,dx
\\
&=& \lambda \int_{-\infty}^\infty \left(\frac{1}{\sqrt{2\pi}}\right)^2\exp\left(-\half(\lambda\mu+\lambda \sigma x)^2-\half x^2\right) dx.
\end{eqnarray*}
$\exp()$の内側を$x$について平方完成しよう:
\begin{eqnarray*}
&&-\half\left((\lambda\sigma)^2+1\right)x^2+2\lambda^2\mu \sigma x + \lambda^2 \mu^2)\\
&&\quad=-\half\left(\left(\sqrt{1+\lambda^2\sigma^2}x+\frac{\lambda^2\mu \sigma}{\sqrt{1+\lambda^2\sigma^2}}\right)^2+\lambda^2 \mu^2-\frac{\lambda^4 \mu^2 \sigma^2}{1+\lambda^2 \sigma^2} \right).
\end{eqnarray*}
定数項は
$$
\lambda^2\mu^2-\frac{\lambda^4 \mu^2 \sigma^2}{1+\lambda^2 \sigma^2}=\frac{\lambda^2\mu^2+\lambda^4\mu^2\sigma^2-\lambda^4\mu^2\sigma^2}{1+\lambda^2 \sigma^2}=\frac{\lambda^2\mu^2}{1+\lambda^2 \sigma^2},
$$
$$
\int_{-\infty}^\infty\exp\left(-\frac{1}{2\sigma^2}x^2\right) dx=\sqrt{2\pi}\sigma
$$