机器学习-独立成分分析(ICA)

1. 独立成分分析(Independent Components Analysis)

  • 1.1 概念
    独立成分分析是从观测变量中分离出独立元素,观测变量的维度(数目)要和独立元素维度(数目)相同。模型表示如下
    x = A s ( x , s ∈ R n , A ∈ R n ∗ n ) x 为 观 测 变 量 , s 中 各 个 分 量 彼 此 独 立 s = A − 1 x = W x x = As (x,s \in R^n, A\in R^{n*n})\\ x为观测变量, s中各个分量彼此独立 \\ s = A^{-1}x = Wx x=Asx,sRnARnnx,ss=A1x=Wx

  • 1.2 如何求解模型
    已知的变量只有 x x x,需要根据 x x x值推导出矩阵 A A A。如果不增加其它设定,是无法仅根据 x x x求解出矩阵A,因此需要增加其它条件,来建立合适的 p ( x ) p(x) p(x)概率密度模型,然后再通过极大似然估计求解矩阵 A A A
    先说因子分析的几个限制
    (1)无法区分各个独立成分的顺序
    (2)不能恢复独立成分的大小( 2 A . 1 2 s = A s 2A.\frac{1}{2}s=As 2A.21s=As
    (3)若独立成分是高斯分布,则不能恢复
    若要求解矩阵 A A A, 需要预先假设原独立成分的概率模型,不过和因子分析不同的是,这里假设的是分布函数.实际应用时,多数情况都可以假设 s s s中每一个元素的分布函数都服从 F ( s j ) = 1 1 + exp ⁡ − s j F(s_j)=\frac{1}{1+\exp^{-s_j}} F(sj)=1+expsj1,此时变量 s s s的概率密度函数可以表示为
    p ( s ) = ∏ j = 1 n p ( s j ) = ∏ j = 1 n F ′ ( s j ) = ∏ j = 1 n F ′ ( W j T x ) W j 表 示 矩 阵 W 第 j 行 向 量 p(s)=\prod _{j=1}^np(s_j)=\prod _{j=1}^nF^{\prime}(s_j)=\prod _{j=1}^nF^{\prime}(W_j^Tx) \\ W_j表示矩阵W第j行向量 p(s)=j=1np(sj)=j=1nF(sj)=j=1nF(WjTx)WjWj

根据雅可比式,可以得到 p ( x ) p(x) p(x)表达式为
p ( x ) = p ( s ) J ( s → x ) = p ( s ) ∣ w ∣ = [ ∏ j = 1 n F ′ ( W j T x ) ] ∣ W ∣ p(x)=p(s)J(s\to x)=p(s)|w|=[\prod _{j=1}^nF^{\prime}(W_j^Tx)]|W| p(x)=p(s)J(sx)=p(s)w=[j=1nF(WjTx)]W

这样模型就建立了,接下来就可以使用对数似然函数求解
l ( W ) = ∑ i = 1 m [ ( ∑ j = 1 n log ⁡ F ′ ( W j T x ( i ) ) ) + log ⁡ ∣ W ∣ ] W : = W + α ( [ 1 − 2 F ( W 1 T x ( i ) ) ⋮ 1 − 2 F ( W n T x ( i ) ) ] x ( i ) T + ( W T ) − 1 ) l(W) = \sum _{i=1}^m[(\sum _{j=1}^n\log F^{\prime}(W_j^Tx^{(i)}))+\log |W|] \\ W:=W+\alpha(\begin{bmatrix} 1-2F(W_1^Tx^{(i)})\\ \vdots \\ 1-2F(W_n^Tx^{(i)}) \end{bmatrix}x^{(i)^T}+(W^T)^{-1}) l(W)=i=1m[(j=1nlogF(WjTx(i)))+logW]W:=W+α(12F(W1Tx(i))12F(WnTx(i))x(i)T+(WT)1)

你可能感兴趣的:(每日总结,人工智能)