こんにちは.
今回は機械学習やパターン認識を勉強しているとよく出てくる「特徴ベクトル」について自分なりにまとめてみました.(大学の講義資料を自分でまとめ直しただけですが.)
間違いがあるかもしれませんがご容赦ください笑
#まずベクトルについて
__ベクトル__とは,簡単に言うと複数個の数値の組で表される量のことです.
$$
\boldsymbol{ x } = (x_1,x_2,...,x_d)
$$
$x_1,x_2...$には数値が入ります.(例:$\boldsymbol{ x } = (2,4,5)$)
そして,高校数学でも習いますがベクトルには__長さ__や__距離__,__内積__といった概念があります.ベクトルの長さは「ノルム」,距離は「ユークリッド距離」と言ったりもします.
計算式は以下のようになります.
ベクトル$\boldsymbol{ x }$のノルム(長さ):
$\Vert \boldsymbol{ x } \Vert = \sqrt{ x_1^2 + x_2^2 + \cdots + x_d^2} = \sqrt{\langle \boldsymbol{ x },\boldsymbol{ x } \rangle}$
ベクトル$\boldsymbol{ x }$とベクトル$\boldsymbol{ y }$との距離(ユークリッド距離):
$\Vert \boldsymbol{ x }-\boldsymbol{ y } \Vert = \sqrt{ (x_1 - y_1)^2 + \cdots + (x_d - y_d)^2}$
ベクトル$\boldsymbol{ x }$とベクトル$\boldsymbol{ y }$との内積:
$\langle \boldsymbol{ x },\boldsymbol{ y } \rangle = x_1y_1 + x_2y_2 + \cdots + x_dy_d = \Vert \boldsymbol{ x } \Vert \Vert \boldsymbol{ y } \Vert \cos \theta$
以上がベクトルの基礎の考え方となります.
#特徴ベクトル
__特徴ベクトル__とは,パターン情報を変数値を要素とするベクトルの形式で表現したものです.パターン情報は濃淡画像の画素値等です.
例えば,以下のような「3」を表す画像(白が画素値0,黒が画素値1とする)があったとします.
この画像を特徴ベクトルとして表すと,以下のようになります.(見やすいように行の終わりと始まりの間に空白を設けています)
$$
\boldsymbol{ x } = (0,1,1,1,0, 0,0,0,1,0, 0,1,1,1,0, 0,0,0,1,0, 0,1,1,1,0)
$$
同様に「2」を表す画像だと,以下のようになります.
$$
\boldsymbol{ x } = (0,1,1,1,0, 0,0,0,1,0, 0,1,1,1,0, 0,1,0,0,0, 0,1,1,1,0)
$$
また,例で表した2つの画像は25画素であるとしているので,特徴ベクトルの要素数が25となります.このとき,これらの特徴ベクトルは25次元であるといえます.
このことから,実際の写真等を特徴ベクトルで表す場合,何十万次元となります.
#特徴空間
__特徴空間__とは,特徴ベクトルが表現される空間のことです.特徴ベクトルが2次元であった場合は,特徴空間は2次元空間となり,25次元であった場合は特徴空間は25次元となります.
#おわりに
今回のようにデータを特徴ベクトルに変換することは,パターン認識等のコンピュータによる識別において重要だと考えられます.