Famous Dimensionality Reduction Methods
Daiki Okayama,•
手法のまとめ
| 手法名 | 特徴 |
|---|
| 変数間の従属性が高ければ、より少数の主成分で元データを表現できる |
| 非負データにしか使えないが、非負ベクトルの和の形で表現できる |
なぜ次元削減が必要か?
主成分分析 (PCA)
[Questions]
- 共分散行列の固有値問題を解くことがなぜ分散の最大化につながるのか?
[Keywords]
多次元データのもつ情報をできるだけ損なわずに低次元空間に情報を縮約する手法。
m 個の特徴量のデータが n 点存在するとし、行列 X と各データ点に対応するベクトル xi=(xi1,xi2,…,xim) (i=1,2,…n) を用いて与えられるとする。
X=x11x21⋮xn1x12x22⋮xn2……⋱…x1mx2m⋮xnm=x1x2⋮xn
m 個の正規直交基底 v1,v2,…,vm∈Rm を用いて元データを近似することを考えたい。
- 正規直交基底 - 正規直交系である基底
- 正規直交系 - Rn のベクトル v1,…,vm が各々が長さ1で互いに直交する、つまり vi⋅vj=δij が成り立つとき、正規直交系と呼ぶ
- 基底 - 座標系を作り出す 1 次独立なベクトルの集まり
具体的には、
X=x1x2⋮xn=t11v1+t12v2+⋯+t1mvmt21v1+t22v2+⋯+t2mvm⋮tn1v1+tn2v2+⋯+tnmvm≈t11v1+t12v2+⋯+t1kvkt21v1+t22v2+⋯+t2kvk⋮tn1v1+tn2v2+⋯+tnkvk
のように、m 個の正規直交基底のうち、k (<m) 個の正規直交基底を利用して各データ点を近似する。このとき、vj を第 j 主成分軸、tij をデータ点 xi の第 j 主成分軸における主成分得点と呼ぶ。(tij は主成分軸の基底 vj が決まれば求められることに注意)

主成分軸の算出
結論から述べると、特徴量の共分散行列 S に対する固有値問題を解くことで主成分軸は求められる。
ここで、共分散行列 S は、
S=n1∑i=1nxi12∑i=1nxi2xi1⋮∑i=1nximxi1∑i=1nxi1xi2∑i=1nxi22⋮∑i=1nximxi2⋯⋯⋱⋯∑i=1nxi1xim∑i=1nxi2xim⋮∑i=1nxim2=n1x11x12⋮x1nx21x22⋮x2n……⋱…xm1xm2⋮xmnx11x21⋮xn1x12x22⋮xn2……⋱…x1mx2m⋮xnm=n1XTX
とかける。
- 共分散行列 (分散共分散行列) - S の (i,j) (i=j) 成分は特徴量 i と特徴量 j の共分散を、(i,i) 成分は特徴量 i の分散を意味する
各データ点を第 j 主成分軸に射影した点 t1j,…,tnj の分散を最大化することを考えたい。
xi と vj の内積がデータ点 xi の主成分軸 vj への射影になる、つまり xi⋅vj=tij であることを踏まえれば、射影した点 t1j,…,tnj の分散は次式のように計算できる。
n1i=1∑ntij2=n1i=1∑n(xi⋅vj)2=n1(x1⋅vjx2⋅vj⋯xn⋅vj)(x1⋅vjx2⋅vj⋯xn⋅vj)T=n1x1x2⋮xnvjTx1x2⋮xnvj=n1(Xvj)T(Xvj)=n1vjTXTXvj=vjTSvj
よって、ある主成分軸 j への射影後の各データ点の分散を最大化するには、vjTSvj を最大化すればよいことが分かる。
特に、正規直交基底として ∣vj∣2=1 を仮定していたので、この問題は制約付き最大化問題としてラグランジュの未定乗数法を用いて解くことができる。
- ラグランジュの未定乗数法 - 多変数関数において条件付きの局地問題を解く方法
- [定理] 束縛条件 g(x)=0 の下で、f(x) を最大となる x を求める問題において、束縛条件に対して用意される定数 (未定乗数) を含めた新たな関数 L(x,λ)=f(x)+λg(x) に対して、f(x) が束縛条件 g(x)=0 の下で最大化されるとき、∂L/∂x=0,∂L/∂λ=0 が成立する。
要するに、
max.s.t.vjTSvjvjTvj=1
の解である j 主成分軸のベクトル vj は、ラグランジュの未定乗数法によれば、λ∈R を導入によって定義される L(vj,λ)=vjTSvj−λ(vjTvj−1) の極値問題を解くことで得られるということである。
L(vj,λ) を vj で微分すると、
∂L/∂vj=2Svj−2λvj=2(Svj−λvj)
であり、∂L/∂vj=0 として解けば Svj=λvj が得られるが、これは共分散行列 S に対する固有値問題に他ならない。
同様にして、∂L/∂λ=0 解いて得られる vjTvj=1 は、正規直交基底の条件そのものである。
非負値行列因子分解 (NMF)
参考: Lee, Daniel & Seung, Hyunjune. (2001). Algorithms for Non-negative Matrix Factorization. Adv. Neural Inform. Process. Syst.. 13.
[Keywords]
非負行列を2つの非負行列の積で表現する手法。

なぜ非負にこだわるのかというと、 によれば、
- 実世界には非負値データが多いこと
- 係数行列をスパースに誘導することができ、その結果基底行列の情報量が増える
とのこと。
Y≈HU
ただし、Y∈R+N,K,H∈R+K,M,U∈R+M,Nであり、H を基底行列、U を係数行列という。
mins.t.D(H,U)=i=1∑Nj=1∑K(yi,j−k=1∑Mhi,kuk,j)2hi,k≥0i=1,…,N,k=1,…,Muk,j≥0k=1,…,M,j=1,…,K
目的関数を展開すると、
D(H,U)==i=1∑Nj=1∑K(yi,j−k=1∑Mhi,kuk,j)2i=1∑Nj=1∑Kyi,j2−2yi,jk=1∑Mhi,kuk,j+(k=1∑Mhi,kuk,j)2
(補足)D(H,U) の展開をさらに進めると、
=i=1∑Nj=1∑Kyi,j2−2yi,jk=1∑Mhi,kuk,j+(k=1∑Mhi,kuk,j)2i=1∑Nj=1∑Kyi,j2−2yi,jk=1∑Mhi,kuk,j+k=1∑Mhi,k2uk,j2+2k=l∑hi,kuk,jhi,lul,j
のように、hi,kvk,j に関する項が増え、解析的に解を求めることが困難になる。
ここで、∑k=1Mλi,j,k=1 の下で λi,j,k>0 を導入すると、イェンセンの不等式から、
=≤=i=1∑Nj=1∑Kyi,j2−2yi,jk=1∑Mhi,kuk,j+(k=1∑Mhi,kuk,j)2i=1∑Nj=1∑Kyi,j2−2yi,jk=1∑Mhi,kuk,j+(k=1∑Mλi,j,kλi,j,khi,kuk,j)2i=1∑Nj=1∑K(yi,j2−2yi,jk=1∑Mhi,kuk,j+k=1∑Mλi,j,k(λi,j,khi,kuk,j)2)i=1∑Nj=1∑K(yi,j2−2yi,jk=1∑Mhi,kuk,j+k=1∑Mλi,j,khi,k2uk,j2)
と目的関数の上限となる関数が得られ、これを λ={λi,j,k}N×K×M を用いて G(H,U,λ) とおく。等号は、λi,j,1hi,1u1,j=λi,j,2hi,2u2,j=⋯=λi,j,Mhi,MuM,j のとき成り立つ。
これにより、補助関数法に従えば、
λHU←λargminG(H,U,λ)←HargminG(H,U,λ)←UargminG(H,U,λ)
を繰り返し行うことで、目的関数 D(H,U) の値を最小化できるということである。
まず、イェンセンの不等式の等号成立条件 λi,j,1hi,1u1,j=λi,j,2hi,2u2,j=⋯=λi,j,Mhi,MuM,j から、
λi,j,1λi,j,2⋮λi,j,M=hi,1u1,jhi,1u1,jλi,j,1=hi,1u1,jhi,2u2,jλi,j,1=hi,1u1,jhi,MuM,jλi,j,1
が得られ、∑k=1Mλi,j,k=1 に代入すると、
hi,1u1,jhi,1u1,jλi,j,1+hi,1u1,jhi,2u2,jλi,j,1+⋯+hi,1u1,jhi,MuM,jλi,j,1=1
から、
λi,j,1=∑k=1Mhi,kvk,jhi,1u1,j
が得られる。λi,j,2,…,λi,j,M らについても同様に計算すると、
λi,j,k=∑k′=1Mhi,k′vk′,jhi,kuk,j
として関数 G(H,U,λ) の最小の値を与える λ が計算できた。
次に、G(H,U,λ) は、次式のように行列 H の各要素 hi,k ごとに分離できる。各 hi,k について整理すると、
G(H,U,λ)=i=1∑Nj=1∑Kyi,j2+i=1∑Nk=1∑M((j=1∑K−2yi,jvk,j)hi,k+(j=1∑Kλi,j,kuk,j2)hi,k2)
のように、hi,k ごとに独立な二次関数の和の形で表現できるので、それぞれの hi,k を個別に最小化することで式全体を最小化できる。式の値を最小化する各 h^i,k は、
h^i,k=∑j=1Kλi,j,kuk,j2∑j=1Kyi,jvk,j
であり、同様にして行列 U の各要素 uk,j に対しても G(H,U,λ) を最小化する u^k,j も、
u^k,j=∑i=1Nλi,j,khi,k2∑i=1Nyi,jhi,k
のように求まる。
各行列要素の値の更新を繰り返すことで、目的関数 D(H,U) の値を単調減少させることができる。
イェンセンの不等式 (Jensen’s inequality)
任意の凸関数 g、I 個の実数 x1,…,xI、∑i=1Iλi=1 を満たす I 個の正値の重み係数 λ1,…,λI のもとで、
g(i=1∑Iλixi)≤i=1∑Iλig(xi)
が成り立つ。等号は x1=x2=⋯=xI のとき成立する。
(証明) I=2 のとき、不等式は凸関数の性質そのものである。I=k のとき、不等式が成り立つと仮定して、I=k+1 のとき、
g(i=1∑k+1λixi)≤i=1∑k+1λig(xi)
となることを示したい。
問題の仮定より、∑i=1k+1λi=1 である。ここで、∑i=1k1−λk+1λi=1 であることと、帰納法の仮定から、
g(i=1∑k1−λk+1λixi)≤i=1∑k1−λk+1λig(xi)(1)
が得られる。
さらに、(1−λk+1)+λk+1=1 と凸関数の性質から、
g((1−λk+1)(i=1∑k1−λk+1λixi)+λk+1xk+1)≤(1−λk+1)g(i=1∑k1−λk+1λixi)+λk+1g(xk+1)
であり、右辺は (1) より、
(1−λk+1)g(i=1∑k1−λk+1λixi)+λk+1g(xk+1)≤(1−λk+1)i=1∑k1−λk+1λig(xi)+λk+1g(xk+1)=i=1∑k+1λig(xi)
によって題意の不等式が示された。
補助関数法
目的関数が非線形であるといった理由等で解の探索が困難な場合、目的関数の上限となる補助関数を反復的に降下させることで目的関数を間接的に降下させることができる。
θ={θi}1≤i≤I を変量とする目的関数 D(θ) に対し、
D(θ)=θˉminG(θ,θˉ)
が成り立つとき、G(θ,θˉ) を D(θ) を補助関数、θˉ を補助変数という。
補助関数 G(θ,θˉ) を、θˉ に関して最小化するステップと、θ1,…,θI に関して最小化するステップ
θˉθi←θˉargminG(θ,θˉ)←θiargminG(θ,θˉ)
を繰り返すと、目的関数 D(θ) の値は単調減少する。
MIT License 2025 © Daiki Okayama.RSS