線形判別分析

概要

  • 特徴空間をよく分離する尺度を見つけ出す

そもそも

例えば以下のような場合に主成分分析は使えない。特徴空間の分散を最大化する方向に分布が存在するとは限らないため。というかそもそも主成分分析は複数の分布を区別するためのものでは(直接)ない。f:id:zdassen:20170518221052p:plainしかしながら、グラフの左下から右上に向かって分布を眺めれば各分布をはっきりと区別できることは明白である。線形判別分析では、分布の分離度に着目する。

あと

眺める角度によって分布の分離具合が分かる、ということはそもそも答え(どのサンプルがどの分布をなしているか)を知っているということである。つまり、線形判別分析は教師あり学習である。

(やや無理のある)イメージ

関取Choo Choo Trainの例のダンス(グルグル回るやつ)を踊っている状態。が、身体が大きいので後ろの人の顔が見えない。本家(EXILE)が同じダンスを躍ると全員の顔が見える

ここでいう「身体の大きさ=横幅」がクラス内分散(Within class variance)(人間を分布の形状に見立てている)。 分散が大きくなり分布が散らばっていると、分布が重なりやすく、(たとえ分布どうしがある程度離れていても)見分けづらい(後ろの人の顔が重なって見えない)。本家(EXILE)のメンバーはスラっとしている(分散が小さい)ので、人間どうしがそれほど横にズレていなくとも正面から全員の顔が見える。それぞれの分布の分散が小さいために、分布どうしが比較的隣接していたとしてもそれらを明確に区別できる可能性が高くなる。

一方、正面から見た場合に各メンバーがどれだけ横にばらけているかがクラス間分散(Between class variance)。クラス分散が大きい関取のダンスの場合において、全員の顔が正面から見えるようにするためには横に大きくズレる(クラス間分散が大きくなる)必要がある。

関取にせよEXILEにせよ各メンバーの顔と姿を正面からはっきりと認識したい場合、クラス内分散はより小さく(よりスマートであり)、クラス間分散は大きい(メンバーが横に大きくズレている)ことが望ましい。

線形判別分析とは「各分布の痩身度 * 各分布の間隔」を最大化する視点を探す手段、というところ。「なるだけ痩せていて、それでいてお互いがばらけているように見えるところから見たい」。

クラス内分散のイメージ

クラス内分散は小さいほうがよい(痩身)。分布の位置(クラスターの中心点)は変化しない状態でも、各分布の分散が大きくなると区別がつかない。
f:id:zdassen:20170518233732g:plain

クラス間分散のイメージ

クラス間分散は大きいほうがよい(それぞれの顔が見えやすい)。分布の分散が変化しない状態でも、各分布の平均位置(クラスターの中心点)は離れているほうがよい。
f:id:zdassen:20170518234040g:plain

いずれにせよ

x軸の方向から分布を眺めると、いずれの場合も分布は一つに重なって見えてしまっている。