一种基于ELM和SVM的快速优化分类算法制造技术

技术编号:19512186 阅读:42 留言:0更新日期:2018-11-21 08:18
本发明专利技术公开了一种基于ELM和SVM的快速优化分类算法,提出的基于ELM和SVM的快速优化分类算法将线性不可分问题转化为线性可分问题,训练得到两个SVM分类器作为算法核心;此算法能够极大地改善网络泛化性能,算法效率高,能够在短的时间内处理更多的数据,从而进一步促进ELM和SVM在模式识别、机器学习、大数据处理等领域得到更加广泛的应用。

【技术实现步骤摘要】
一种基于ELM和SVM的快速优化分类算法
本专利技术涉及人工智能
,尤其是一种基于ELM和SVM的快速优化分类算法。
技术介绍
在机器学习领域,模式分类问题是最为热门的议题之一,是解决模式识别应用问题的关键基础议题。自上世纪五、六十年代以来,围绕模式分类议题,研究结果众多,其中比较有代表性的基础学习算法有:感知机学习算法、BP学习算法、SVM学习算法,以及ELM学习算法等等。然而,相对于应用需求而言,目前的学习算法无论在学习效果还是学习效率方面都离满足应用需求仍有相当的距离。(1)超限学习机(ELM)是当下一种新兴的机器学习算法,随着人工智能的兴起,已成为当下的热门的学习算法。ELM是一种基于三层结构(分别为输入层、隐含层和输出层)的前馈网络模型的自适应学习算法,结构上与MLP(多层感知机)相似,但相比BP算法,ELM存在一些明显的优势,ELM中隐藏神经元输入权值和结点个数随机赋值且不参与迭代调整,仅仅通过学习来调整输出层的权值,达到训练网络的目的。根据ELM学习理论可知,给定任何可分类目标,只要前馈神经的隐层节点是非线性阶段连续的,神经网络无需调整隐层节点就能对分类目标加以分类。然而,ELM随机化隐含层,虽极大地减少了待求参数,进而大幅提高了学习速度,但为了获得合适的隐层节点数,存在欠学习或过学习现象的隐患,尤其是因过学习而出现的过拟合问题,会严重削弱目标网络的泛化性能。(2)支持向量机(SVM)是一基于小样本统计理论为基础,基于计算学习技术的有监督学习算法,有着完整而丰富的的理论基础。在应用领域,凭借良好的分类能力,SVM及其变体被广泛应用。SVM能够保证找到的极值解就是全局最优解而并非是局部最小值,这保证了SVM算法对未知样本有较好的泛化能力。相比经典的BP算法,能获得较好的泛化性能是SVM的显著特点和优势。SVM的技术优势集中体现在解决线性可分的分类问题上,尤其是线性可分的二分类问题,在处理非线性分类问题时,SVM的性能很大程度上依赖于核函数的选择,但如何选择核函数,并没有一个通用的方案,从而使得SVM在工程应用中受到阻碍。另外,确定核函数以后,SVM在求解时,要求解函数的二次规划,这就需要大量的存储开销和时间开销,降低了其学习效率。
技术实现思路
本专利技术所要解决的技术问题在于,提供一种基于ELM和SVM的快速优化分类算法,能够极大地改善网络泛化性能,算法效率高,能够在短的时间内处理更多的数据。为解决上述技术问题,本专利技术提供一种基于ELM和SVM的快速优化分类算法,包括如下步骤:(1)对给定样本集S={(Xa,Yc)|1≤a≤A,1≤c≤C},通过ELM算法训练一随机初始化的单隐层前向人工神经网络,确立一个ELM分类器;(2)通过已训练好的ELM分类器,能够分别计算出输入样本集Sinput={Xa|1≤a≤A}的所有对应的隐层输出SHindeOutput={Xb'|1≤b≤B}和网络输出SNetOutput={Yc|1≤c≤C},并由此将原样本集分拆成两个新样本集,即S=SHideLayer+SOutLayer,其中SHideLayer={(Xa,Xb')|1≤a≤A,1≤b≤B},SOutLayer={(X'b,Yc)|1≤b≤B,1≤c≤C},显然SHideLayer和SOutLayer是两个线性可分的样本集;(3)对于上述样本集SHideLayer和SOutLayer,分别使用线性SVM算法训练学习,可分别得到它们各自的最优解,即SVMHideLayer:Xa→X'b和SVMOutLayer:X'b→Yc;(4)合并连接SVMHideLayer:Xa→X'b和SVMOutLayer:X'b→Yc,可得到基于原样本集S={(Xa,Yb)|1≤a≤A,1≤b≤B}的SVM分类器,显然不论性能上还是结构上,该SVM分类器将优于原有的ELM分类器,经过上面的步骤,形成的SVMHideLayer和SVMOutLayer即为该算法的分类器。优选的,步骤(1)中,对给定样本集S,通过训练建立映射关系,采用Sigmoid函数f(x)=1/(1+e-x)为激活函数;标记输入层有N个神经元,即有i=1,2,…,N;标记隐藏层有Q个神经元,即有q=1,2,…,Q;标记输出层有M个神经元,即有j=1,2,…,M。对于隐藏层的第q个神经元,则有N个权系数Wq,1,Wq,2,…Wq,N,另外取多—个Wq,N+1用于表示阈值θq;对于输出层的第j个神经元,则有Q个权系数Wj,1,Wj,2,…Wj,Q,另外取多一个Wj,Q+1用于表示阈值θj,并且在输入样本时,取Xa=(x1,x2,…,xN,1),具体包括如下步骤:(11)随机初始化一个单隐层ELM神经网络;对各层的权系数置一个较小的非零随机数作为初值,但其中Wq,N+1=-θq,Wj,Q+1=-θj;(12)输入一个样本Xa=(x1,x2,…,xN,1),以及对应的期望输出Yc=(y1,y2,…,yj,…yM);(13)计算各个层的输出:对于隐藏层第q个神经元的输出Dq,q=1,2,…,Q有:其中xN+1=1,Wq,i+1=-θq;对于输出层第j个神经元的输出Hj,j=1,2,…,M有:其中DQ+1=1,Wj,Q+1=-θj;(14)计算输出层各神经元学习误差dj:dj=Hj(1-Hj)(Hj-yj);(15)修正输出层权系数Wj,q和阈值θj,Wj,q(t+1)=Wj,q(t)-η·dj·Dq+αΔWj,q(t);其中Wj,q(t+1)表示第t+1次修改权系数Wj,q值;η为学习速率,即步长,η∈[0.1,0.4];α为权系数修正常数,α∈[0.7,0.9];ΔWj,q(t)=Wj,q(t)-Wj,q(t-1);(16)当求出了输出层权系数之后,可按给定指标判别是否满足要求。如果满足要求,则算法结束;如果未满足要求,则返回(13)继续执行;这个学习过程,对于任一给定的样本Xa=(x1,x2,…,xN,1)和期望输出Yc=(y1,y2,…,yM)都要执行,直到满足所有输入输出要求为止;如果未满足所有输入输出要求,则进行下一次迭代。优选的,步骤(2)具体包括如下步骤:(21)读取已获得的ELM分类器的网络信息,包括所含隐层神经元个数Q;(22)从给定样本集S的第一个样本开始,选择一个样本Xa,a初始值为1;(23)判断样本序号样本是否在给定样本集S中,如果在,则进行(24),否则跳出,形成数据集SHideLayer和SOutLayer,步骤(2)结束;(24)读取样本Xa和其类别标签Yc;(25)以q对隐层神经元进行编号,q初始值为1;(26)判断一个神经元的编号q是否不大于神经元个数;如果是,则计算出该样本Xa在此神经元下形成Xb'的第q个分量;否则,则网络中该样本Xa在所有隐层神经元下均已计算完毕,形成数据集(Xa,X'b)和(X'b,Yc)保存,并且进行下一个样本的读入,即(22)中a=a+1,跳转到(23);(27)对于下一个神经元,即(25)中的神经元编号q=q+1,同样进入(25)。优选的,步骤(3)中,对于线性可分的多分类问题,采取一对一SVM法,其做法是在任意两类样本之间划分一个SVM超平面,因此k个类别的样本就需要设计k(k-1)/2个S本文档来自技高网
...

【技术保护点】
1.一种基于ELM和SVM的快速优化分类算法,其特征在于,包括如下步骤:(1)对给定样本集S={(Xa,Yc)|1≤a≤A,1≤c≤C},通过ELM算法训练一随机初始化的单隐层前向人工神经网络,确立一个ELM分类器;(2)通过已训练好的ELM分类器,能够分别计算出输入样本集Sinput={Xa|1≤a≤A}的所有对应的隐层输出SHindeOutput={Xb'|1≤b≤B}和网络输出SNetOutput={Yc|1≤c≤C},并由此将原样本集分拆成两个新样本集,即S=SHideLayer+SOutLayer,其中SHideLayer={(Xa,X′b)|1≤a≤A,1≤b≤B},SOutLayer={(X′b,Yc)|1≤b≤B,1≤c≤C},显然SHideLayer和SOutLayer是两个线性可分的样本集;(3)对于上述样本集SHideLayer和SOutLayer,分别使用线性SVM算法训练学习,可分别得到它们各自的最优解,即SVMHideLayer:Xa→X′b和SVMOutLayer:X′b→Yc;(4)合并连接SVMHideLayer:Xa→X′b和SVMOutLayer:X′b→Yc,可得到基于原样本集S={(Xa,Yc)|1≤a≤A,1≤c≤C}的SVM分类器,显然不论性能上还是结构上,该SVM分类器将优于原有的ELM分类器,经过上面的步骤,形成的SVMHideLayer和SVMOutLayer即为该算法的分类器。...

【技术特征摘要】
1.一种基于ELM和SVM的快速优化分类算法,其特征在于,包括如下步骤:(1)对给定样本集S={(Xa,Yc)|1≤a≤A,1≤c≤C},通过ELM算法训练一随机初始化的单隐层前向人工神经网络,确立一个ELM分类器;(2)通过已训练好的ELM分类器,能够分别计算出输入样本集Sinput={Xa|1≤a≤A}的所有对应的隐层输出SHindeOutput={Xb'|1≤b≤B}和网络输出SNetOutput={Yc|1≤c≤C},并由此将原样本集分拆成两个新样本集,即S=SHideLayer+SOutLayer,其中SHideLayer={(Xa,X′b)|1≤a≤A,1≤b≤B},SOutLayer={(X′b,Yc)|1≤b≤B,1≤c≤C},显然SHideLayer和SOutLayer是两个线性可分的样本集;(3)对于上述样本集SHideLayer和SOutLayer,分别使用线性SVM算法训练学习,可分别得到它们各自的最优解,即SVMHideLayer:Xa→X′b和SVMOutLayer:X′b→Yc;(4)合并连接SVMHideLayer:Xa→X′b和SVMOutLayer:X′b→Yc,可得到基于原样本集S={(Xa,Yc)|1≤a≤A,1≤c≤C}的SVM分类器,显然不论性能上还是结构上,该SVM分类器将优于原有的ELM分类器,经过上面的步骤,形成的SVMHideLayer和SVMOutLayer即为该算法的分类器。2.如权利要求1所述的基于ELM和SVM的快速优化分类算法,其特征在于,步骤(1)中,对给定样本集S,通过训练网络建立单隐层前向人工神经网络映射关系,确立一个ELM分类器,具体为:对给定样本集S,通过训练建立映射关系,采用Sigmoid函数f(x)=1/(1+e-x)为激活函数;标记输入层有N个神经元,即有i=1,2,…,N;标记隐藏层有Q个神经元,即有q=1,2,…,Q;标记输出层有M个神经元,即有j=1,2,…,M;对于隐藏层的第q个神经元,则有N个权系数Wq,1,Wq,2,…Wq,N,另外取多一个Wq,N+1用于表示阈值θq;对于输出层的第j个神经元,则有Q个权系数Wj,1,Wj,2,…Wj,Q,另外取多一个Wj,Q+1用于表示阈值θj,并且在输入样本时,取Xa=(x1,x2,…,xN,1),具体包括如下步骤:(11)随机初始化一个单隐层ELM神经网络;对各层的权系数置一个较小的非零随机数作为初值,但其中Wq,N+1=-θq,Wj,Q+1=-θj;(12)输入一个样本Xa=(x1,x2,…,xN,1),以及对应的期望输出Yc=(y1,y2,…,yj,…yM);(13)计算各个层的输出:对于隐藏层第q个神经元的输出Dq,q=1,2,…,Q有:其中xN+1=1,Wq,i+1=-θq;对于输出层第j个神经元的输出Hj,j=1,2,…,M有:其中DQ+1=1,Wj,Q+1=-θj;(14)计算输出层各神经元学习误差dj:dj=Hj(1-Hj)(Hj-yj);(15)修正输出层权系数Wj,q和阈值θj,Wj,q(t+1)=Wj,q(t)-η·dj·Dq+αΔWj,q(t);其中Wj,q(t+1)表示第t+1次修改权系数Wj,q值;η为学习速率,即步长,η∈[0.1,0.4]...

【专利技术属性】
技术研发人员:钟水明刘成广陆晓翔仲昭奕童怡玲
申请(专利权)人:南京信息工程大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1