関数近似で行う予測・識別|はじめてのパターン認識6,7,8章 #4

f:id:lib-arts:20190107172430p:plain

1では1章〜2章の内容、#2では3章〜4章の内容、#3では5,10章の内容を取り扱いました。

#4では、6,7,8章の内容をベースに関数で規則を構成する方法について取り扱えればと思います。以下、目次になります。


1. 6章内容(線形識別関数)
1.1 線形識別関数の定義(6.1)
1.2 最小2乗誤差基準によるパラメータの推定(6.2)
1.3 線形判別分析(6.3)
1.4 ロジスティック回帰(6.4)
2. 7章内容(パーセプトロン型学習規則)
2.1 パーセプトロン(7.1)
2.2 誤差逆伝播法(7.2)
2.3 誤差逆伝播法の学習特性(7.3)
3. 8章内容(サポートベクトルマシン)
3.1 サポートベクトルマシンの導出(8.1)
3.2 線形分離可能でない場合への拡張(8.2)
3.3 非線形特徴写像(8.3)
3.4 ν-サポートベクトルマシン(8.4)
3.5 1クラスサポートベクトルマシン(8.5)
4. まとめ&補足

 


1. 6章内容(線形識別関数)

 線形関数を用いた識別に関して色々とまとまっています。
特に6.2と6.4の内容は近年話題のDeepLearning系に繋げやすいので、初見の際はこの辺を重点的に確認すると良いのではと思います。6.1はベースの考え方として抑えると良いと思います。6.3は初見の際は飛ばして良いかと思います。


1.1 線形識別関数の定義(6.1)

上記のPRMLの4章の4.1.1〜4.1.2の読解メモで書いた内容と被るため省略します。


1.2 最小2乗誤差基準によるパラメータの推定(6.2)

6.2では最小2乗誤差基準について取り扱われています。
ここでは6.2.1節でまとめられている正規方程式の理解ができると色々なところで非常に役に立ちます。というのもこの正規方程式は基礎統計(統計検定2級)レベルの中心的な内容である回帰分析における最小二乗法をより一般的な形で解いたものだからです。ここでは識別(分類)問題について取り扱っていますが、最適化(最小値)問題を解く過程に関しては分類も回帰も変わらないので、6.2.1でまとめられている正規方程式の導出過程は回帰問題にも適用できます。
行列表記でシンプルに導出過程を記述しており、ぼかし過ぎず複雑過ぎず書かれているので、ここの導出過程は抑えておく方が良いと思います。途中でベクトルの微分について出てきますが、こちらについては実際に成分に分解して一度数式展開して理解しておくと良いと思います。詳しく書くと分量が増えるので、数式展開に関しては別記事でまとめられればと思います。
6.2.2は初見の際は読み流して良いかと思います。


1.3 線形判別分析(6.3)

 初見の際は飛ばして良いかと思います。


1.4 ロジスティック回帰(6.4)

6.4のロジスティック回帰は簡単な分析において応用しやすいことと、現在画像認識を中心に多く用いられているディープラーニングニューラルネットワークが元になっているのですが、そのニューラルネットワークがロジスティック回帰が実はベースになっているという理由から6.4節は力を入れて読むと良いかと思います。
PRMLにも同様の論述はいくつか見受けられるのですが、ちょっと表現が難しいので、こちらの本でまずは大体の理解をしておけると良いかと思います。

6.4.1ではロジスティック回帰において用いられるロジスティック関数の紹介がされています。ここの導出はなるべく抑えておくと良いと思うのですが変形が難しそうに見えるようでしたら、(6.59)と図6.9の対応だけでも頭に焼き付けると良いと思います。ロジスティック関数を用いることで、-∞では0、0では0.5、∞では1となる単調増加の変換を行うことができます。ちなみにこのロジスティック関数は正規分布の累積密度関数に近い関数かつ数値的に取り扱いやすいということもよく用いられている理由の一つのようです。

6.4.2では6.4.1のロジスティック関数を用いてロジスティック回帰モデルの話についてまとめられています。『ロジスティック回帰モデルは事象の有無が{0,1}で表し、事象の生起確率をロジスティック関数で表すモデル』と述べられています。ここの数式は余裕があったら抑えるで十分だと思います。また、ここで言及されている一般化線形モデル(generalized linear model)は『はじめてのパターン認識』ではそれほど出てきませんが、統計モデリング的な話だとよく出てくるので、言葉だけでも抑えておくと良いかと思います。GLMの詳細に関しては、以下の記事でまとめていますので詳しく知りたい方は下記の記事をご確認ください。

6.4.3では、ロジスティック回帰モデルの最尤推定を用いたパラメータ推定についてまとめています。最尤法をロジスティック回帰モデルに適用することで、交差エントロピー型誤差関数(cross-entropy error function)を導いています。交差エントロピー型誤差関数はニューラルネットワークの誤差関数においてもベースとして用いられているのでこの導出過程は非常に興味深い論理展開になります。交差エントロピー型誤差関数を用いたこの最適化問題の解の導出にあたっては解析的な(数学的な)導出はできないため、最急降下法ニュートン-ラフソン法(Newton-Raphson法)などで数値的に解を求めることになるとされています。最急降下法(勾配降下法)は1次微分ニュートン-ラフソン法では2次微分を主に用います。ちなみに近年では最適化手法としてはAdamが有名ですが、論文内で『高次の微分はコストがかかるので、1次微分を主に用いた』という記述が見受けられ、勾配を中心に用いる方法の方が主流なのではという印象です。

6.4.4ではロジスティック回帰モデルの多クラス分類問題への拡張に関してまとめられています。ここではロジスティック関数がソフトマックス関数へと拡張されますが、このソフトマックス関数はDeepLearningの出力層でよく用いられるので抑えておくと良いと思います。


2. 7章内容(パーセプトロン型学習規則)
2.1 パーセプトロン(7.1)
2.2 誤差逆伝播法(7.2)
2.3 誤差逆伝播法の学習特性(7.3)

近年DeepLearningの発展により様々な書籍や解説などが出ているので、ここでは一旦省略します。
(後日他の記事とのバランス見て追記するかもしれません)


3. 8章内容(サポートベクトルマシン)

8章のサポートベクトルマシンは『はじめてのパターン認識』が出版された2012年頃はよく聞いていたのですが、最近だとディープラーニング(ニューラルネットワーク)やxgboost(決定木系のアルゴリズム)の方がよく聞く印象です。そのため本の中ではよく使われていると言及されていますが、この辺は2012年に書かれたことは意識する必要があります。
とはいえ、基本的な原理は抑える方が良いと思うので、8.1だけは軽く読んで雰囲気をつかんでおくと良いと思います。こちらの記事でも8.1だけ補足を行い、残りは他の記事とのバランスを見て必要そうであれば後日追記としたいと思います。


3.1 サポートベクトルマシンの導出(8.1)

8.1ではサポートベクトルマシン(SVM; Support Vector Machine)の導出について解説されています。SVMは『クラス間マージンから導かれる、最大マージンDmaxを実現する2クラス線形識別関数の学習法である』とされています。
8.1.1では最大マージンから制約条件の元でのwのノルムの最小化の問題を導出しています。この議論を元に、8.1.2の冒頭部の不等式制約条件最適化問題の主問題[1]を導いています。この問題を解くにあたって、ラグランジュの未定乗数法を用いて(8.7)の最適化に落としているのですが、ここで解となるw0とb0がKKT(Karush-Kuhn-Tucker)条件を満たすことから双対問題[1]を導き、(8.9)や(8.10)を解くことで得たαを元に分類平面を導きだすことができる。また、この時のαを(8.12)に代入することで、Dmaxの値も求めることができます。


3.2 線形分離可能でない場合への拡張(8.2)
3.3 非線形特徴写像(8.3)
3.4 ν-サポートベクトルマシン(8.4)
3.5 1クラスサポートベクトルマシン(8.5)

前述のように一旦省略します。


4. まとめ&補足

6~8章を全体通して見た印象としては、DeepLearningが様々なシーンで用いられている昨今の事情を鑑みるに、そのベースとなる考え方のロジスティック回帰を抑えておくと良いのではと思いました。
7章についても他の記事とのバランス感を見て随時補足していければと思っています。
8章についてはPRMLの6章、7章に同様のテーマが取り扱われているのでそちらを先にまとめたいと思います。