自己紹介 & お知らせ

今回の内容

  • 入門ベイズ統計 第4章「ベイズ判別問題とパターン認識」を見ていきます。
    • 4.5 パターン認識と分類
    • 4.6 ベイズ決定による判別(分類)
    • 4.7 判別分析
  • また、一部「わかりやすいパターン認識」の内容を参考にしています。

4.5 パターン認識と分類

パターン認識

パターン
多様な図形・画像・音声などの(パターン認識をするための)対象
パターン認識
  • 実は定義しにくい言葉(上から下にかけて広義から狭義の定義になっている)
  • 多くの場合は事前に定義してから使われているはず・・・

「パターン認識」という言葉を使うときに注意する点

  • 概念(パターンの対応先)は決まっているか?
    • 決まっていない(よしなに決めてほしい) → 教師なし学習
    • 決まっている → 教師あり学習
      • このときの概念をカテゴリーと呼ぶ(クラスと呼ぶことも多い。「入門ベイズ統計」では「カテゴリー」を採用している。本スライドではカテゴリーとクラスを同義で使用します。
      • パターンとそれが属するクラスがわかっているデータ(訓練データ)がある(はず・・・)。
        • クラスが2個で、どのクラスに属するかを決める分類: 二値分類
        • クラスが複数あり、どのクラス(1つ)に属するのかを決める分類: 多クラス分類
        • クラスが複数あり、それらの部分集合のどれに属するのかを決める分類: 多ラベル分類

「入門ベイズ統計」でのパターン認識

  • 概念(パターンの対応先)は決まっているか?
    • 決まっている
      • 画像データの文字から文字コードへの対応 (OCR)
      • 花の各部の長さのデータから該当する花への対応 (フィッシャーのあやめ)

「入門ベイズ統計」でのパターン認識

  • 概念(パターンの対応先)は決まっているか?
    • 決まっている
  • クラスの数は?
    • 複数
      • 認識したい文字の種類数 + リジェクト用クラス? (OCR)
      • 3つ(ヴァージニカ、ヴェルシカラー、セトーサ) (フィッシャーのあやめ)

「入門ベイズ統計」でのパターン認識

  • 概念(パターンの対応先)は決まっているか?
    • 決まっている
  • クラスの数は?
    • 複数
  • 対応の仕方は?
    • 1つに決める

「入門ベイズ統計」でのパターン認識

  • 概念(パターンの対応先)は決まっているか?
    • 決まっている
  • クラスの数は?
    • 複数
  • 対応の仕方は?
    • 1つに決める
    • 多クラス分類
    • 「観測されたパターンをあらかじめ定められた複数の概念のうちの一つに対応させる処理」

4.6 ベイズ決定による判別 (分類)

パターンと特徴抽出

特徴抽出
特徴抽出
分類カテゴリーとわかるための主要な特徴を選び出して、パターン認識を行うためのベクトル(特徴ベクトル)を生成すること
「入門ベイズ統計」図4.11より

フィッシャーのあやめ

  • フィッシャーが分析した「あやめ」(Iris)の例
  • データセットはUCI Machine Learning Repositoryから入手できる。
  • カテゴリは以下3種類
    • $\Pi_1$: ヴァージニカ、$\Pi_2$: ヴェルシカラー、$\Pi_3$: セトーサ (setosa)
  • 特徴ベクトルは4次元 $\mathbf{z} = (x_1, x_2, x_3, x_4)'$ [4 × 1 行列] で定義される。ただし、
    • $x_1$: がく片の長さ
    • $x_2$: がく片の幅
    • $x_3$: 花弁の長さ
    • $x_4$: 花弁の幅

ベイズ判別によるパターン認識

登場する記号 その1

  • $\Pi_k$: カテゴリー(クラス) → ヴァージニカ、ヴェルシカラーなど
  • $\mathbf{z}$: (あるパターンの)特徴ベクトル → がく片の長さ...から構成されるベクトル
  • $\theta_k$: カテゴリー$k$の特徴ベクトルの確率分布を構成するパラメータ
    • すでにカテゴリーがわかっている特徴ベクトルの集合からベイズ決定によって定める。
    • 例えば多次元正規分布を仮定するなら平均ベクトルと分散共分散行列。
    • カテゴリーは$1$〜$K$なので(特徴ベクトル$\mathbf{z}$が与えられる前の意味での)事前確率は次のように表される:
      $P(\theta_1) + P(\theta_2) + \dots + P(\theta_K) = w_1 + w_2 + \cdots + w_K = 1$

ベイズ判別によるパターン認識

登場する記号 その2

  • $f_k(\mathbf{z}) = P(\mathbf{z}|\theta_k)$: カテゴリー$k$を取った場合の特徴ベクトルの確率分布
    • (特徴ベクトル$\mathbf{z}$が与えられた後の意味での)事後確率。
    • 例えば「ヴェルシカラー」で、がく片の長さが5.8、がく片幅2.8、花弁長さ4.2、花弁幅1.1の確率が...みたいな

ベイズ決定による分類

  • カテゴリーが未知の特徴ベクトルに対して、事後期待損失が最小になるようにカテゴリーを割り当てる。
    → 以降はパラメータがわかっている下で分類することについての数学的な特性について見ていきます。

ベイズ決定による分類

  • 0-1型単純損失の場合、カテゴリー1を取るときの事後期待損失は以下のようになる:
    $R_1 = \frac{w_1 f_1(\mathbf{z})}{P(\mathbf{z})} \cdot 0 + \frac{w_2 f_2(\mathbf{z})}{P(\mathbf{z})} \cdot 1 + \cdots + \frac{w_2 f_2(\mathbf{z})}{P(\mathbf{z})} \cdot 1 = 1 - \frac{w_1 f_1(\mathbf{z})}{P(\mathbf{z})}$
  • 同様にカテゴリー$k$を取るときの事後期待損失は、
    $R_k = 1 - \frac{w_k f_k(\mathbf{z})}{P(\mathbf{z})}$
  • 結局、事後期待損失を最小となるカテゴリ$k$は、
    $\arg \min_{k} \{1 - \frac{w_1 f_1(\mathbf{z})}{P(\mathbf{z})}, \cdots, 1 - \frac{w_K f_K(\mathbf{z})}{P(\mathbf{z})} \} = \arg \max_k \{w_1 f_1(\mathbf{z}), \cdots, w_K f_K(\mathbf{z}) \}$
    を満たす。
  • 尤度比の形で書くと、$\frac{f_l(\mathbf{z})}{f_k(\mathbf{z})} \leq \frac{w_k}{w_l}$ ($l \neq k$) となる。

ベイズ決定と線型判別関数

  • ここで $f_k(\mathbf{z})$ を多次元正規分布(ただし分散・共分散行列はカテゴリー間で同じもの)とする。
  • つまり、
    $f_k(\mathbf{z}) = (2 \pi)^{-p/2} |\Sigma|^{-1/2} \exp\{ -\frac{1}{2} (\mathbf{z} - \mathbf{\theta_k})' \Sigma^{-1} (\mathbf{z} - \mathbf{\theta_k})\}$
    (ただし、$p$は特徴ベクトルの次元数)である。
  • このとき対数尤度比は、
    $\log \frac{f_l(\mathbf{z})}{f_k(\mathbf{z})} = (\mathbf{\theta}_l - \mathbf{\theta}_k)' \mathbf{\Sigma}^{-1} \mathbf{z} - \frac{1}{2}(\mathbf{\theta_l + \mathbf{\theta}_k})' \mathbf{\Sigma}^{-1} (\mathbf{\theta}_l - \mathbf{\theta}_k) \leq \log ( \frac{w_k}{w_l} )$
    ($1 \leq l \leq k$, $l \neq k$) である。
  • 特徴ベクトル$\mathbf{z}$を動かしたときにどのカテゴリーに判別されるのかを見てみる。
    • 対数尤度比の中で$\mathbf{z}$に依存する項は$(\mathbf{\theta}_l - \mathbf{\theta}_k)' \mathbf{\Sigma}^{-1} \mathbf{z}$のみ。
    • これは$\mathbf{z}に関して線型ある。そのため判別される境界面は線型となる。$

4.7 判別分析

(フィッシャー)判別分析

  • 一種の(教師あり)次元圧縮法
  • ここではカテゴリーが割り当てられた特徴ベクトルのデータを1次元に圧縮するための考え方をざっと見ていきます。
  • ちなみに1次元に圧縮は以下のようなイメージです。
  • PRML fig.4-3
Pattern Recognition and Machine LearningのFig 4.3aより

問題設定

  • 群(カテゴリーに相当)が$K$個ある(前節と同様)。
    • 各群には$n_1, \cdots, n_K$個のケースがある(各カテゴリーに$n_1, \cdots, n_K$の事例があると言い換えてよい)。
  • $p$個の説明変数$x_1, \cdots, x_p$が異なった値をとる(前節の特徴ベクトルの各要素にほぼ対応)。
  • $x_1, \cdots, x_p$の1次元への圧縮(線形変換)は、係数$l_1, \cdots, l_p$を用いて、
    $L = l_1 x_1 + l_2 x_2 + \cdots + l_p x_p$
  • どのような基準(最適化問題)の下で係数$l_1, \cdots, l_p$を決めるのか?
    → $\text{(群間分散)}/\text{(群内分散)}$を最大化(後述)

群内分散

  • 群の中でのばらつきをあらわす尺度。計算する過程を見ていくほうがわかりやすいかも。以下直感的な計算法。
    • ある群に着目する。
    • その群の平均値を求める (群を表す代表値となっている)。
    • 群内のそれぞれのケースについて、平均値(代表値)とのずれの自乗をひたすら足しこむ (自乗和)。
    • これらをすべての群で行ったあとに、(すべてのケースの数) - 1で割る (普遍分散の場合)。

群間分散

  • 群の間でのばらつきをあらわす尺度。計算する過程を見ていくほうがわかりやすいかも。以下直感的な計算法。
    • (群ごとではなく)すべてのケースの平均値を求める (全体の代表値となっている)。
    • ある群に着目する。
    • その群の平均値を求める (群を表す代表値となっている)。
    • 群の平均値と全体の平均値とのずれの自乗をひたすら足しこむ (自乗和)。
      • つまり、ケースがとる値を群の平均値に置き換えて、全体の平均とのずれを求める。
      • 同じ値が何度も足しこまれることになる。
    • これらをすべての群で行ったあとに、(すべてのケースの数) - 1で割る(普遍分散の場合)。

群内分散と群間分散

  • A国とB国の2群を1人あたりの所得$x$で比べる。
  • A国がB国より所得水準が高いことは、A国の1人とB国の1人の比較では得られない。
  • 仮に$\bar{x}_a > \bar{x}_b$であったとしても、A国の所得の低い人とB国の所得の高い人が比べられた場合に上の結論が成り立たないため(右図)。
    • A,Bそれぞれの中の(群内の)ばらつきが大きい割には、A,B間の(群間の)ばらつきはそれほど大きくはないから。
  • 判別分析では、あるケースがどの群に予測するかを分析するので群内分散、群間分散を使用するのは妥当 → どのように使われるのか?
  • 群内と群間の考え方
「入門ベイズ統計」図4.13より

判別分析の係数の定め方

  • 線型変換の係数($l_1, \cdots, l_p$)を、変換後の値に関する群間分散がその群内分散に対して相対的に大きい値をとるように定める。
  • 固有値問題に帰着される。
  • PRML fig.4-3a
    PRML fig.4-3b

Pattern Recognition and Machine LearningのFig 4.3a, 4.3bより

「あやめ」データの判別分析

2つの判別分析によるあやめの分類
  • 1がヴァージニカ、2がヴェルシカラー、3がセトーサ。
  • 横軸のみでカテゴリーがほぼ分割できている。
「入門ベイズ統計」図4.14より

まとめ