DATA 森 亮太 デザイン科学クラスタ 60040116 2003.11.15 Contents Abstract(要約) Data Compression (データ圧縮) Coordinate Systems(座標系) Eigenvalues and Eigenvectors(固有値と固有ベクトル) Eigenvalues of Positive Matrices(正則行列の固有値) Random Vectors(ランダムベクトル) Normal Distribution(正規分布) Eigenvalues and Eigenvectors of the Covariance Matrix(共分散行列の固有値と固有ベクトル) High-Dimensional Spaces(高次元空間) Clustering(クラスタリング) 2/62 Abstract(要約) この章は、連続した状態空間を表すためにベクト ルの使用を紹介する そのような状態空間のサイズを減少させるのは 自然な計算にとって主要である ベクトル状態空間のサイズを減少させる1つの方 法は空間の次元数を変えることである もう1つの方法はプロトタイプポイントに換算して データをまとめることである 3/62 Data Compression(データ圧縮)(1) 学習の大半はまさしく人類における固有の組織から引き 起こされなければならない そのような組織は我々のセンサーの出力に反映される この出力は幾何学的かつ代数的な性質をもつ一組の離散 的な測定値としてごく一般的に記述されることができる。 そのような性質の最も簡単な収集は線形空間を定義する 本章の焦点はそのような測定値の状態空間での構造を 検出するために最も基本的な手法を述べることである その主眼は線形空間の基本的な性質を開発することと、 データポイントの収集をコード化するのにどうそれらが使 われることができるかを示すことである 4/62 Data Compression(2) 問題 網膜の出力端での視覚の状態空間を考慮するけれども、 それは約100万の独立した測定値がある これらは100万次元の空間に記録されることができる →データが膨大、そこで・・・ 解 非常に小さい次元空間で表現 小さい集合の次元を選択というアプローチのため非常に 簡単で的確なテクニック 固有ベクトルを利用する手法(主成分分析) クラスタリングの手法 5/62 主成分分析とクラスタ化概要(1) 2つの主な分類、固有ベクトル(主成分分析)とクラスタリン グ (a)固有ベクトル方向はデータのほとんどの変分方向に 沿って指す。例ではこのテクニックはポイントpをただ1つ の座標と小さい残差として符号化されるように許容する (b)クラスタリングは近いポイントグループをコード化する のにプロトタイプポイントを使用。例では、プロトタイプの座 標はポイントpに関してより小さい残差とともに送られる。 節約されたものは、ポイントのグループに同じプロトタイプ を使用することができるので当然の結果として生ずる この章の焦点はこれらのテクニックを記述することである 6/62 主成分分析とクラスタリング概要(2) 図4.1 数量的データを圧縮するための技術に おける2つの主な分類 (a)固有ベクトル直線をそのデータ上の 最大変化の直線にそって指し示す。たと えば、この技術はたった1つの座標と小 さい残差として符号化されるようにその ポイントpを許容する (b)クラスタ化は近くのポイントのグルー プを符号化するためにプロトタイプポイ ントを使う。例えば、そのプロトタイプの 座標はポイントpに対するより小さい残 差を伴いながらあたえれる。その同じプ ロトタイプがポイントのグループのため に使われているため、取り込むことが結 果として生ずる。 7/62 Data Compression(3) 主成分分析 固有空間はより高次元空間から低次元空間まで の変化が線形であると仮定 それらの技術はデータにおける最大変化を保つ 変換を指定するということである 変化の方向は固有ベクトル方向 その方向に沿った変化量は固有値 固有ベクトル方向は一般的な座標系を莫大な有用性 を持つ状態空間を構成する 8/62 Data Compression(4) クラスタリング よりわずかな数のプロトタイプポイントに換算して データポイントの分布をまとめる。 これらのプロトタイプを計算する系統立った方法は プロトタイプポイントの数を推測し、それらのそれ ぞれの確率分布の記述を調整するのにデータを 使用すること 調整を実行する非常に一般的な方法は期待最大 化と呼ばれる。 9/62 Coordinate Systems(座標系)(1) ベクトルによって行列をかけ算することはy=Axと なる行列積の特別な場合 y Ax 上式は N yi akj x j , i 1,...,M としてかくことができる k 1 またA列の線形結合として変換すると y a1x1 a2 x2 aN xN 10/62 Coordinate Systems(2) ベクトルをつかう際、それらが直交座標系に関して説明さ れると暗黙的に仮定 →実際の同格のベクトルについて議 論しない しかし、一般的な場合ではデータに関して右の座標系は 直交していないかもしれない この点についてベクトルaiが座標系または多次元空間の 基底として特別な解釈をもつということが大事 例えば、3次元上における基礎でa1,a2,a3は y=a1y1+a2y2+a3y3として関わるようにyを許容する 1 0 0 a1 0 , a2 1 , a3 0 0 0 1 11/62 Coordinate Systems(3) 座標系の基本となる重要性質はそれらがお互い に比例して説明可能であるということ 例えば、yは基底ベクトルaiに換算して説明可能 12/62 Coordinate Systems(4) この基礎はi≠jのようなすべてのiとjにおいてaj・ ai=0に対して直交している しかし、非直交基底もまた動作すると判明 例えば、(係数はもちろん異なっているだろうが)左 の行列Aはまだ表現されるようにyを許容するだろ う。 1 0 0 A 0 1 0 1 1 1 1 0 0 A 0 1 0 1 1 0 しかし、右の 行列は3つ目 の成分を説 明しない すべてのiについてxi =0なら a1 x1 a2 x2 aN xN 0 13/62 Coordinate Systems(5) n次元行列の列が空間にかからないとき、何が起 こるか? 行列の次元は線形独立ベクトルの数と等しい。 (それは、行列の階数[ランク]として知られている)。 階数rが次元N以下であるときに、ベクトルはr次 元の副空間にかかる 14/62 Coordinate Systems(6) 行列には最大階数以下があるのが望ましい 例えば、方程式Ax=0には非自明な解(xが0以外の解を 持つ)があるように、Aの列は線形従属でなければならな い Ax=0は前の方程式の書き直されたバージョン 列が線形独立であるなら、方程式を満たすことができる 唯一の方法はすべてのiについてxi=0を持つこと しかし、非自明な解のために、xiは0であるべきではない →列は線形従属でなければならない。 例えば、すべての面に3つのベクトルがあるとき、3次元上 で線形従属 15/62 Coordinate Systems(7) 対照的に独自の解をもつ方程式Ax=cにおいてxが唯一の 解をもつためにはAは線形独立でなくてはならない 下図のベクトルcは列ajの線形結合に換算して表されなけ ればならない。 一般に列はcの空間に含まれなければならない。 →ベクトルcと共にそれら(a1とa2)は線形従属である 16/62 図4.2 (a):Aの列はもし3つ列 ベクトルが同一平面上 にないなら、3つの次 元において線形独立 である (b):Ax=cの場合、ベク トルcはAによって補わ れた空間になければな らない。ゆえに2つの 次元において、a1とa2 とcとはすべて同一平 面上になければならな い(線形従属) 17/62 Coordinate Systems(8) ニューラル・ネットワーク上でy=Wx形式の座標変 換を実行することができる この手続きが行われる方法はまず線形神経回路 要素を定義することである 基本的要素には、重みまたは非常に簡単な「シナ プス」をもつ (代わりに行列のためのWの使用は、 要素がシナプスのモデルであること) 各重みはそのそれぞれの入力値で増える ニューラル・ネットワーク上で別々のユニットは出 力ベクトルの異なった成分を表している 18/62 図4.3 基本行列積は線形座標で使用 線形座標では変換 を線形ニューラル ネットワークで実行 可能 19/62 Eigenvalues and Eigenvectors (固有値と固有ベクトル)(1) ベクトルが行列によって掛けられるとき、結果の ベクトルの大きさと方向が原型と異なる しかし、どのような行列にもベクトル方向がある ので、行列積はベクトルの大きさだけを変える 特別な方向に関しては行列積はスカラー倍に減 少する。 例 3 11 1 3 1 1 2 21 41 2 2 1 20/62 Eigenvalues and Eigenvectors(2) ベクトルvがこれらの方向の1つを指し示すなら、λである Wv=kvがスカラーとなる vは固有ベクトル、λは固有値 任意のnでn×nマトリクスの固有値を見つけるのは ニューメリカルレシピを参照 簡単な2次元の場合を例 v1 3 1 v1 2 2 v λ v 2 2 1 v1 0 3 λ 2 2 λ v2 0 21/62 方程式に解があるためには、行列の列が線形従 属でなければならない |W| = 0. ゆえに(3-λ)(2-λ)-2=0となり、λ1 = 4、λ2 =1 λ1 = 4を方程式に代入すると 1 v1 0 3 λ 2 2 λ v2 0 1 1 v1 0 2 2 v 0 2 ここで、v1=1,v2=1を代入する 1 1 22/62 Eigenvalues and Eigenvectors(3) 行列の唯一の非零要素が対角線上にある別の 行列に行列変換すること さらに、これらの対角要素は固有値である 新しい基底でのスカラー倍へ古い基底における 行列積を換算すること →ベクトルをもう1つの集合に表している基底ベク トルを変える 問題は局所基底が変えられるとき、変換に関して何が起こるのかとい うことである 23/62 Eigenvalues and Eigenvectors(5) 座標変換はx*=Axとy*=Ayによって与えられると いうことを仮定 y=Wxと与えられたとすると W*に関してy*=W*x* WとW*の関係はx = A-1x*, y = Wx, y* = Ay 変形をまとめるとy*=AWA-1x* W*=AWA-1 このように関係づけられる行列を相似という 24/62 Eigenvalues and Eigenvectors(6) 固有ベクトルを基底としたと仮定 Wの固有ベクトルyiに関してWyi=λyi 固有ベクトルを横に並べた行列をΥとすると WY=YΛ Λは唯一の非零成分が対角要素λiの行列 両辺にY-1をかけるとY-1WY=Λ この方程式が意味することは 行列Wが与えられたとき、変換が唯一の非零要素 を基底の固有ベクトルの座標に変形することに よって対角線である行列のものに簡素化すること が可能 25/62 Eigenvalues and Eigenvectors(7) 例 3 1 1 1 W 2 2 1 2 4 0 0 1 yが以下のy式に与えられるようにxとして特定のベクトル を選択 3 13 x y 4 14 x* = Υ-1x, y* = Υ-1y 1 2 1 3 1 1 1 10 3 x* 1 3 40 3 y* 1 3 これからそのy*=Λx*の値も算出できる 26/62 y*=Λx*の値 1 2 1 3 * 1 2 1 13 * y x 3 1 1 4 3 1 114 1 2 3 4 1 2 13 14 3 3 4 3 13 14 1 10 1 40 3 1 3 1 10 3 1 3 40 3 1 3 y * x * 40 10 3 3 1 1 3 3 40 10 1 3 3 1 3 3 10 40 3 3 1 1 3 3 400 9 1 9 27/62 Eigenvalues and Eigenvectors(8) 固有値と固有ベクトルの多くの役立つ性質 1. 固有値行列Aはどんな直交変換のもとでも不変である。 2. そのすべての固有値が正であるなら、行列Aは正と定義する。 3. Aのトレースは、そのすべての固有値の合計であり、どんな直 交変換のもとでも不変である。 4. Amのトレースは、そのすべての固有値の合計であり、どんな 直交変換のもとでも不変である。 5. Aの行列式は、そのすべての固有値の積と等しく、どんな直交 変換の下でも不変である。 28/62 Eigenvalues and Eigenvectors(9) Eigenvalues of Positive Matrices(1) A>0であるときに、Frobenius-Perron定理 29/62 Eigenvalues and Eigen vectors(10) Eigenvalues of Positive Matrices(2) Frobenius-Perron定理 A>0であるなら、λ0>0とx0>0となるような以下の 1,2,3が存在する 1 Ax0 0 x0 2 0 3 0 他のAの固有値 は唯一のものである 30/62 Eigenvalues and Eigenvectors(11) Eigenvalues of Positive Matrices(3) Frobenius-Perron定理 この定理もまたA≧0であるときの場合に拡張する ことができるが、An>0のようなnが存在する この場合すべての定理の結論はAに適用する 31/62 Eigenvalues and Eigenvectors(12) Eigenvalues of Positive Matrices(4) Frobenius-Perron定理 固有ベクトルを以下の式のように正規化 n x i 1 i 1 Ax0=λ0x0なので a11 x1 a12 x2 a1n xn 0 x1 a21 x1 a22 x2 a2 n xn 0 x2 an1 x1 an 2 x2 ann xn 0 xn 32/62 Frobenius-Perron定理 すべて足しあわせると S1 x1 S2 x2 Sn xn 0 ただし、 Si a1i a2i ani ゆえにλ0は以下の範囲で制限される min Si 0 max S i i i 33/62 Random Vectors(ランダムベクトル)(1) 行列がデータベクトルの集合上で変分によって定 義される ベクトルは自然な変分を全体として得る何らかの ランダム分布から得られる ランダムベクトルXは確率密度関数p(X)によって 指定される。正式には以下の式となる P X I p X lim xi 0 i xi ただし、 I X : xi X i xi xi , i 34/62 Random Vectors(2) ランダムベクトルは密度関数によって完全に特徴 付けられるが、そのような機能は決定するのはし ばしば難しいか、または使用するために数学的に 複雑 より少ないパラメータで記述することができる関数 で分布をモデリング 最も重要なパラメータは、平均ベクトルと共分散 行列である 35/62 Random Vectors(3) 平均ベクトルと共分散行列が以下の式によって 定義される M (平均ベクトル ) EX X p X dX (共分散行列) E X M X M T 36/62 Random Vectors(4) M E X X p X dX X k E X M X M T k 1 N 1 2 2 1 2 3 X 3 , X 1 , X 2 1 1 3 N 1 M N 1 N k X k 1 X N k M X M k k 1 とおくと、 平均ベクトルは、 3 1 1 M 6 2 3 3 1 37/62 T 共分散行列は、 2 1 1 3 1 2 X M 1 , X M 1 , X M 0 0 2 2 4 1 2 3 0 6 1 3 3 2 2 0 1 1 0 1 0 0 2 3 0 2 2 2 8 1 2 1 1 2 0 2 4 2 0 0 0 2 0 4 38/62 Random Vectors(5) 特定のP(X)から抽出される任意の集合のランダムデータ ベクトルを考慮 集合の座標軸に関して、それらの軸に映し出されると、 データはある変分を示す データが何らかの方法で凝集されたと仮定すると 意志決定で使用することができる自然類を定義するとき、 そのようなかたまりはすべて重要である場合がある かたまりをもっともわかりやすくするために座標を選択 これらの座標方向が共分散行列の固有ベクトルである その上、最も重要な方向(最も多くの変分があるもの)は、 大きい固有値を持っていることによって明らかにされる 39/62 図4.4 変化を最大にする座標選択は 意思決定を簡素化することがで きる 上図は2つの自然類について明 確に考察できるように2つの モードである固有値方向に沿っ た分布における固有ベクトル方 向結果 下図は他の方向をおそらく上図 のような構造を明らかにしそう であるが、わかりにくい 40/62 Random Vectors(6) Normal Distribution(正規分布) 第3章であったように、最も役に立つパラメトリック 分布の1つは正規分布である 大部分の観測された確率変数がいくつかの確率 成分の合計である傾向がある 確率成分の合計は通常分布される傾向がある 以下の式は正規分布のベクトルバージョンである N X , M , e 1 2 X , M , d 2 2 n 2 1 2 d 2 X , M , X M 1 X M T 41/62 Random Vectors(7) Eigenvalues and Eigenvectors of the Covariance Matrix (1) 正規分布の記述する際、分布の記述を簡素化す る座標の選択 特に、分布の変化を最大にする座標を選択→分布の 分散が最大となるような基底ベクトル 最初に、以下の式のような新しいランダムベクトル Zを選ぶことによって、Xを原点に変換 X M ゆえに2次式は d ,0, 2 T 1 となる 42/62 今ZTZとd2(Z,0,∑)が最大にされるようにZを見つ ける このための明確な条件は以下の式(4.1)である。 X M ゆえに2次式は d 2 ,0, T 1 となることから (4.1) 言い換えれば、Zは固有値λがある共分散行列の 固有ベクトルである。(次章を参照) 43/62 Random Vectors(4) Eigenvalues and Eigenvectors of the Covariance Matrix (2) 以下の通り主要な結果をまとめることができる ΦがΣの固有値nのn×n行列にする。すなわち、 1 , 2 ,, n そして、(4.1)より I T 1 0 0 n Λは固有値の対角行列 固有値の大きさがそれに対応する固有ベクトル方向の分散の 大きさに対応する →固有値の大きな固有ベクトルをm(m<n)個とればよい近 似となる 44/62 T I の証明 Z1 , Z 2 ,, Z n Z1 Z2 Z n Z1 Z 2 Z1 , Z 2 , , Z n Z n Z1 Z1 Z1 Z 2 Z Z Z 2 Z2 2 1 Z n Z1 Z n Z 2 Z1 Z1 Z1 Z 2 Z Z Z2 Z2 2 1 Z n Z1 Z n Z 2 Z1 Z n Z 2 Z n Z n Z n Z 1 Z n 1 0 0 Z 2 Z n 0 1 0 Z n Z n 0 0 1 45/62 Random Vectors(4) Eigenvalues and Eigenvectors of the Covariance Matrix (3) Φはあらゆる正規直交変換である制約条件から始 まることによって同様の結果に達することができる と判明 46/62 Random Vectors(4) Eigenvalues and Eigenvectors of the Covariance Matrix (4) m<nであれば、誤差の最小量がある変化に近似 するように、最大固有値mに関連する固有ベクト ルを選択 平均2乗誤差は残っている固有値n-mの合計を示 す 47/62 Random Vectors(4) Eigenvalues and Eigenvectors of the Covariance Matrix (4) Example: A Network That Encodes Data より早くどんな行列操作も線形ニューラルネット ワークで実現される どのようなネットワークがデータを符号することが できるのかを示す例(図4.5) 48/62 図4.5 コード化のための固有ベクトル 変換の使用 (a)ネットワークで共分散行列が 実現されることができる。 (b)同様に、3つのネットワーク操 作の継承として同じ変換を実現 されることができる。 →固有値が小さい結合を消 すことで少ない次元での近 似が可能 もっとも小さい固有値に対応する 含有成分をおとすことができるに 従って,この定式化はデータが コード化されるのを(いくつかの 誤差ともないながら)許容する。 図4.5Aに示されているように、共分散 行列はネットワーク操作に換算して表現 されることができる。 1 しかし∑による掛け算は よる 掛け算と等しい、同等のネットワークは図 4.5B示されるように図のような3つの操作 をもつとういうことをつくられることができ 49/62 る High-Dimensional Spaces(1) 非常に大きい空間を想定(たとえば、256×256) 共分散行列∑が非現実的に大きくなる→より小さいランク の行列で近似 1 M T X X n n M n 1 1 AAT M n次元データ ベクトルXが M個存在 A [ X1 , X 2 ,..., X M ] たいていの変分は次元が空間の次元よりもより少ない副 空間にデータを投影することによってとらえることが可能 50/62 High-Dimensional Spaces(2) M M 1 2 3 4 2 3 4 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ AT A (4.2) 両辺に左からAをかけると、 A A A A T AA A A T もし、vがATAの固有ベクトルであるならそのときAvはΣの固有ベクトルであ る より小さいシステムは固有値がはるかに大きいシステムのものと同じ。また、 この固有値は∑の固有値と等しく大きいほうからM個の固有値が得られる。 だからvを求めてAを左からかければ∑の固有ベクトルが得られる 51/62 High-Dimensional Spaces(3) 例:顔認識 複数のイメージに対するベクトルを主成分分析し た場合、大きな固有値に対する固有ベクトル(固 有顔)はあるパターンを示す 顔の画像はN×Nの明るさの配列のデータとして 扱われる。M個の例を与える タスク:新しく与えられた顔画像がどの画像と一番 近いかを出力すること 52/62 High-Dimensional Spaces(4) 顔画像の主成分得点を計算 訓練集合を I1 , I1 ,...,I m とおいて 平均は I ave 1 M M I n 1 n X i Ii I ave , i 1,...,M 平均を引き算することで訓練集合を 変換する Mの固有ベクトルukと固有値λk を求 めていく T A Av v (4.2) 53/62 High-Dimensional Spaces(5) より大きい固有ベクトルuk(固有顔)はvkを使うこと によって、組み立て可能 (4.2)より7つの固有ベクトル M ui vik X k k 1 54/62 High-Dimensional Spaces(6) 固有ベクトル空間 (1 , 2 ,...,M ) 固有ベクトル空間における新しいイメージの座標を計算[新し いデータに対して主成分得点を計算] k ukT (I I ave ), k 1,...,M ユークリッドノルムが最小となる顔画像を探す[下式が最小と なる分類kを選択する] k 55/62 Clustering(1) データ圧縮の2番目の手法 標本がプロトタイプベクトル空間に分布し、これら の幾つかの主要なパターン群に分割することをク ラスタリングという 正規分布を当てはめるとすれば、 分散 n 1 2 ( xi m) 2 n i 1 平均 1 n 1 n ( xi xi ) 2 n i 1 n i 1 56/62 Clustering(2) 2つ以上の内部状態(k=1,2)を表すのは少し困難 だが、第2章のとおりで似たようにすればよい 57/62 Clustering(3) ガウス分布で表現できると仮定すると p( xi | k ) 1 2 k e ( xi mk ) 2 2 k2 for k 1,2; i 1,...,n 58/62 Clustering(4) ベイズの規則を使用しながら内部状態でデータ標本を見 る確率を書くことができる p( xi ) p( xi | k ) p(k ) k 結果としてもしデータを与えられていてそれが特定の状態 からきた確率(どちらの状態であるかの確率)を見積もりた いなら次式のベイズの規則を使用することができる p( xi | k ) p(k ) p(k | xi ) (4.3) p( xi | j) p( j) j この方程式は同様にあらかじめ特定の仮説がたてられて いる場合平均として許容する 1 p(k ) p(k | xi ) (4.4) n i 59/62 Clustering(5) 現在、サンプルが独自に作りだされるならすべて のデータを見る確率は以下のようになる 最尤法 p( x1 ,..., xn ) p( xi | k ) p(k ) i k 60/62 Clustering(6) それぞれの内部状態のためのパラメータを選ぶ には、以下の式に与えられる対数尤度関数を最 大にすることによって最尤推定を使用 log L log p( x1 ,...,xn ) log p( xi | k ) p(k ) i k (x m ) log L p(k | xi ) i 2 k 0 mk k i (4.5) ( xi mk ) 2 k2 log L p(k | xi ) 0 2 4 k 2 k i (4.6) これらの方程式はデータ点に換算したmkとσkの 表現として解決することができる 61/62 Clustering(7) 推定を実行するための一般的な方法 期待最大で状態推定のアルゴリズム mkとσのために推定値でモデルを初期化する モデルパラメータが一点に集まるまで以下を実行する: 1. 方程式(4.4)によると、確率的に内部状態を選ぶ。そ して、順番に方程式(4.4)は方程式(4.3)を使用する。 2. 状態が見積もられるので方程式(4.5)を使用すること によって、そのパラメータをアップデートする。 p(k ) 1 p(k | xi ) n i p(k | xi ) (4.4) (x m ) log L p(k | xi ) i 2 k 0 mk k i p( xi | k ) p(k ) p( xi | j) p( j) (4.3) j (4.5) 62/62
© Copyright 2024 ExpyDoc