はじめてのパターン認識

4章

Created by 2GMon

話の流れ

  • 観測データの変換
  • 確率モデル

特徴量の差が大きすぎると、識別結果がある特徴の影響を大きく受けることがあるので、 特徴量の大きさが同程度になるようにしたほうが良い場合がある

特徴間に相関があると、どちらか一方の特徴があれば十分なので、特徴間には相関がない方が良い

特徴量の差や特徴間の相関をなくすためには、学習データの分布を表す統計量が必要になる

分布を表す統計量の代表例が平均ベクトル・共分散行列で、確率分布のパラメータと呼ばれる

パラメータがわかれば線形変換により、特徴量の差や相関をなくすことができる

また、データの分布はパラメータを用いた確率モデルで表現することができ、クラスの事後確率が 表現できるので、ベイズの識別規則を構成できる

平均ベクトル

観測データを${\bf x} = (x_1, \cdots , x_d)^T \in R^d$とし、確率分布を$p({\bf x})$とすると平均ベクトル${\bf \mu}$は $$ {\bf \mu} = (\mu_1, \cdots , \mu_d)^T = (E\{x_1\}, \cdots , E\{x_d\})^T $$ $$ E_1 = \int_{R^d} x_i p({\bf x}) d{\bf x} = \int_{- \infty}^{\infty} x_i p(x_i) dx_i $$ $$ p(x_i) = \int_{- \infty}^{\infty} \cdots \int_{- \infty}^{\infty} p(x_1, \cdots, x_d) dx_1, \cdots , dx_d$$ で表され、$p(x_i)$は$p({\bf x})$の周辺確率と呼ばれる

共分散行列

観測データは平均ベクトル${\bf \mu}$の周りに分布し、この分布の広がり方を共分散行列${\bf \Sigma}$で表す $$ \begin{align} {\bf \Sigma} & = E \{({\bf x} - {\bf \mu})({\bf x} - {\bf \mu})^T\} \\ & = E \left\{ \left( \begin{array}{c} x_1 - \mu_1 \\ \vdots \\ x_d - \mu_d \end{array} \right) (x_1 - \mu_1, \ldots , x_d - \mu_d) \right\} \\ & = \left( \begin{array}{ccc} E\{(x_1 - \mu_1)(x_1 - \mu_1)\} & \cdots & E\{(x_1 - \mu_1)(x_d - \mu_d)\} \\ \vdots & \ddots & \vdots \\ E\{(x_d - \mu_d)(x_1 - \mu_1)\} & \cdots & E\{(x_d - \mu_d)(x_d - \mu_d)\} \\ \end{array} \right) \\ & = (\sigma_{ij}) = \left\{ \begin{array}{ll} i = j & 分散 \\ i \neq j & 共分散 \end{array} \right. \end{align} $$

$\sigma_{ii} = \sigma_i^2$と表し、$\sigma_i$を標準偏差という

共分散行列${\bf \Sigma}$の各要素$\sigma_{ij}$は${\bf x}$が連続量の場合 $$ \begin{align} \sigma_{ij} & = E\{(x_i - \mu_i)(x_j - \mu_j)\} \\ & = \int (x_i - \mu_i)(x_j - \mu_j) p(x_i, x_j)dx_idx_j \end{align} $$のように、 $i$番目、$j$番目の特徴の同時確率を用いて計算される

データが$N$個与えられている場合は $$ \begin{align} \sigma_{ij} & = E\{(x_i - \mu_i)(x_j - \mu_j)\} \\ & = \frac{1}{N} \sum_{n=1}^N (x_{ni} - \mu_i)(x_{nj} - \mu_j) \end{align}$$のように表される

$i$番目と$j$番目の特徴間の相関係数$\rho_{ij}$は以下のように表される $$ \rho_{ij} = \frac{\sigma_{ij}}{\sigma_i\sigma_j} $$

$x_i$が平均$\mu_i$より大きい時、$x_j$が平均$\mu_j$より大きくなる場合が多いと相関係数は正になる

標準化

特徴量の値の大きさの差を取り除く一つの方法は、個々の特徴を平均0、分散1に標準化すること

各特徴を以下のように線形変換する $$ z = \frac{x - \mu}{\sigma} $$

無相関化

詳しくは9章の主成分分析を参照すること

共分散行列${\bf \Sigma}$の$d$個の固有値を$\lambda_1 \geq \lambda_2 \geq \cdots \geq \lambda_d$、 対応する固有ベクトルを${\bf s}_1, {\bf s}_2, \cdots , {\bf s}_d$として ${\bf S} = ({\bf s}_1, {\bf s}_2, \cdots , {\bf s}_d)$を定義する

${\bf S}$によって変換された特徴間の相関係数は0になる

確率モデル

データの分布を表現するのに、パラメトリックモデルとノンパラメトリックモデルがある

パラメトリックモデルは学習データから推定した統計量を用いて構成した確率モデルで分布を表現する

ノンパラメトリックモデルはデータそのものを用いて分布を表現する

  • パラメトリックモデル
    • 二項分布
    • 多項分布
    • ポアソン分布
    • 一様分布
    • 指数分布
    • 正規分布
  • ノンパラメトリックモデル
    • ヒストグラム法
    • kNN法

正規分布

  • 多くの観測データが正規分布に従う
  • 正規分布と仮定することで、解析的に解ける場合が多い
  • データが正規分布でなくても、データの平均の分布は正規分布になる
  • 確率分布が、平均値と共分散の2つのパラメータで決まる
  • 正規分布の線形変換で得られる分布は正規分布に従う
  • 正規分布の確率変数の線形和は正規分布に従う
  • 正規分布の周辺確率も正規分布に従う
  • 無相関であることと統計的に独立であることが等価である

$d$次元の多次元正規分布は以下のようになる $$ N({\bf x}|{\bf \mu},{\bf \Sigma}) = \frac{1}{(2\pi)^{d/2} |\Sigma|^{1/2}} exp \left(- \frac{1}{2} ({\bf x} - {\bf \mu})^T \Sigma^{-1} ({\bf x} - {\bf \mu})\right) $$

正規分布関数の指数部は、任意の点${\bf x}$と平均ベクトル${\bf \mu}$との間の距離を表していて、これをマハラノビス距離という

マハラノビス距離はユークリッド距離に共分散行列の逆行列をかけているので、分布の広がり方を考慮した距離になっている

正規分布から導かれる識別関数

$i$番目のクラスのクラス条件付き確率を以下のように仮定する $$ p({\bf x}|C_i) = \frac{1}{(2\pi)^{d/2}|{\bf \Sigma}|^{1/2}} exp \left(- \frac{1}{2} ({\bf x} - {\bf \mu}_i)^T {\bf \Sigma}_i^{-1} ({\bf x} - {\bf \mu}_i)\right) $$

クラスの事前確率を$P(C_i)$とすれば、事後確率は $$ \begin{align} P(C_i|{\bf x}) & = \frac{p({\bf x}|C_i)P(C_i)}{p({\bf x})} \\ & \propto \frac{P(C_i)}{(2\pi)^{d/2}|{\bf \Sigma}|^{1/2}} exp \left(- \frac{1}{2} ({\bf x} - {\bf \mu}_i)^T {\bf \Sigma}_i^{-1} ({\bf x} - {\bf \mu}_i)\right) \end{align} $$ のように書ける

対数をとれば以下のようになるので $$ lnP(C_i) - \frac{d}{2}ln(2\pi) - \frac{1}{2} ln|{\bf \Sigma}_i| - \frac{1}{2} ({\bf x} - {\bf \mu}_i)^T {\bf \Sigma}_i^{-1} ({\bf x} - {\bf \mu}_i) $$

$i$番目のクラスの事後確率から導かれる評価値は $$ g_i({\bf x})=({\bf x} - {\bf \mu}_i)^T {\bf \Sigma}_i^{-1} ({\bf x} - {\bf \mu}_i) + ln|{\bf \Sigma}| - 2lnP(C_i) $$ となり、識別クラスとしてこの値の最も小さなクラスを選択すれば、誤り最小基準のベイズの識別規則が得られる

クラス間の識別境界は、2クラスの事後確率が等しくなる点の軌跡となるので、クラス$i$と$j$の識別境界は $$ \begin{align} f_{ij} & = g_i({\bf x}) - g_j({\bf x}) \\ & = {\bf x}^T ({\bf \Sigma}_i^{-1} - {\bf \Sigma}_j^{-1}) {\bf x} + 2({\bf \mu}_j^T{\bf \Sigma}_j^{-1} - {\bf \mu}_i^T {\bf \Sigma}_i^{-1}) {\bf x} + \cdots \\ & = {\bf x}^T {\bf S} {\bf x} + 2{\bf c}^T{\bf x} + F = 0 \end{align} $$ と、2次曲面になり、$f_{ij}({\bf x})$の正負で識別できる

これを2次式別関数という

2クラスの共分散行列が等しい場合$({\bf \Sigma}_i = {\bf \Sigma}_j = {\bf \Sigma})$、 ${\bf S} = 0$なので、識別境界は $$ f_{ij}({\bf x}) = g_i({\bf x}) - g_j({\bf x}) = 2{\bf c}^T{\bf x} + F = 0 $$となり、線形識別関数になる

さらに、${\bf \Sigma}=\sigma {\bf I}$の様に、2つのクラスの共分散行列が同じ等方性分散を持ち、かつ、クラスの事前確率が等しければ $$ \begin{align} f_{ij}(\bf x) & = g_i({\bf x}) - g_j({\bf x})\\ & = \sigma^{-1}({\bf x} - {\bf \mu}_i)^T({\bf x} - {\bf \mu}_i) - \sigma^{-1}({\bf x} - {\bf \mu}_j)^T({\bf x} - {\bf \mu}_j)\\ & = 0 \end{align} \\ \therefore ({\bf x} - {\bf \mu}_i)^T({\bf x} - {\bf \mu}_i) = ({\bf x} - {\bf \mu}_j)^T({\bf x} - {\bf \mu}_j) $$が成り立ち、入力ベクトルと、2つのクラスの平均ベクトルとの間のユークリッド距離が小さな方のクラスに識別される

これは最近傍法と等価である

線形識別関数は、2つのクラスの共分散行列が等しいと仮定しているが、一般的に全く同一の共分散行列を持つことは考えにくいので $$ {\bf \Sigma}_{pool} = P(C_1){\bf \Sigma}_1 + P(C_2){\bf \Sigma}_2 $$のように、事前確率を重みとしてまとめたものを共通の共分散行列として用いることが多い

各クラスのデータ数を$N_i$とすれば $$ {\bf \Sigma}_i = \frac{1}{N_i} \sum_{j=1}^{N_i} ({\bf x}_j - {\bf \mu}_i)({\bf x}_j - {\bf \mu}_i)^T = \frac{1}{N_i} {\bf S}_i $$と書け、${\bf S}_i$をクラス内変動行列という

$P(C_i) = N_i/N$より、共通の共分散行列は $$ {\bf \Sigma}_{pool} = \frac{N_1}{N}{\bf \Sigma}_1 + \frac{N_2}{N} {\bf \Sigma}_2 = \frac{1}{N} ({\bf S}_1 + {\bf S}_2) $$

確率モデルパラメータの最尤推定

学習データ${\bf x}_i$は真の分布から独立にサンプルされたもので、i.i.d.(independently and indentically distributed)標本と呼ばれる

真の分布を、パラメータ${\bf \theta}$を持つ確率モデル$f({\bf x}|{\bf \theta})$で表す

学習データを用いてこのパラメータを推定する

確率モデル$f({\bf x}|{\bf \theta})$に従う$N$個の学習データの同時分布を考えると、サンプルの独立性から $$ f({\bf x}_1, \ldots , {\bf x}_N|{\bf \theta}) = \prod_{i=1}^N f({\bf x}_i|{\bf \theta}) $$と表せる

関数$f$を確率モデルとして考える場合、パラメータ${\bf \theta}$は定数で${\bf x}$は確率変数である

ここでは、右辺の${bf x}_i$にデータが入るので、パラメータ${\bf \theta}$を変数と考える

$f$は尤度であり、${\bf \theta}$の関数であることを明示するために $$ L({\bf \theta}) = f({\bf x}_1, \ldots , {\bf x}_N | {\bf \theta}) $$ と表す

確率モデルのパラメータを求める1つの方法は、最尤推定法とよばれ、尤度を最大にするパラメータ${\bf \theta}$を見つけること

最尤推定法では、尤度関数$L({\bf \theta})$あるいは$ln L({\bf \theta})$をパラメータで微分し、0とおいて解くことで最適なパラメータを得る

1変数の正規分布の場合について、最尤推定法で平均値$\mu$と分散$\sigma^2$を求める

観測データを$x_i$とすれば、尤度関数と対数尤度関数は $$ \begin{align} L(\mu, \sigma^2) & = f(x_1, \ldots , x_N|\mu, \sigma^2) = \prod_{i = 1}^N \frac{1}{\sqrt{2\pi\sigma}} exp \left(- \frac{(x_i - \mu)}{2\sigma^2} \right) \\ & = (2\pi\sigma^2)^{-N/2} exp\left(-\frac{1}{2\sigma^2}\sum_{i=1}^N (x_i - \mu)^2\right) \end{align}$$ $$ ln L(\mu, \sigma^2) = - \frac{N}{2} ln(2\pi) - \frac{N}{2} ln \sigma^2 - \frac{1}{2\sigma^2} \sum_{i=1}^N(x_i - \mu)^2$$

平均値$\mu$の最尤推定値$\hat{\mu}$を求めるために対数尤度関数を微分して0とおくと $$ \frac{ln L(\mu, \sigma^2)}{\partial \mu} = \frac{1}{\sigma^2} \sum_{i=1}^N (x_i - \mu) = 0 \\ \hat{\mu} = \frac{1}{N} \sum_{i=1}^N x_i$$が得られる

分散$\sigma^2$の最尤推定値$\hat{\sigma^2}$を求めるために$\sigma^2$で微分して0とおくと $$ \frac{ln L(\mu, \sigma^2)}{\partial \sigma^2} = - \frac{1}{N} \frac{1}{\sigma^2} - \frac{2}{(2\sigma^2)^2} \sum_{i=1}^N (x_i - \mu)^2 = 0 \\ \hat{\sigma^2} = \frac{1}{N} \sum_{i=1}^N (x_i - \hat{\mu})^2$$が得られる