線形回帰とロジスティックシグモイド:確率的識別モデルの数学的な解説
はじめに
この記事では、線形回帰とロジスティックシグモイドを組み合わせた確率的識別モデルについて、数式を用いて解説していきます。
1. 線形回帰の数学的表現
線形回帰では、特徴ベクトル $\mathbf{w}$ とパラメータベクトル $\mathbf{x}$、を用いて、以下のような線形な関係がモデル化されます。このときバイアス項は含まれているとします。
$$
f(\mathbf{x}) = \mathbf{w} ^T \mathbf{x}
$$
2. ロジスティックシグモイド関数の数学的表現
ロジスティックシグモイド関数 S(x) は、以下のようにあらわされます。
$$
S(x) = \frac{1}{1 + e^{-x}}
$$
入力$[-∞,∞]$を受け取り、$[0,1]$を出力します。以下のような関数です。
3. 確率的識別モデルの構築
2クラス分類の場合を考えます。今回は事例の組$ (\mathbf{x}_i,t_i)(\mathbf{x}_iはD+1次元ベクトル)(i=1...N) (t_iは0または1)$が与えられるとします。そのデータ$\mathbf{x}_i$の属するクラスが1がある確率は以下で表せます。$$ Pr(t_i=1|\mathbf{x}_i)$$
このとき$ Pr(t_i=1|\mathbf{x}_i) > 0.5$のときに$\mathbf{x}_i$はクラス1に属すると考え、$ Pr(t_i=1|\mathbf{x}_i) < 0.5$のときにクラス2に属すると考えることができます。特定のクラスに属する確率を出力するので、確率的識別モデルと呼ばれます。
続いてはどうやって、確率を出力するかを考えます。このとき役立つのが、ロジスティックシグモイド関数です。確率は以下のようになると考えます。
$$
P(t_i=1 | \mathbf{x}) = S(\mathbf{w} ^T \mathbf{x})
$$
線形回帰$\mathbf{w} ^T \mathbf{x}_i$をロジスティックシグモイド関数$S(\mathbf{x})$に通し、$[0,1]$に返します。実際にはわからない確率関数をこのように定めて、$\mathbf{w}$のパラメータを調整することによって、正しく確率が出力されるように精度を上げていきます。
4. パラメータの学習
モデルのパラメータ$\mathbf{w}$ は、訓練データを用いて更新します。更新には評価を行う関数を定める必要があります。
尤度関数 $L(\mathbf{w})$ は次のように表されます。
$$
L(\mathbf{w}) = \prod_{i=1}^{N} Pr(t_i=1|\mathbf{x}_i; \mathbf{w})^{t_i} \cdot \left(1 - Pr(t_i=1|\mathbf{x}_i; \mathbf{w})\right)^{1 - t_i}
$$
この尤度関数を最大化することにより、ロジスティック回帰モデルのパラメータ $\mathbf{w}$ を変更することが一般的です。また、この尤度関数は最大化を行う必要がありますが、対数を取ることで今までと同じ最小化で考えることができます。これは交差エントロピー損失と呼ばれます。
$$
E(\mathbf{w}) =-ln(L(\mathbf{w}))= \sum_{i=1}^{N} \left[ t_i \log(Pr(t_i=1|\mathbf{x}_i; \mathbf{w})) + (1 - t_i) \log(1 - Pr(t_i=1|\mathbf{x}_i; \mathbf{w})) \right]
$$
交差エントロピー損失の最小化には主に解析的に解く方法と、最急降下法で解く方法の2通りありますが、シグモイド関数で狭まっているため、最急降下法で解くことになります。
パラメーターの最急降下法による更新
前節で交差エントロピー損失関数を偏微分して、パラメータの更新式を導きます。
最急降下法の学習率を $\alpha$ とすると、更新式次のようになります。
$$
\frac{\partial J(\mathbf{w})}{\partial \mathbf{w}} = -\sum_{i=1}^{N} \left[ (t_i - y_i) \cdot \mathbf{x}_i \right] $$
これを用いて更新式を得ます。
$$
\mathbf{w'}=\mathbf{w}+\alpha\sum_{i=1}^{N} \left[ (t_i - y_i) \cdot \mathbf{x}_i \right]
$$
5.まとめ
今回は線形回帰で2クラス分類での確率的識別モデルを解説しました。