読者です 読者をやめる 読者になる 読者になる

デジタル・デザイン・ラボラトリーな日々

アラフィフプログラマーが数学と物理を基礎からやり直す

【コンピュータビジョン】主成分分析を理解してみる 次元の縮約

コンピュータビジョン,機械学習,主成分分析

■次元の縮約(削減)

次元と書くと難しい用語のようだが、複数の属性項目のことである。何らかの式を用いることでデータを減らすことが出来る。
国語、数学、英語、理科、社会の総合点 ⇒5次元データから1次元データに縮約

体形評価 : BMI (Body Mass Index) 判定
肥満度の判定方法の1つで、次の式で得られる。
BMI=\frac{体重(kg)}{身長(m)^2} ⇒ 2次元データを1次元データに縮約


主成分分析による次元の縮約の考え方

下図左の3つの赤い点を確実に通るY軸(下図中央)を考えると、まったくデータを損なわずに2次元から1次元に落とす事ができます。しかし、下図右のように赤い点から外れた場合には、データは損なわれますが、元の特徴は残っていると 考えて採用します。

f:id:Yaju3D:20140726205735j:plain

考え方としては、画像を圧縮する際、近似色を同色にすると画像サイズをより小さくすることができますよね、そんな感じです。

 

さて、点群の中に直線を引く似たような方法として回帰分析(最小二乗法)があります。

主成分分析と回帰分析による直線とは何が違うのか、下図に示します。

(a)回帰分析(最小二乗法)はy軸方向の誤差が少なくなるように軸が算出されます。
(b)主成分分析はx,y軸方向の誤差が最小になるように軸が算出されます。
画像の棒に対して赤直線を見ると主成分分析(b)が正しく直線領域の傾きを表してます。

f:id:Yaju3D:20140726231719j:plain

 ■主成分分析の成分について

ベクトルとは「大きさ」と「向き」をもつ量です。

空間上に位置を示す点があれば、必ずベクトルが存在します。

ベクトルに対して線形変換をした際に、向きが変わらないけど大きさは変わったベクトルが出てきます。これを固有ベクトルといい、この倍率を「固有値」と呼びます。

そして、もっとも大きい固有値に対応する固有ベクトルのことを第1主成分と呼び、n番目に大きい固有値に対応する固有ベクトルを第n主成分と呼びます。

f:id:Yaju3D:20140727094152j:plain

上図のようにベクトルを変換した場合、下記のことが言える。
・青い矢印(ベクトル(1,1))は向きが変わっていないで長さが2倍になっている。
・ピンクの矢印(ベクトル(1,-1))は向きが変わっていない。長さも変わっていない(1倍)。
・それ以外の赤い矢印は、向きが変わっている。
向きが変わらないベクトル(青とピンク)が固有ベクトルである。


分散(データのバラツキ)が大きいほど、情報を多く持っていると考える

なお、主成分分析は多次元の分布を想定した際、最も分散(データのバラツキ)の大きい方向を探す分析であり、分散が大きいほど情報を多く持っていると考えます。

「分散の大きい方向を探す」 ことは、「固有値問題を解く」 ことと等しくなります。

「なぜ固有値問題になるのか」の説明は、こちらに示されています。
主成分分析 (2) - 主成分の導出と意味(pdf)

 次回は、主成分分析の画像情報処理への応用について書きます。


【参考】

固有ベクトル・固有値 - 大人になってからの再学習