基于遗传-狮群算法优化的独立分量分析算法
2021-02-25张晓通韩跃平
张晓通 韩跃平 杨 洋
(中北大学信息与通信工程学院 山西 太原 030051)
0 引 言
盲信号分离技术[1-3]是一种在源信号、传递系统等先验知识无法获得的条件下,以源信号的统计特性为依据,从观测的混叠信号中恢复出源信号的方法,在图像处理、语音处理和通信等多个领域得到了广泛的应用。
盲源分离理论[4]的提出是为了解决如何让计算机从多个复杂信号中搜寻到有用信号的问题。独立分量分析(Independent Component Analysis,ICA)是处理盲源分离问题的一种重要方法。Comon[5]首次提出盲信号分离的独立分量分析方法,通过最小化分量之间的统计相关性进行独立成分估计。为了进一步提高ICA算法的收敛速度和精度,部分学者提出使用具有全局收敛性的群智能算法来优化ICA。华容等[6]提出了基于遗传算法(Genetic Algorithm,GA)过程信号的盲分离,使遗传算法和神经网络相结合实现对过程信号的去噪。Lin等[7]提出了基于粒子群算法(Particle Swarm Optimization,PSO)的盲信号分离,利用粒子群算法来优化负熵最大化目标函数从而得到最优解。彭安洪等[8]提出基于自适应粒子群算法盲源分离,利用自适应调整策略对粒子群算法进行了改进。这些群智能算法在一定程度上提升了ICA算法的性能,但也存在一些不足,例如:遗传算法的全局搜索能力较强,但搜索效率较低;粒子群算法不易陷入局部极值,但参数设置较多,收敛速度较慢。
狮群算法(Lion Swarm Optimization,LSO)[9]是近年被提出和应用的群体智能算法,具有良好的协同进化机制,收敛速度较快,不易陷入局部最优,为解决全局寻优问题提供了一种新的途径。因此,本文提出了一种遗传-狮群算法GA_LSO,并应用于优化ICA中的目标函数,以提升ICA算法的精度,改善盲源分离效果。
1 线性混合盲源分离模型
独立分量分析[5,10]是一种盲源分离算法,在源信号未知的情况下,能从观测信号中有效地分离出相互统计独立的源信号,具有结构简单、分离广泛等优点。线性混合盲源分离模型表示为:
x(t)=As(t)
(1)
式中:x(t)=[x1(t),x2(t),…,xm(t)]T是m维已知的观察信号向量;Am×n是元素为实数的列满秩混合矩阵(m≥n);s(t)=[s1(t),s2(t),…,sn(t)]T是未知的n维信号源向量,分量si(t)中至多有一个服从高斯分布且各分量相互统计独立。独立分量分析的研究目标就是通过迭代寻优获得一个最佳分离矩阵Wn×m,根据式(2)从混合信号中计算出s(t)的最优逼近。
y(t)=Wx(t)=WAs(t)
(2)
2 算法设计
2.1 遗传算法
遗传算法[11-12]是一种模拟生物进化论的遗传和进化过程的随机搜索方法,每一个可行解用一个染色体表示。初代群体生成后,对种群中的个体进行选择、交叉和变异操作,按照适者生存、优胜劣汰的原理产生出代表新的解集的种群,使种群不断进化,适应度好的个体得以保留,适应度差的个体被逐渐淘汰,经过若干世代演化最终完成目标在可行域内的寻优问题。
2.2 狮群算法
狮群算法[13-14]是一种群体智能优化算法,通过模拟狮群狩猎、繁衍等社会行为,建立解决全局最优问题的模型,完成对复杂问题的求解。按照分工不同将狮群分为三类:狮王、母狮和幼狮。狮王主要负责守护领地,地位最高;母狮主要负责狩猎,地位次之;幼狮靠近狮王进食,跟随母狮学习狩猎,成年后被逐出狮群,地位最低。在算法迭代过程中,按照狮群比例将适应度较好的部分定义为狮王,较差的部分定义为幼狮,其余为母狮[15]。
狮群算法的原理描述如下:每个猎物的位置代表问题的一个可行解,解的质量通过适应度值的大小来衡量。从待寻优空间中的某一初始位置开始,狮王占据了最优猎物的位置;母狮相互合作外出捕猎,并向狮王通知更好的猎物位置,然后狮王移动到那个位置;幼狮跟随母狮学习狩猎或靠近狮王进食,成年后被逐出狮群,位置更新呈现多样化,提高算法的探测能力。狮群分工合作,不断更新位置、重复搜寻,求解目标函数最优值。该算法流程详见文献[16]。
2.3 分离原理
信号的统计独立性是解决线性混合信号盲源分离问题的基础。基于ICA算法对混合信号进行盲分离时首先应该选取合适的判据用于衡量分离信号的统计独立性,进而确定目标函数。其次采用某种算法对目标函数进行优化求极值,从而获得使分离信号独立性最强的分离矩阵或向量[17]。
非高斯性意味着独立[18],常用的信号非高斯性判据有互信息[19]、峭度[20]和负熵[7]等。本文选择峭度的绝对值之和作为信号独立性的判据,定义目标函数为:
(3)
在E{yyT}=I的约束下,对于某一分离矩阵W,J(y)越大表明分离信号yi之间的独立性越强。
fiti=1/J(yi)
(4)
式中:fiti是J(yi)对应的适应度值。
针对遗传算法存在收敛速度慢、容易陷入局部最优的缺陷,本文将狮群算法融入到遗传算法中,提出了GA_LSO。利用狮群算法位置更新多样化、不易陷入局部最优的特点进行前期勘探,利用遗传算法较强的全局搜索能力进行后期总结,提高算法的全局寻优能力。将GA_LSO应用于优化ICA,对ICA的分离矩阵W通过GA_LSO优化得到最优解W′,由y(t)=W′x(t)得到分离变量,从而使分离变量的非高斯性最大,降低算法陷入局部最优解的概率,提升算法精度。并通过性能指标评价函数衡量分离变量的独立性。
2.4 算法步骤
基于GA_LSO优化的ICA算法步骤如下:
(1) 对收集、采样后的混叠信号进行零均值化、白化处理。
(2) 初始化狮群中狮子的位置xi及狮子的总数N,成年狮占狮群比例因子β(为使算法的收敛速度较快,β的取值一般小于0.5),最大迭代次数T,维度空间D。
(3) 根据式(5)计算成年狮的个数nleader,则幼狮的数量为N-nleader。将个体历史最优位置设置为各狮的当前位置,初始群体最优位置设置为狮王位置。
nleader=┌Nβ┐
(5)
(4) 根据式(6)更新狮王的位置。
(6)
(5) 根据式(7)更新母狮的位置。
(7)
(6) 产生(0,1)内的均匀随机数q,根据式(8)更新幼狮的位置。
(8)
(7) 根据狮子的位置计算适应度值fiti,更新自身历史最优位置fit(best.i)及狮群历史最优位置fit(Gbest)。
(8) 根据式(9)计算每个基因个体被选中的概率,并从种群中选择一部分个体。
(9)
(9) 以交叉概率c对基因个体进行交叉运算,每两个基因个体之间进行单点交叉。每个基因个体的变异概率为m,若个体发生变异,则在它包含的二进制串中随机选取一位取反。
(10) 对所有新生成的个体,重新计算适应度值,更新最优解。
(11) 判断是否满足结束条件。若满足,则算法结束,输出的最优解即为所求的分离矩阵,计算y(t)=Wx(t)即所求的分离信号;否则转到步骤(12)。
(12) 每迭代10次后重新排序,确定狮王、母狮及幼狮的位置,转到步骤(4)。
3 实 验
3.1 在基准测试函数上的算法性能对比分析
为了测试GA_LSO的寻优性能,从文献[21-22]中选取6个典型的基准测试函数,并与狮群算法(LSO)、自适应遗传算法(AGA)以及自适应粒子群算法(APSO)进行对比实验。6个基准测试函数如表1所示,其中:U表示单峰函数,M表示多峰函数,S表示可分函数,N表示不可分函数,理论最优解均为0。
表1 基准测试函数
设定4种算法的种群规模均为30,最大迭代次数均为50。经过反复多次实验,确定GA_LSO中成年狮的比例为0.2;粒子群参数设置为:惯性权重最大值ωmax=0.9,惯性权重最小值ωmin=0.5,最优解权重系数c1=c2=2;遗传算法的交叉概率设为0.9,变异概率设为0.01;当寻优结果与理论最优值相差小于0.01时判定寻优成功。智能算法求解时,有一定的随机性,因此进行重复实验,取平均值。对于每个测试函数,4种算法均独立运行100次,记录其收敛代数、平均解等5个指标,对比分析4种算法的寻优性能,结果如表2所示。
表2 4种算法对基准测试函数的寻优性能比较
可以看出,本文算法在6个测试函数100次实验中的平均解均一致达到理论最优解。与LSO相比,虽然寻优成功率与本文算法接近,但本文算法的迭代次数更低,标准差更小。与AGA相比,本文算法具有更高的成功率和更高的精度。与APSO相比,在测试函数f2(x)时,虽然两者的成功率都为1,但是本文算法的平均解和标准差都比APSO更好,在测试其他函数时,本文算法的寻优性能也比APSO更好。
图1给出了4种算法对测试函数的寻优收敛曲线。为使对比效果更加直观,将纵轴适应度值取对数得出lg(f(x))收敛曲线。与其他算法相对比,GA_LSO收敛曲线的斜率更大,曲线更为平滑,说明收敛的速度更快,收敛过程更加稳定。
(a) Rastrigin (b) Schaffer
综上所述,GA_LSO在对基准测试函数的寻优对比实验中表现出较好的性能,采用更少的迭代次数,得到质量更高的解。在独立进行的100次实验中,GA_LSO的求解成功率最高,每次求解都能找到符合求解精度要求的最优解。
3.2 针对图像分离的算法性能对比分析
为验证基于GA_LSO优化的ICA算法(GALSO_ICA)的有效性,将其应用于图像信号的盲源分离中。取三幅256×256图片(cman、bank和baboo)作为源信号,通过随机初始化混合矩阵将三幅图像进行混合,对混合图像采用GALSO_ICA算法处理之后,得到的分离图像的效果如图2所示。
源信号1 源信号2 源信号3
由图2可知,分离后的图像在内容上得到了较好的保持,达到了较高的分离质量,证明了GALSO_ICA算法的有效性。
为了进一步验证GALSO_ICA算法的优越性,采用传统独立分量分析算法(ICA)、狮群算法优化的ICA分离方法(LSO_ICA)、遗传算法优化的ICA分离方法(GA_ICA)以及粒子群算法优化的ICA分离方法(PSO_ICA),使用相同数据进行效果对比研究。
本文选择相似系数、信噪比及性能指数3个指标作为分离性能的客观评价尺度,计算公式分别如下:
(10)
(11)
(12)
式(10)中相似系数ρij用来衡量两个信号的相似程度,ρij越大,表示源信号si(t)和分离所得信号yj(t)的相关性越强,相似度越高,算法分离效果越好;式(11)中输出信噪比越大,表明分离信号与源信号相差越小,算法分离效果越好;式(12)中性能指数PI的值越小,表明分离效果越理想。若PI=0,则表明分离所得信号与源信号是一样的。
表3、表4和表5分别记录了相似系数、信噪比,以及性能指数3个指标来比较各算法的性能,图3从收敛速度、收敛精度,以及收敛稳定性等方面直观比较各算法的优劣性。由表中数据可知,GALSO_ICA算法在对三幅图像分离时的相似系数最接近于1,信噪比均达到最大,性能指数相比于其他算法最小。综合上述3个性能指标,本文算法相比于其他四种算法,分离效果最好,分离后的图像在质量上有显著提升。
表3 相似系数比较
表4 信噪比比较
表5 性能指数比较
图3 5种算法分离图像的收敛曲线
从图3中几种智能算法的适应度收敛曲线可以看出,在迭代次数一样的情况下,传统ICA算法的收敛曲线一直振荡无法收敛至0,而本文算法的收敛曲线斜率更大,更为平滑,精度更高。因此本文算法比基于GA、PSO和LSO的盲分离效果更好,在性能上有显著提升。
综上所述,GALSO_ICA盲源分离算法的整体性能均优于对比算法,具有更高的收敛精度、更快的收敛速度和更好的稳定性,能够很好地解决盲源分离问题。
4 结 语
本文结合了遗传算法和狮群算法的优点,提出了一种遗传-狮群算法GA_LSO,并应用于优化ICA。所提算法通过每次迭代中选取遗传算法和狮群算法的最优值,提高了混合算法的性能,较好地减少了遗传算法出现早熟收敛的概率并且克服了狮群算法收敛精度不高等缺点。通过6个基准测试函数的实验表明,本文提出的GA_LSO具有较高的收敛精度、较快的收敛速度和较好的鲁棒性,且能有效处理高维复杂函数的寻优问题。通过对混合图像的仿真实验表明,基于GA_LSO优化的ICA算法是一种有效的盲源信号分离算法,能够有效提升盲源信号的分离质量,在信号处理中具有广泛的应用前景。