概念

目的:source separation

input:x⊂Rdx\subset \mathbb{R}^d,有n个x. $ x^{(i)}.\text{size} = (d,1) $

output:s⊂Rds\subset \mathbb{R}^d,要求s不能是Gaussian分布的,否则无法求出s

function:f(x)=s, s.t. x(i)=As(i) or x=Asf(x)=s, \text{ s.t. } x^{(i)}=As^{(i)}\text{ or }x=As

其中A叫做maxing matrix,W叫做unmixing matrix,W=A−1W=A^{-1}, s=Wxs=Wx, sj(i)=ωjTx(i)s_j^{(i)}=\omega_j^Tx^{(i)}

W=[−ω1T−−ω2T−...−ωdT−]W = \left[ \begin{matrix} -\omega_1^T-\\-\omega_2^T-\\...\\-\omega_d^T- \end{matrix} \right]

ICA算法

maximum likelihood estimation|MLE算法

假设source 是独立于彼此的,则

p(s)=∏j=1dps(sj)p(s) = \prod_{j=1}^dp_s(s_j)

背景知识点1:px(x)p_x(x)是x的density,psp_s是s的density,且x=W−1sx=W^{-1}s,则px(x)=ps(Wx)∣W∣p_x(x)=p_s(Wx)|W|

根据知识点1,将x=As=W−1sx=As=W^{-1}s带入

p(s)=∏j=1dps(ωjTx)⋅∣W∣p(s) =\prod_{j=1}^dp_s(\omega_j^Tx)\cdot|W|

背景知识点2:cumulative distribution function (cdf) F的定义是为F(z0)=P(z≥z0)=∫−∞z0pz(z)dzF(z_0)=P(z\geq z_0)=\int_{-\infty}^{z_0}p_z(z)dz,density pz(z)=F′(z)p_z(z)=F'(z)

背景知识点3:对于sigmoid函数而言,g′(s)=g(s)(1−g(s))g'(s)=g(s)(1-g(s))

背景知识点4:∇W∣W∣=∣W∣(W−1)T\nabla_W|W|=|W|(W^{-1})^T

为了specify sis_i的density,我们选取一个具体的cdf,这个cdf可以是除了Gaussian以外所有的cdf,为了计算方便(根据知识点3),我们选取了sigmoid 函数g(s)=1/(1+e−s)g(s)=1/(1+e^{-s}),根据知识点2,带入后ps(s)=g′(s)p_s(s)=g'(s),得到了likelyhood

l(W;x)=∑i=1n(∑j=1dlog⁡g′(ωjTx(i))+log⁡∣W∣)\mathscr{l}(W;x)=\sum_{i=1}^n(\sum_{j=1}^d\log g'(\omega_j^Tx^{(i)})+\log|W|)

∣W∣|W|指的是det(W)det(W)

迭代

为了maximum l(W;x)\mathscr{l}(W;x),运用知识点3和4,对W进行迭代,迭代算法式子如下(固定i):

W:=W+α∇Wl(W;x)=W+α([1−2g(ω1Tx(i))1−2g(ω2Tx(i))...1−2g(ωdTx(i))]x(i)T+(WT)−1)W:=W+\alpha\nabla_W\mathscr{l}(W;x) =W+\alpha\left(\left[\begin{matrix} 1-2g(\omega_1^Tx^{(i)}) \\ 1-2g(\omega_2^Tx^{(i)}) \\ ...\\ 1-2g(\omega_d^Tx^{(i)}) \end{matrix}\right] x^{(i)T}+(W^T)^{-1} \right)

收敛

直到该算法收敛,即W不再变化,则我们可以通过s(i)=Wx(i)s^{(i)}=Wx^{(i)}来求出original sources


参考资料

https://www.emerald.com/insight/content/doi/10.1016/j.aci.2018.08.006/full/html


声明:此blog内容为上课笔记,仅为分享使用。部分图片和内容取材于课本、老师课件、网络。如果有侵权,请联系aursus.blog@gmail.com删除。