一、摘要
粒子群算法时一种模仿鸟群、鱼群觅食行为发展起来的一种进化算法。粒子群算法中每一个粒子的位置代表了待求问题的一个候选解。每一个粒子的位置在空间内的好坏是由钙离子的位置在待求问题中的适应度值来确定。每一个粒子在下一代的位置有其在这一代的位置与其自身的速度矢量决定,其速度决定了粒子每次飞行的方向和距离。在飞行过程中,粒子会记录下自己所到过的最优位置 P,群体也会更新群体所到过的最优位置G 。粒子的飞行速度则由其当前位置、粒子自身所到过的最优位置、群体所到过的最优位置以及粒子此时的速度共同决定。
算法流程:
Step 1. 初始化规模为N的粒子群,每个粒子的速度和位置随机。
Step 2. 评价每个粒子的适应值。
Step 3. 若某个粒子当前的适应值present比之前记录的该粒子最优解pbest更好,则更新pbest。
Step 4. 若某个粒子当前的适应值present比之前记录的全局最优解gbest更好,则更新gbest。
Step 5. 若gbest符合要求,则结束。若gbest不符合要求,粒子根据如下的公式来更新自己的速度和新的位置(G表示最大进化代数,kg表示当前进化代数,pi表示第i个粒子从一开始到当前迭代完成之后所产生的最优解pi,整个种群此时的全局最优解为BestS)
Step 6. 跳转到Step 2。
2.3稀疏盲源分离
假设:x(t)是n个未知的相互统计独立的源信号s(t)的线性组合,即:
式中,,,A为mxn阶未知混合矩阵。由于A和s未知,盲分离要通过特定算法来实现x(t)的处理,从而获得nxm阶的分离矩阵,用W表示,使得输出信号:
就是s(t)的估计值。
由于s(t)和A未知,盲源分离一句条件和要求,将s(t)从观测信号x(t)中将源信号分离出来,使得最终分离出的信号无限逼近于源信号s(t),即通过分离矩阵W来实现盲源分离,一些混合信号中含有噪声成分,在处理这类信号的过程中,可以将混合信号和噪声区别开来,分别看作是不同路的信号。
为了保证盲源分离的可能性,需要一些假设条件,通常为:
1)满秩混合矩阵A,源信号数不得超过观测信号数即();
2)基于统计要求,各源信号互相统计独立;
3)至多有一个信号是高斯分布。
在缺乏源信号和信息通道的情况下,经过盲分离的信号并不能确定幅值和排列顺寻,这一特征称为模糊性。模糊性虽然存在,但是却并不会影响最终结果。
根据大数定理,多个相互独立的随机变量之和趋向于高斯分布。因此如果观测信号是源信号的线性组合,那么源信号的非高斯性比观测信号的非高斯性更强。根据这个原理,可以通过对分离信号的非高斯性判断来确定互相独立性。分离信号的非高斯型越大,其分离效果越好。
2.4数据聚类的粒子群优化算法
G={z1,z2,...,zn}为数据空间,聚类的目标是将所处空间分为K个聚类区Ci(i=1,2,...,K),使得下列式子成立:
为聚类中心,设表示粒子,则将PSO应用于聚类和的步骤如下:
1)初始化及其速度矢量v;
2)若对,下式成立:
则把归到类,用下式作为适应度函数对粒子进行评价
3)求出第i个粒子迄今为止搜索到的最优位置为和整个粒子群迄今为止搜索到的最优位置为PBest;
4)用固定点算法对粒子进行迭代;
5)重复第二到第四步,直到满足条件为止。
2.5基于PSO算法的稀疏盲源分离
1)由加速度计得到的振动信号x(t)(t=1,2,...,T)作稀疏变换P转换为系数信号P(x(t)),t=1,2,...,T;
2)采用2.4中的聚类方法对稀疏信号P(x(t)),t=1,2,...,T进行聚类;
3)对聚类后的每一类确定方向矢量,从而确定混合矩阵;
4)使用PSO算法求解下列优化问题
5)对进行逆变换得到,从而分离出源信号。
2.6分离效果评价指标
1)PI评价
PI指标是性能指标,利用全局矩阵和广义排列矩阵的差别来评价分离性能,定义如下:
其中为G的第(i,j)个元素,G为全局矩阵,也就是分离矩阵与混合矩阵乘积。PI值越小表示分离效果越好。
2)相似系数
定义
为相似系数,最小为0,表示和相互统计独立,最大值为1,表示和完全相似。其中为源信号的第i个矢量,为经过盲源分离后与相对应的分离信号。con表示方差
3)二次残差
该指标计算信号与源信号的二次残差(VQM),其值越小表示分离效果越好,计算如下:
三、基于优化动态路由算法的深度胶囊网络故障预测
构建基于胶囊网络的故障分类模块,包括:输入层、卷积层、L组胶囊层。其中输入层获得振动信号分离过后的特征。卷积层采用512个步幅为1的7*7卷积核对输入的数据进行卷积,第三层是胶囊层并包含卷积运算,开始构建相应的张量结构作为后续胶囊层的输入,经过多层胶囊预测得到L层胶囊的预测向量,此向量在每个方向上的长度表示在十种故障类型上分别的概率,长度最长也就是概率最大方向上代表的故障便是诊断结果。
在高底层的连接中,为2304个低胶囊输出向量,表示800个高层胶囊的输入向量,变换矩阵与相乘得到预测向量。乘以耦合系数作为的输入向量。变换矩阵的参数总量为28*12*2304*800=619315200,耦合系数的参数量为2304*800=1843200,决定高底层胶囊间参数量的因素为高底层胶囊的数量以及胶囊输出向量的长度。
1)构造高层胶囊输出向量。由于采用输出向量的模长来表示故障存在的概率,需要其满足大于0且小于1,因此采用非线性函数来构造:
2)高层输出向量的计算。是分配给第j个高层胶囊的预测向量和耦合系数的加权和,其中的计算方式为:
变换矩阵编码了低层胶囊特征和高层特征的关系,包括将12维低层向量进行线性变换到28维的向量,而变换矩阵的求解通过BP算法、随机梯度法等可以得到。把分配给第j个高层胶囊所有的2304个预测向量通过耦合系数进行加权求和,得到第j个高层胶囊的输出向量为:
3)耦合系数的计算。耦合函数代表着第i个低层胶囊输出向量被分配给第j个高层网络的概率分布,计算方式如下,其中表示低层胶囊i被耦合到高层胶囊j的对数先验概率,由高底层网络的类型和位置决定。
3.2多层胶囊之间的动态路由算法
通过测量高层胶囊的输出向量与底层胶囊的预测向量之间的一致性来迭代改进初始耦合系数。一致性对应于输出向量和预测向量的内积运算结果,根据矩阵理论,两者方向相同时内积最大,改进耦合系数之前由呢及来更新。经过多次迭代,预测向量被较大概率的分配到与输出向量一致性较大的高层网络。
从数学优化角度给出改进的路由算法,将其简化为求解下列数学优化问题:
基于以上分析,得出全部胶囊层之间的动态路由算法步骤:
1)用f表示胶囊层数,初始化层数为1,即第一层为低层胶囊;
2)输入总层数L、路由算法迭代步数R以及输出向量维数;
3)判断f<L,若是接第4步,若不是则算法结束,得到L层输出向量;
4)选取第f层为低层胶囊,读取低层胶囊总数I,用i表示单个胶囊;选取第f+1层为高层胶囊,读取高层胶囊总数J,用j表示单个胶囊并构建优化问题,设置初始迭代步数r=0;初始化;
5)判断r<R,若不是则令f=f+1,转到第三步。若是,接第六步;
6)计算耦合系数、高层胶囊输出向量、更新缩放因子,令r=r+1,接第五步。
采用类似的分析方法,得到其余胶囊层的动态路由算法,从而将底层胶囊所包含的振动信息传递给高层胶囊,在最高阶层的L胶囊层得到预测向量从而对故障进行预测。
四、实验结果