您的位置:首页 > 其它

【模式识别】独立成分分析 ICA 中的几种方法

2011-05-28 16:38 316 查看
K-L 变换,也就是PCA,得到的是MSE下的最优结构,但有时对于分类效果并不是很好。所以我们引入了ICA。如果是PCA是使二阶积累量为0的话,那么ICA就是前四阶积累量都是0.那ICA是什么意思呢?

类别信息的源头是一组独立的分量,但是类别信息表现出来的是一组互相相关的分量,当然这组分量的个数应该大于独立分量的个数。我们的任务就是去除这种互相关;使分量由相关的一组,变为无关的一组,也就是独立成分。

那具体该怎么做呢?我们一下有这么三个方法:

(一)累积量法

k1(z) = E[zi] ;

k2(z) = E[zizj] ;

k3(z) = E[zizizk] ;

k4(z) = E[zizjzkzl] - E[zizj] E[zkzl] - E[zizk] E[zlzj] - E[zizl] E[zkzj];

对于一般的随即变量,PDF(概率密度函数)都是对称分布的。所以k1和k3为0.

那么,要使k2为0,我们旧的使用主成分分析就好,也就是PCA。所以第一步就是先做PCA,求的PCA的线性变换矩阵。

y = Ax

第二步,我们要做的是进行k4的最小化, 根据数学可知,k4的最小化,也就是求一个正交矩阵,使下面的式子最大。(交叉积累量最小也就是自积累量最大。)

max Obj(B) = SUM(k4(yi)2)

之后结合上述信息,我们有:x = (BA)y. ICA变换矩阵 W = BA。

(2)最大熵法

你可能会问,我们要降低特征的维数,这是压缩,为什么还要最大化熵呢?压缩的话不是熵越小越好么?

的确,熵越小表示压缩效果越好,但那是无损压缩;对于本身我们已经确定下压缩能力的有损压缩模型而言,最大的接近原有的熵就意味着最大的保留了信息。所以我们用最大化熵的办法。

其中:z = f(Wy + b); f 为Sigmoid函数。

(公式比较复杂,我就不写了)

结果还是用迭代优化的算法:

dW = (WT)-1 + (1 - 2z)yT
db = 1 - 2z

(3)最小互信息法

原理和(2)比较像,这里从略。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: