ICA算法-盲源分离

本文介绍了使用最大似然估计算法和FastICA算法进行盲源分离的原理与MATLAB实现。最大似然估计中,通过sigmoid函数近似概率密度函数并采用梯度下降优化W矩阵。FastICA则通过最大化负熵寻找独立成分,负熵与独立性有密切关系。MATLAB源程序用于演示ICA算法的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ICA算法的研究可分为基于信息论准则的迭代估计方法和基于统计学的代数方法两大类,从原理上来说,它们都是利用了源信号的独立性和非高斯性。基于信息论的方法研究中,各国学者从最大熵、最小互信息、最大似然和负熵最大化等角度提出了一系列估计算法。如FastICA算法, Infomax算法,最大似然估计算法等。基于统计学的方法主要有二阶累积量、四阶累积量等高阶累积量方法。

一:最大似然估计算法

1.1 目标函数部分

我们假设信号Si有概率密度函数Ps(t),由于我们假定信号源是相互独立的,其实经过白化处理后就变成独立的了;那么在给定时刻的联合分布函数为:

 

知道了信号源的联合分布Ps(t),再由分解矩阵S=WX,可以得出信号x的联合分布函数。


其中|W|为W的行列式。

由于没有先验知识,只知道原信号之间特征独立,且最多有一个是高斯分布,所以我们没有办法确定Ps(t)的分布,所以我们选取一个概率密度函数Ps^(t)来近似估计Ps(t)。

在概率论中我们知道概率密度函数由累积分布函数F(x)(cumulative distribution function,cdf)求导得到。

F(x)要满足两个性质:1,单调递增;2,值域在[0 1]范围

我们发现sigmoid函数的定义域是负无穷到正无穷,值域为0到1,缓慢递增的性质。基于sigmoid函数良好的性质,我们用sigmoid函数来近似估计F(x),通过求导得到Ps^(t)。

              

两函数图像如图:

 

怎么感觉pdf 函数g(s)这么像高斯分布函数呢??这个有点不理解(以后在研究吧)。

如果我们预先知道Ps(t)的分布函数,那就不用假设了;但是在缺失的情况下,sigmoid函数大多数情况下能够起到不错的效果。由于Ps(t)s是个对称函数,所以均值E[s]=0,那么E[x]=E[AS

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值