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 = W Zt + ε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) = ΠL
j=1N(zij|0, 1)
独立と無相関の違い:(一般的に言って) 独立は無限のクロスモーメント=0
で, 無相関は二次のモーメントが 0
PCA の Gaussian の場合は, 3 次以上のモーメントが 0 なので, 独立=無相関
結果として回転に対する不定性を残す
ICA は Non Gaussian を仮定することで回転に対する不定性を除く.
p(zt) = ΠL
j=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 the
same variance as Yj.
Daisuke Yoneoka ICA: 独立成分分析 March 2, 2015 5 / 10
Maximum likelihood estimation
x = W z より,
px(xt) = px(W zt) = pz(zt)|det(W −1
)| = pz(V xt|det(V )|), ただし
V −1
= W
T が iid とすると, 対数尤度は
1
T
log p(D|V ) = log |det(V )| +
1
T j t log pj(vT
j 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
dz
G(z) かつ β = −2λ とすると
f(v) = E[G(vT
x)] + λ(1 − vT
x)
∇f(v) = E[xg(vT
x)] − βv
H(v) = E[xxT
g
′
(vT
x)] − βI
次のような近似を考える:
E[xxT
g
′
(vT
x)] ≈ E[xxT
]E[g
′
(vT
x)] = E[g
′
(vT
x)]
これによってヘシアンが簡単になるので Newton 法は
v∗
= E[xg(vT
x)] − E[g
′
(vT
x)]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, σ2
jk)
p(x|z) = N(W z, Ψ)
ポイントは E[zt|xt, θ] が qt での全パターンの summary を考えることでで
きる点. かなり expendive な場合は変分法でもできる (Attias 1999).
次に E[zt] を GMM なんかで推定する
最後に pj(zj) =
K
k=1 πjkN(zj|µjk, σ2
jk) を推定する.
Daisuke Yoneoka ICA: 独立成分分析 March 2, 2015 9 / 10
その他の推定法
最尤法だけじゃないよ!
詳細は Hyvarinen and Oja (2000) を御覧ください.
エントロピーを最大化じゃなくネジェントロピーの最大化
相互情報量の最小化
相互情報量の最大化 (infomax)
Daisuke Yoneoka ICA: 独立成分分析 March 2, 2015 10 / 10

独立成分分析 ICA

  • 1.
    ICA: 独立成分分析 Daisuke Yoneoka March2, 2015 Daisuke Yoneoka ICA: 独立成分分析 March 2, 2015 1 / 10
  • 2.
    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
  • 3.
    ICA 導入 xt =W Zt + ε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
  • 4.
    Prior に NonGauss を PCA とその周辺では z の prior に Gaussian を仮定していた. p(zt) = ΠL j=1N(zij|0, 1) 独立と無相関の違い:(一般的に言って) 独立は無限のクロスモーメント=0 で, 無相関は二次のモーメントが 0 PCA の Gaussian の場合は, 3 次以上のモーメントが 0 なので, 独立=無相関 結果として回転に対する不定性を残す ICA は Non Gaussian を仮定することで回転に対する不定性を除く. p(zt) = ΠL j=1pj(zij) 順序に対する不定性と power に対する不定性は, それでも残る W ∗ = P ΛW で P は permutation, Λ は強さを変換する行列 Daisuke Yoneoka ICA: 独立成分分析 March 2, 2015 4 / 10
  • 5.
    推定法概説 基本的には 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 the same variance as Yj. Daisuke Yoneoka ICA: 独立成分分析 March 2, 2015 5 / 10
  • 6.
    Maximum likelihood estimation x= W z より, px(xt) = px(W zt) = pz(zt)|det(W −1 )| = pz(V xt|det(V )|), ただし V −1 = W T が iid とすると, 対数尤度は 1 T log p(D|V ) = log |det(V )| + 1 T j t log pj(vT j xt) 第一項は V が orthogonal なので定数 第二項を V が orthogonal という制約下で最小化すれば良い Gradient descent: 遅い Natural descent: MacKay, 2003 Newton method or EM. Daisuke Yoneoka ICA: 独立成分分析 March 2, 2015 6 / 10
  • 7.
    FastICA (Hyvarinen andOja (2000)) 要は, Newton 方を ICA 用に変更?簡単化のために z は一次元で, しかもその分布 が分かるとする. G(z) = − log p(z) で, g(z) = d dz G(z) かつ β = −2λ とすると f(v) = E[G(vT x)] + λ(1 − vT x) ∇f(v) = E[xg(vT x)] − βv H(v) = E[xxT g ′ (vT x)] − βI 次のような近似を考える: E[xxT g ′ (vT x)] ≈ E[xxT ]E[g ′ (vT x)] = E[g ′ (vT x)] これによってヘシアンが簡単になるので Newton 法は v∗ = E[xg(vT x)] − E[g ′ (vT x)]v が簡単になる vnew = v∗ ∥v∗∥ で更新すれば OK Daisuke Yoneoka ICA: 独立成分分析 March 2, 2015 7 / 10
  • 8.
    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
  • 9.
    EM for ICA p(z)を仮定する代わりに正規混合みたいなのを考えてもいいんじゃないか? p(qj = k) = πk p(zj|qj = k) = N(µjk, σ2 jk) p(x|z) = N(W z, Ψ) ポイントは E[zt|xt, θ] が qt での全パターンの summary を考えることでで きる点. かなり expendive な場合は変分法でもできる (Attias 1999). 次に E[zt] を GMM なんかで推定する 最後に pj(zj) = K k=1 πjkN(zj|µjk, σ2 jk) を推定する. Daisuke Yoneoka ICA: 独立成分分析 March 2, 2015 9 / 10
  • 10.
    その他の推定法 最尤法だけじゃないよ! 詳細は Hyvarinen andOja (2000) を御覧ください. エントロピーを最大化じゃなくネジェントロピーの最大化 相互情報量の最小化 相互情報量の最大化 (infomax) Daisuke Yoneoka ICA: 独立成分分析 March 2, 2015 10 / 10