[0004] 针对上述背景和存在的问题与不足,为了提高城市噪声类别的识别率,本发明提出了一种基于量化误差熵的多层随机神经网络的城市噪音识别方法。本发明的模型是由一层基于极限学习机的自动编码器(ELM‑AE)和极限学习机分类器组成的多层随机神经网络,其中自动编码器的隐藏层的输出权重β通过量化最小误差熵作为训练标准,经过梯度下降的方式得到。
[0005] QMEE算法可以很好的抑制非高斯噪声,又因为传统的分类算法,其模型训练速度缓慢,泛化能力弱,所以我们采用了算法简单、无需反向迭代、计算速度快,泛化能力强的随机神经网络框架,并在模型的编码层加入QMEE算法作我们编码层的训练准则,加上编码层对数据有一定的去噪能力,可以让我们的噪音识别更准确。
[0006] 为实现上述目的,本发明采用了以下技术方案,所述方法包括以下步骤:
[0007] 步骤一.对采集到的声音信号进行处理,然后进行特征提取,建立声音数据库。
[0008] 步骤二.将最小量化误差熵引入到多层随机神经网络的编码器中,作为输出权重的训练准则,学习数据中的特征。
[0009] 步骤三.确定多层随机神经网络的网络结构和参数,将建立的声音数据库中的数据作为多层随神经网络的训练数据。
[0010] 步骤四.为了模拟城市环境的复杂性,引入非高斯噪声模型。
[0011] 步骤五.生成非高斯噪声数据,加入到原始数据中,然后放入模型中进行训练。
[0012] 所述步骤一的具体流程如下:
[0013] 1‑1.采集城市里工程机械设备作业环境中的声音信号,并建立同类型的声音数据库,一共采集了11种类型的声音数据,分别是挖掘机、电锤、切割机、引擎、警报、液压锤、铣床、发电机,歌声,人声,风噪声。
[0014] 1‑2.对声音数据库所有声音数据进行预加重,预加重处理就是将声音信号通过一‑1个高通滤波器:H(z)=1‑μz ,其中μ的取值范围为0.9~1.0。
[0015] 1‑3.然后对处理后的声音数据进行分频处理,帧长一般取10~30ms。
[0016] 1‑4.将每一帧数据乘以汉明窗,以增加帧左端和右端的连续性。假设分帧后的信* *号为S(n),n=0,1,2,...,N‑1,其中N为帧的大小,进行汉明窗处理可表示为S′(n)=S(n)×W(n),S′(n)为经过汉明窗处理后的声音数据,W(n)采用下面的函数:
[0017]
[0018] 不同的a值会产生不同的汉明窗,一般情况下a取值为0.46。
[0019] 1‑5.对经过汉明窗处理的每一帧声音数据进行快速傅里叶变换(FFT),将时域数据转为频域数据。变换公式如下:
[0020]
[0021] 1‑6.对每一帧FFT后的声音数据计算谱线的能量
[0022] E(k)=[S(k)]2 (3)
[0023] 1‑7.把求出的每帧谱线能量谱通过Mel滤波器,并计算在Mel滤波器中的输出对数能量s(m)。
[0024]
[0025] 三角滤波器的频率响应定义为:
[0026]
[0027] 且满足 f(m)为定义的三角滤波器的中心频率,其中0≤m≤* *
M,M为滤波器的个数,各个中心频率f(m)之间的间隔随着m值得增大而增宽。
[0028] 1‑7.将每个滤波器组的输出对数能量s(m),经过离散余弦变化(DCT)得到MFCC系*数C(n)。
[0029]
[0030] L为MFCC倒谱系数的个数,基于MFCC计算倒谱系数,即所求的声音特征,对不同机械的声音特征进行标号,建立声音数据特征库。
[0031] 所述步骤二的具体流程如下:
[0032] 2‑1.误差熵的定义为: 我们采用α=2的二阶误差熵作为训练准则。
[0033]
[0034]
[0035] V2(e)称为二阶信息潜能(informationpotential)。fe(ξ)为误差的概率密度函数,ξ为随机误差变量。
[0036] 2‑2.概率密度函数难以直接得到,所以需要对概率密度函数进行估计。概率密度函数的估计方法分类两大类:参数估计和非参数估计。参数估计是已知概率密度函数,但其中部分参数或者全部参数未知,其主要方法又有两类:最大似然估计和贝叶斯估计。非参数估计就是概率密度函数的形式也未知,而是用样本把概率密度函数数值化的估计出来。
[0037] 2‑3.在误差熵和量化误差熵采用的都是核函数 σ为方差。这种方法也称为Parzen窗估计法。过Parzen窗方法评估后可以得到
[0038]
[0039]
[0040] 2‑4.设线性系统f(z)=wTz,w为线性模型的权重,z为输入数据,数据的大小为N,T其误差为ei=ui‑wzi,zi为第i个输入,ui为第i个期望输出。我们希望误差的尽可能的小,即尽可能的小,又因为log为单调增函数,所以我们只需要让 最大化即可。用梯
度上升的方法可以实现这一目标。
[0041]
[0042]
[0043] 其中wn为第n次迭代的权重值,η为学习率。
[0044] 2‑5.但是在误差熵的计算过程中,因为要计算误差对ei和ej,在计算较大的数据的时候,其过程会非常的缓慢,所以我们采用了量化误差熵作为训练准则,这样可以减少计算负担,加快计算速度。
[0045] 2‑6.误差的量化过程:
[0046] a)误差样本e=[e1,e2,...,en],设定量化阈值ε;
[0047] b)初始化:量化码表C。初始化码表C1={e1},其中C1代表第一次迭代后的码表。
[0048] c)进行循环i=2,...,n
[0049] d)计算ei和Ci‑1之间的距离dist(ei,Ci‑1)=|ei‑Ci‑1(j*)|,其中j*=argmin|ei‑Ci‑1(j)|代表Ci‑1中的第j个元素,|Ci‑1|代表Ci‑1中的元素个数。
[0050] e)如果dist(ei,Ci‑1)<ε,则保持码表不变,即Ci=Ci‑1,将ei量化到最近一次循环得到的码表中,Q[ei]=Ci‑1(j*)。否则,更新码表Ci={Ci‑1,ei},并将ei量化为自身Q[ei]=ei。
[0051] f)重复步骤c)d),直到i>n则停止。
[0052] 2‑7.量化后的信息潜能:
[0053]
[0054] 其中M为量化后的误差维度,Mm为量化到cm的误差样本数量,cm为码表C中的第m个元素,其满足
[0055] 2‑8.对 进行求导
[0056]
[0057] 其中
[0058] 2‑9.令 则我们可以得
[0059] 2‑10.设定梯度上升的迭代次数,实验证明通常30~100次迭代即可得到最优权重。随机神经网络的隐藏层和输出层之间可以看作线性系统,将量化最小误差熵作为其训练准则,来学习数据中的特征
[0060] 所述步骤三的具体流程如下:
[0061] 3‑1.给出一个训练集 其中xi的维度为d1,ti的维度为d2, 为训练样本的个数,自动编码器隐藏层个数L1,分类层隐藏层节点个数L2,在整个多层随机神经x
网络中激活函数g(x)=1/(1+e),以保证多层随机神经网络的非线性映射能力。
[0062] 3‑2.初始化编码层的输入权重w1i、偏置b1i和输出权重β0,分类层的输入权重w2i和偏置b2i,计算出编码层中隐藏层的输出h(wti,xi,b1i)=g(w1ixi+b1i),其编码层的输出权重通过量化误差熵的方法进行计算,其初始误差e=x‑h(w,x,b)β0。
[0063] 3‑3.对误差e按步骤2‑6的方法进行量化。
[0064] 3‑4.通过n次迭代,得到最优的输出权重βn
[0065]
[0066] 其中1<iC≤n,iC代表第iC次迭代。,实验证明通常30~100次迭代即可得到最优权重。
[0067] 3‑5.计算编码层的输出Y1
[0068] Y1=g(βnx)
[0069] 3‑6.计算本发明中多层随机神经网络的分类层输出权重
[0070]
[0071] 为Y1的伪逆矩阵,x和t对应,为训练集 中的样本;
[0072] 3‑7.计算网络的输出并识别出城市噪音数据的种类,得到其分类精度。
[0073] 所述步骤四的具体流程如下:
[0074] 4‑1.为了更真实的体现环境中噪声的复杂性,在特征提取过后得到的数据中加入非高斯噪声。
[0075] 4‑2.在信号处理领域,大多数理论和技术都是在服从高斯分布下取得的,然而实际信号的统计特征并不总是符合高斯假设,我们采用了α稳态分布作为我们的非高斯噪声信号模型。
[0076] 4‑3.稳定分布能够描述多个独立同分布随机变量的分布中微小随机因素的影响,α稳定分布是唯一满足稳定率的分布,在自然科学和工程技术中获得了广泛的应用。α稳定分布作为非高斯噪声模型既可以满足随机噪声产生过程的合理假设又计算方便,α稳定分布的概率密度函数并没有统一的闭合形式,若一个随机变量X服从α稳态分布,可以用以下函数描述:
[0077] φ(t)=exp{jδt‑γ|t|α[1+jβsgn(t)ω(t,a)]}
[0078] 其中‑∞<δ<+∞,γ>0,0<α≤2,‑1≤β≤1。δ表示位置参数,γ代表尺度参数,β为偏斜因子,sgn(t)是符号函数,ω(t,a)代表关于t和α的函数,α表示特征值数,表征α稳定分布概率密度函数拖尾的厚重程度,当β=0、δ=0、α=2时为高斯分布。
[0079] 4‑4.α稳定分布具有如下特点:
[0080] a)衰减的速度和α的大小相关,α越小,分布的拖尾越严重;
[0081] b)当α≤1时,分布具有无限的均值和方差;
[0082] c)分布可以具有不对称分布,β为偏斜因子;
[0083] d)参数的取值范围: 0<α≤2,‑1≤β≤1;
[0084] 所述步骤五的具体流程如下:
[0085] 5‑1.用上面的α稳定分布模型生成α分别等于0.5、0.75、1.0、1.25、1.5,幅值范围为[‑1,1]的噪声数据。
[0086] 5‑2.将生成的噪声加入到原始的数据中,然后再放入我们的网络模型中训练。
[0087] 本发明有益效果如下:
[0088] 运用基于最小误差熵的多层随机神经网络模型,可以通过量化误差熵对数据采集过程中的噪声起到抑制作用,可以减少数据中的噪声对分类结果的影响,增强模型的鲁棒性。声音数据在MLELM网络中的识别率为91.23%,而在我们提出的QMEE‑MLELM中的分类正确率为92.85%,提升了1.62%。在数据集中加入了α为0.5、0.75、1、1.25、1.5的非高斯噪声后,MLELM的分类结果分别为:84.23%、82.28%、85.86%、84.96%、85.23%;在我们提出的QMEE‑MLELM网络中的分类结果分别为:88.31%87.10、89.93%、89.58%、90.10%。相比MLELM最大可提升4.87%的分类准确率,同时体现了我们提出的网络鲁棒性更好。