基于负熵最大化的FastICA算法

上传人:积*** 文档编号:123928089 上传时间:2022-07-23 格式:DOC 页数:12 大小:1.20MB
收藏 版权申诉 举报 下载
基于负熵最大化的FastICA算法_第1页
第1页 / 共12页
基于负熵最大化的FastICA算法_第2页
第2页 / 共12页
基于负熵最大化的FastICA算法_第3页
第3页 / 共12页
资源描述:

《基于负熵最大化的FastICA算法》由会员分享,可在线阅读,更多相关《基于负熵最大化的FastICA算法(12页珍藏版)》请在装配图网上搜索。

1、基于负熵最大化的FastICA算法一算法原理:独立分量分析(ICA)的过程如下图所示:在信源中各分量互相独立的假设下,由观测通过结婚系统把她们分离开来,使输出逼近。图1-ICA的一般过程ICA算法的研究可分为基于信息论准则的迭代估计措施和基于记录学的代数措施两大类,从原理上来说,它们都是运用了源信号的独立性和非高斯性。基于信息论的措施研究中,各国学者从最大熵、最小互信息、最大似然和负熵最大化等角度提出了一系列估计算法。如FastICA算法, Infomax算法,最大似然估计算法等。基于记录学的措施重要有二阶累积量、四阶累积量等高阶累积量措施。本实验重要讨论FastICA算法。1. 数据的预解决

2、 一般状况下,所获得的数据都具有有关性,因此一般都规定对数据进行初步的白化或球化解决,由于白化解决可清除各观测信号之间的有关性,从而简化了后续独立分量的提取过程,并且,一般状况下,数据的白化解决能大大增强算法的收敛性。若一零均值的随机向量满足,其中:为单位矩阵,我们称这个向量为白化向量。白化的本质在于去有关,这同主分量分析的目的是同样的。在ICA中,对于为零均值的独立源信号,有:,且协方差矩阵是单位阵,因此,源信号是白色的。对观测信号,我们应当寻找一种线性变换,使投影到新的子空间后变成白化向量,即: (2.1)其中,为白化矩阵,为白化向量。运用主分量分析,我们通过计算样本向量得到一种变换其中和

3、分别代表协方差矩阵的特性向量矩阵和特性值矩阵。可以证明,线性变换满足白化变换的规定。通过正交变换,可以保证。因此,协方差矩阵: (2.2)再将式代入,且令,有 (2.3)由于线性变换连接的是两个白色随机矢量和,可以得出一定是一种正交变换。如果把上式中的看作新的观测信号,那么可以说,白化使本来的混合矩阵简化成一种新的正交矩阵。证明也是简朴的: (2.4)其实正交变换相称于对多维矢量所在的坐标系进行一种旋转。在多维状况下,混合矩阵是的,白化后新的混合矩阵由于是正交矩阵,其自由度降为,因此说白化使得ICA问题的工作量几乎减少了一半。白化这种常规的措施作为ICA的预解决可以有效地减少问题的复杂度,并且

4、算法简朴,用老式的PCA就可完毕。用PCA对观测信号进行白化的预解决使得本来所求的解混合矩阵退化成一种正交阵,减少了ICA的工作量。此外,PCA自身具有降维功能,当观测信号的个数不小于源信号个数时,通过白化可以自动将观测信号数目降到与源信号维数相似。2. FastICA算法 FastICA算法,又称固定点(Fixed-Point)算法,是由芬兰赫尔辛基大学Hyvrinen等人提出来的。是一种迅速寻优迭代算法,与一般的神经网络算法不同的是这种算法采用了批解决的方式,即在每一步迭代中有大量的样本数据参与运算。但是从分布式并行解决的观点看该算法仍可称之为是一种神经网络算法。FastICA算法有基于峭

5、度、基于似然最大、基于负熵最大等形式,这里,我们简介基于负熵最大的FastICA算法。它以负熵最大作为一种搜寻方向,可以实现顺序地提取独立源,充足体现了投影追踪(Projection Pursuit)这种老式线性变换的思想。此外,该算法采用了定点迭代的优化算法,使得收敛更加迅速、稳健。由于FastICA算法以负熵最大作为一种搜寻方向,因此先讨论一下负熵判决准则。由信息论理论可知:在所有等方差的随机变量中,高斯变量的熵最大,因而我们可以运用熵来度量非高斯性,常用熵的修正形式,即负熵。根据中心极限定理,若一随机变量由许多互相独立的随机变量之和构成,只要具有有限的均值和方差,则不管其为什么种分布,随

6、机变量较更接近高斯分布。换言之,较的非高斯性更强。因此,在分离过程中,可通过对分离成果的非高斯性度量来表达分离成果间的互相独立性,当非高斯性度量达到最大时,则表白已完毕对各独立分量的分离。负熵的定义: (2.5)式中,是一与具有相似方差的高斯随机变量,为随机变量的微分熵 (2.6) 根据信息理论,在具有相似方差的随机变量中,高斯分布的随机变量具有最大的微分熵。当具有高斯分布时,;的非高斯性越强,其微分熵越小,值越大,因此可以作为随机变量非高斯性的测度。由于根据式(3.6)计算微分熵需要懂得的概率密度分布函数,这显然不切实际,于是采用如下近似公式: (2.7)其中,为均值运算;为非线性函数,可取

7、,或或等非线性函数,这里,一般我们取。迅速ICA学习规则是找一种方向以便具有最大的非高斯性。这里,非高斯性用式(3.7)给出的负熵的近似值来度量,的方差约束为1,对于白化数据而言,这等于约束的范数为1。FastICA算法的推导如下。一方面,的负熵的最大近似值能通过对进行优化来获得。根据Kuhn-Tucker条件,在的约束下,的最优值能在满足下式的点上获得。 (2.8)这里,是一种恒定值, ,是优化后的值。下面我们运用牛顿迭代法解方程(3.8)。用表达式(3.8)左边的函数,可得的雅可比矩阵如下: (2.9)为了简化矩阵的求逆,可以近似为(3.9)式的第一项。由于数据被球化,,因此,。因而雅可比

8、矩阵变成了对角阵,并且能比较容易地求逆。因而可以得到下面的近似牛顿迭代公式: (2.10)这里,是的新值,规格化能提高解的稳定性。简化后就可以得到FastICA算法的迭代公式: (2.11)实践中,FastICA算法中用的盼望必须用它们的估计值替代。固然最佳的估计是相应的样本平均。抱负状况下,所有的有效数据都应当参与计算,但这会减少计算速度。因此一般用一部分样本的平均来估计,样本数目的多少对最后估计的精确度有很大影响。迭代中的样本点应当分别选用,如果收敛不抱负的话,可以增长样本的数量。3. FastICA算法的基本环节:1. 对观测数据进行中心化,使它的均值为0;2. 对数据进行白化,。3.

9、选择需要估计的分量的个数,设迭代次数4. 选择一种初始权矢量(随机的)。5. 令,非线性函数的选用见前文。6. 。7. 令。8. 如果不收敛的话,返回第5步。9令,如果,返回第4步。二MATLAB源程序及阐明:%下程序为ICA的调用函数,输入为观测的信号,输出为解混后的信号function Z=ICA(X)%-去均值-M,T = size(X); %获取输入矩阵的行/列数,行数为观测数据的数目,列数为采样点数 average= mean(X); %均值for i=1:M X(i,:)=X(i,:)-average(i)*ones(1,T); end%-白化/球化-Cx = cov(X,1);

10、%计算协方差矩阵Cxeigvector,eigvalue = eig(Cx); %计算Cx的特性值和特性向量W=eigvalue(-1/2)*eigvector; %白化矩阵Z=W*X; %正交矩阵 %-迭代-Maxcount=10000; %最大迭代次数Critical=0.00001; %判断与否收敛m=M; %需要估计的分量的个数W=rand(m);for n=1:m WP=W(:,n); %初始权矢量(任意)% Y=WP*Z;% G=Y.3;%G为非线性函数,可取y3等% GG=3*Y.2; %G的导数 count=0; LastWP=zeros(m,1); W(:,n)=W(:,n)

11、/norm(W(:,n); while abs(WP-LastWP)&abs(WP+LastWP)Critical count=count+1; %迭代次数 LastWP=WP; %上次迭代的值 % WP=1/T*Z*(LastWP*Z).3)-3*LastWP; for i=1:m WP(i)=mean(Z(i,:).*(tanh(LastWP)*Z)-(mean(1-(tanh(LastWP)*Z).2).*LastWP(i); end WPP=zeros(m,1); for j=1:n-1 WPP=WPP+(WP*W(:,j)*W(:,j); end WP=WP-WPP; WP=WP/(

12、norm(WP); if count=Maxcount fprintf(未找到相应的信号); return; end end W(:,n)=WP;endZ=W*Z;%如下为主程序,重要为原始信号的产生,观测信号和解混信号的作图clear all;clc;N=200;n=1:N;%N为采样点数s1=2*sin(0.02*pi*n);%正弦信号t=1:N;s2=2*square(100*t,50);%方波信号a=linspace(1,-1,25);s3=2*a,a,a,a,a,a,a,a;%锯齿信号s4=rand(1,N);%随机噪声S=s1;s2;s3;s4;%信号构成4*NA=rand(4,4

13、);X=A*S;%观测信号 %源信号波形图figure(1);subplot(4,1,1);plot(s1);axis(0 N -5,5);title(源信号);subplot(4,1,2);plot(s2);axis(0 N -5,5);subplot(4,1,3);plot(s3);axis(0 N -5,5);subplot(4,1,4);plot(s4);xlabel(Time/ms);%观测信号(混合信号)波形图figure(2);subplot(4,1,1);plot(X(1,:);title(观测信号(混合信号));subplot(4,1,2);plot(X(2,:);subpl

14、ot(4,1,3);plot(X(3,:);subplot(4,1,4);plot(X(4,:); Z=ICA(X); figure(3);subplot(4,1,1);plot(Z(1,:);title(解混后的信号);subplot(4,1,2);plot(Z(2,:);subplot(4,1,3);plot(Z(3,:);subplot(4,1,4);plot(Z(4,:);xlabel(Time/ms); 三实验成果: 实验成果如下所示:其中图2为源信号的波形图,图3为观测信号(混合信号)波形图,图4为解混后的信号波形图。从图4可以看出,执行ICA后,可以将图2中的4种信号分离出来,且

15、误差较小(个别信号发生反相)。与实验一相比,分离效果要提高诸多。图2-源信号图3-观测信号(混合信号)图4-解混后的信号四源信号的分布特性对分离效果的影响:下列3个图为源信号中具有不同个数的高斯白噪声分解后得到的相应解混信号:其中图5源信号只含一种随机噪声,图6源信号含两个随机噪声,图7源信号含三个随机噪声。从图5,6,7可以看出,源信号所含的高斯白噪声越多,分离后得到的信号与源信号相比误差越大,效果越差;所含高斯白噪声越少,分离效果越好。图5-源信号只含一种随机噪声分离后得到的波形图图6-源信号含两个随机噪声分离后得到的波形图图7-源信号含三个随机噪声分离后得到的波形图下图8,9,10分别为

16、方波信号,正弦信号和锯齿波3种信号与同一种噪声混合后,经ICA解混后得到的成果。为便于比较,源信号中3种信号所含的能量相等。信号的非高斯性可用四阶累积量(峰度)进行描述,0称为超高斯型,0称为亚高斯型,可用的大小作为信号距离高斯型限度的度量。越大,表白信号距高斯型越远,即信号的非高斯性越强。下图中3种信号在源信号中的四阶累积量分别为:方波为-8.0,正弦波为-6.0,锯齿波为-4.8154,表白方波的非高斯性最强,锯齿波德非高斯性最弱。经ICA分离后得到的方波、正弦波和锯齿波与源信号中相应的三种信号的有关系数依次为:-0.9994,-0.9987,-0.9925。可以看出,分解后得到的三种信号中方波与源信号最为接近,锯齿波与源信号差距最大。结合四阶累积量,可以得出:在同一种ICA系统中,信号的非高斯性越强,分离出来的信号越接近源信号,分离效果越好;反之,分离效果越差。图8-方波信号分离后得到的波形图图9-正弦信号分离后得到的波形图图10-锯齿波信号分离后得到的波形图

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!