概念

目的:source separation

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

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

functionf(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=A1W=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=W1sx=W^{-1}s,则px(x)=ps(Wx)Wp_x(x)=p_s(Wx)|W|

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

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

背景知识点2:cumulative distribution function (cdf) F的定义是为F(z0)=P(zz0)=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)(1g(s))g'(s)=g(s)(1-g(s))

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

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

l(W;x)=i=1n(j=1dlogg(ωjTx(i))+logW)\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+α([12g(ω1Tx(i))12g(ω2Tx(i))...12g(ω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删除。