概要
2クラスの問題を考えます。データが与えられたとき、それがクラスに属する確率は、確率的生成モデル - シグモイド関数で書いた通り、シグモイド関数を用いて
と書けました。これを使ったモデルをロジスティック回帰と呼びます。回帰という名称ですが、分類のためのモデルです。シグモイド関数の導出にあたっては、の条件付き確率などを用いて計算しましたが、解を求めるにはシグモイド関数にの線形関数を入れて最尤推定をすれば良いです。導出の背景で確率的生成モデルを考えたはずですが、結局じゃあどんな分布からデータが生成されるのかは考慮しなくても良いんですね、、。いろいろな分布を考えてもの線形結合で表されるから*1ということかと思いますが、この辺は少しもやもやがあります。
ロジスティック回帰によって求められるものは以下の図のようなイメージです。
平面上の赤、青の点が与えられたデータで、3次元で表した曲面がシグモイド関数、つまり式(1)の出力です。縦軸を確率として考え、0.5を閾値として赤、青どちらのクラスであるかを判別します。この識別境界は式(1)の係数によって決定されますから、これを最尤推定によって求めていきます。
最尤推定と数値計算のための勾配導出
最尤推定により最適なパラメータを求めていきます。ですから、正解ラベルをとすれば、とは
と、まとめて書けます。シグモイド関数の出力範囲は]ですから確率と解釈することができました。したがって、訓練データ、が与えられたとき、尤度関数は
となり、これを最大化するが求める解です。*2 とし、積の計算を簡単にするためにの対数をとれば、
となります。ここでと定義すれば、求める解は、を最小にするです。なおは交差エントロピー誤差関数と呼びます。名前はどうでもいいですが、の最小値はシグモイド関数が入っていて解析的に求められません。そこで勾配法などのアルゴリズムを使うため、偏微分係数を求めます。とすれば、合成関数の微分とシグモイド関数の微分より、
となります。非常にすっきりとした形になりました。さて、これを用いて最急降下法により解を求めることができますが、最急降下法よりも効率の良いニュートン法というアルゴリズムを使うため、次はヘッセ行列を求めます。
まだ数値計算のための数式変形が続きますが、最終的な実験結果はこちらです。 www.iwanttobeacat.com
*2:尤度について参考:線形回帰を最尤推定で解く(尤度とは?))