Upload
daisuke-yoneoka
View
105
Download
0
Embed Size (px)
Citation preview
ICA: 独立成分分析
Daisuke Yoneoka
March 2, 2015
Daisuke Yoneoka ICA: 独立成分分析 March 2, 2015 1 / 10
Notations
! Latent: zt ∈ RL
! Observed: xt ∈ RD
! tは時間でとりあえず時間異存なし
! Cocktail party problem, blind signal separation, blind source separationとも呼ばれる.
Daisuke Yoneoka ICA: 独立成分分析 March 2, 2015 2 / 10
ICA 導入
! xt = WZt + εt という構造! W は D × Lの mixing matrix or generative weights! εt ∼ N(0,Ψ), ただし簡単化のために ∥Ψ∥ = 0
! 目標は p(zt|xt,θ)を求めること!
! (僕の考えた)PCAと ICAの違い:
! PCA: 信号の強さ (固有値の大きさ)に注目し、それらは相関 = 0! ICA: 信号が独立に分離できることを重視している! でも Varimaxしながらの PCAと何が違うのかわからない...
Daisuke Yoneoka ICA: 独立成分分析 March 2, 2015 3 / 10
PriorにNon Gaussを
PCAとその周辺では zの priorに Gaussianを仮定していた.
p(zt) = ΠLj=1N(zij |0, 1)
! 独立と無相関の違い:(一般的に言って)独立は無限のクロスモーメント=0で, 無相関は二次のモーメントが 0
! PCAの Gaussianの場合は, 3次以上のモーメントが 0なので, 独立=無相関! 結果として回転に対する不定性を残す
! ICAは Non Gaussianを仮定することで回転に対する不定性を除く.
p(zt) = ΠLj=1pj(zij)
! 順序に対する不定性と powerに対する不定性は, それでも残る! W ∗ = PΛW で P は permutation, Λは強さを変換する行列
Daisuke Yoneoka ICA: 独立成分分析 March 2, 2015 4 / 10
推定法概説
! 基本的には Information bottleneckというか相互情報量を最小化していく.I(z) =
!H(zt)−H(z)
! I(z)は相互情報量で Kullback Leibler distance
! H(z) = −"g(z) log g(z)dzはエントロピー
! xを中心化と白色化 (ie.E[xxT ] = I)で,zの分散は 1にしておくとcov(x) = E[xxT ] = WE[zzT ]WT よりWは orthogonalに限定できる
! 他にもH(zt)の代わりに Negentropyを使うこともある (Hyvarinen and Oja(2000)).
! J(Yj) = H(Zj)−H(Yj) ただし,Zj is a Gaussian random variable with thesame variance as Yj .
Daisuke Yoneoka ICA: 独立成分分析 March 2, 2015 5 / 10
Maximum likelihood estimation
! x = Wzより,px(xt) = px(Wzt) = pz(zt)|det(W−1)| = pz(V xt|det(V )|), ただしV −1 = W
! Tが iidとすると, 対数尤度は1
Tlog p(D|V ) = log |det(V )|+ 1
T
!j
!t log pj(v
Tj xt)
! 第一項は V が orthogonalなので定数! 第二項を V が orthogonalという制約下で最小化すれば良い
! Gradient descent: 遅い! Natural descent: MacKay, 2003! Newton method or EM.
Daisuke Yoneoka ICA: 独立成分分析 March 2, 2015 6 / 10
FastICA (Hyvarinen and Oja (2000))
要は, Newton方を ICA用に変更?簡単化のために zは一次元で,しかもその分布が分かるとする.
! G(z) = − log p(z)で, g(z) =d
dzG(z)かつ β = −2λとすると
f(v) = E[G(vTx)] + λ(1− vTx)
∇f(v) = E[xg(vTx)]− βv
H(v) = E[xxT g′(vTx)]− βI
! 次のような近似を考える:E[xxT g
′(vTx)] ≈ E[xxT ]E[g
′(vTx)] = E[g
′(vTx)]
! これによってヘシアンが簡単になるので Newton法はv∗ = E[xg(vTx)]− E[g
′(vTx)]v が簡単になる
! vnew =v∗
∥v∗∥ で更新すれば OK
Daisuke Yoneoka ICA: 独立成分分析 March 2, 2015 7 / 10
Non Gaussianって何使えばいいの?! Super-Gaussian (leptokurtic): ラプラス分布とかがこのクラス. 中心が尖って裾長.
! Sub-Gaussian (platykurtic): 負の尖度を持つクラス.
kurt(z) =E[(Z − E[Z])4]
σ4− 3
! Skewed distribution: ガンマ分布なんかがこのクラス.
skew(z) =E[(Z − E[Z])3]
σ3
Daisuke Yoneoka ICA: 独立成分分析 March 2, 2015 8 / 10
EM for ICA
p(z)を仮定する代わりに正規混合みたいなのを考えてもいいんじゃないか?
p(qj = k) = πk
p(zj |qj = k) = N(µjk,σ2jk)
p(x|z) = N(Wz,Ψ)
! ポイントは E[zt|xt,θ]が qt での全パターンの summaryを考えることでできる点. かなり expendiveな場合は変分法でもできる (Attias 1999).
! 次に E[zt]を GMMなんかで推定する
! 最後に pj(zj) =!K
k=1 πjkN(zj |µjk,σ2jk)を推定する.
Daisuke Yoneoka ICA: 独立成分分析 March 2, 2015 9 / 10
その他の推定法
最尤法だけじゃないよ!詳細は Hyvarinen and Oja (2000)を御覧ください.
! エントロピーを最大化じゃなくネジェントロピーの最大化
! 相互情報量の最小化
! 相互情報量の最大化 (infomax)
Daisuke Yoneoka ICA: 独立成分分析 March 2, 2015 10 / 10