一种基于人工鱼群优化H-ELM的疲劳驾驶检测方法与流程

文档序号:17928420发布日期:2019-06-15 00:36阅读:415来源:国知局
一种基于人工鱼群优化H-ELM的疲劳驾驶检测方法与流程
本发明涉及疲劳驾驶的识别分类方法,特别涉及一种基于人工鱼群优化多层感知超限学习机的疲劳驾驶检测方法。
背景技术
:超限学习机(extremelearningmachine,elm)是一种新型的快速求解单隐层前馈神经网络方法,在训练过程中能够随机产生隐含层偏差,无需调整,只需要设置隐含层神经元的个数以及激活函数,便可以通过最小化平方损失函数得到输出权值。因此能够轻松的实现良好的泛化能力、快速学习能力以及很强的逼近能力。多层感知超限学习机(h-elm)通过构造一个自编码函数,以编码和解码的形式来学习并表示原始输入信号,不断减少重构误差来达到表征原始信号的目的,提取出更好的特征表示,再通过普通的超限学习机对特征进行学习和分类。由于多层感知超限学习机结构的特性,其隐含层的惩罚因子和隐含层的层数是随机设定的,且直接影响超限学习机的分类效果。技术实现要素:本发明的目的是使用功率谱对原始信号进行特征提取,结合人工鱼群优化算法(afsa)对多层感知超限学习机的隐含层惩罚因子和隐含层层数进行迭代寻优,提出了一种基于人工鱼群优化多层感知超限学习机(afsa-h-elm)的驾驶疲劳检测方法。按照本发明提供的技术方案,提出了一种基于人工鱼群优化的多层感知超限学习机驾驶疲劳检测方法,包括如下步骤:步骤1、使用脑电采集设备获取32通道下疲劳驾驶状态的信号和非疲劳驾驶状态的信号;步骤2、对原始脑电信号进行相关预处理,其中包括降频、滤波;步骤3、对预处理后的进行特征提取:对处理后的脑电信号进行短时傅里叶变化,然后对处理后的脑电信号的频带求功率谱密度,这样原始脑电信号就转化成由功率谱所代表的特征向量;步骤4、对提取的特征使用多层感知超限学习机进行分类学习、识别;步骤5、通过人工鱼群算法对多层感知超限学习机的隐含层惩罚因子c和隐含层层数k两个参数进行优化。所述的步骤3中处理后的脑电信号的频带分别为δ(0.1-3hz)、θ(4-7hz)、α(8-15hz)、β(16-31hz)、γ(32-50hz)。所述的步骤4中,多层感知超限学习机进行分类学习、识别的步骤具体为:4-1.将输入信号随机映射到一个特征空间;4-2.经过k层隐藏层,每一层隐藏层进行无监督学习,输出的ηk代表了输入数据的高层特征,此时再通过普通的超限学习机对特征进行学习和分类;其中每一层隐藏层的输出表达为hi=g(hi-1·β),其中,ηi是第i个隐藏层的输出,ηi-1是第i-1个隐藏层的输出,g(·)是隐藏层的激活函数,β是隐藏层的输出权重,由下式计算而来:其中h=[h1,h2,...,hn]是隐层输出,x=[x1,x2,…,xn]是输入数据。范数中的惩罚因子c由用户指定,是对区分边界距离和训练误差的权衡。所述的步骤5中,通过人工鱼群算法对超限学习机的隐含层惩罚因子c和隐含层层数k两个参数进行优化,具体步骤为:5-1.在初始化过程中,参数设置包括人工鱼群规模fish_num、鱼群迭代次数max_gen、觅食最大试探次数try_num、感知距离visual、移动步长step和拥挤度因子δ。初始化鱼群数组分别为h-elm中隐含层惩罚因子c和隐含层层数k两个参数;5-2.首先将输入信号随机映射到一个特征空间,然后利用k个隐含层对转换后的特征进行学习。对于这k层隐含网络层的输出ηk有效地学习到了原始数据的高级表征,最后再依据经典elm对新特征进行识别分析;5-3.利用初始化的参数建立多层感知超限学习机,根据训练样本对该模型进行训练,并计算食物浓度值,并取其最大值;5-4.各鱼群分别模拟觅食行为、追尾行为和聚群行为,并按食物浓度值最大的行为执行,若缺失行为则执行随机行为;人工鱼群算法包括觅食行为、聚群行为、追尾行为和随机行为;1)觅食行为人工鱼个体的当前位置设为xi,在其当前视野范围内dij≤visual,随机选择一个状态xj,当求极大值时,若f(xi)<f(xj),则xi按式(1)向xj移动一步,反之重新选择状态,观察是否满足前进条件,尝试try_number次后,如若仍不满足条件,则按式(2)随机移动一步;xi+1=xi+rand×step(2)其中di,j=||xi-xj||为人工鱼之间的距离,yi=f(xi)为第i条人工鱼当前所在位置的食物浓度,yi为目标函数,rand表示一个随机数值;2)聚群行为人工鱼个体所处位置为xi,距离其visual范围内的小伙伴数目为m,中心位置为xc,如果f(xc)/m>δ×f(xi),表示中心有较多的食物且不太拥挤,则xi按照式(3)向xc移动一步,若f(xc)/m<δ×f(xi),则实施觅食行为,同样,如果没看到其他伙伴,也执行觅食行为;3)追尾行为人工鱼个体所处位置为xi,距离其visual范围内所有小伙伴中食物浓度值最大的位置为xmax,伙伴数目为m,如果f(xmax)/m>δ×f(xi),表明伙伴中xj有较多的食物且不太拥挤,则xi按式(4)向xmax移动一步,若f(xmax)/m<δ×f(xi),则实施觅食行为,同样,如果没有看到其他小伙伴,也执行觅食行为;4)随机行为为在更大范围内寻找食物和同伴,鱼类在水中自由游动,人工鱼的随机行为表示为在某一位置内随意朝某一方向移动;即xi+1=xi+rand×visual(5)5-5.在不满足预设的最大迭代次数之前,人工鱼群会持续执行各种行为直到满足条件。寻优完成以后,鱼群的位置即是此次疲劳驾驶实验中隐含层惩罚因子c和隐含层层数k两个参数的最优解;5-6.以此时的参数构建多层学习超限学习机,对疲劳驾驶模型进行分类。本发明有益效果如下:利用功率谱密度进行特征提取后,将基于afsa-h-elm分类识别结果与h-elm、elm进行分类识别、传统的svm分类识别结果进行对比,结果表明,使用afsa优化后的h-elm分类器在疲劳驾驶分类场景中正确率更高,效果更好,有效的提高了分类检测识别率。附图说明图1为多层感知超限学习机原理图;图2为afsa-h-elm迭代寻优流程图。具体实施方式:下面结合具体实施例对本发明作进一步说明。以下描述仅作为示范和解释,并不对本发明作任何形式上的限制。如图1与图2所示本发明实现的步骤如下:步骤1、使用脑电采集设备获取两种状态下的(正常和疲劳)驾驶脑电信号;步骤2、对原始脑电信号进行相关预处理,其中包括降频、滤波;步骤3、对预处理后的进行特征提取:对处理后的脑电信号进行短时傅里叶变化,然后对处理后的脑电信号的频带求功率谱密度,这样原始脑电信号就转化成由功率谱所代表的特征向量;其中脑电信号的频带分别为δ(0.1-3hz)、θ(4-7hz)、α(8-15hz)、β(16-31hz)、γ(32-50hz);此时,每个信道的信号特征维度已减少至五维。步骤4、对提取的特征使用多层感知超限学习机进行分类学习、识别;具体为:4-1.将输入信号随机映射到一个特征空间;4-2.经过k层隐藏层,每一层隐藏层进行无监督学习,输出的ηk代表了输入数据的高层特征,此时再通过普通的超限学习机对特征进行学习和分类;其中每一层隐藏层的输出表达为hi=g(hi-1·β),其中,ηi是第i个隐藏层的输出,ηi-1是第i-1个隐藏层的输出,g(·)是隐藏层的激活函数,β是隐藏层的输出权重,由下式计算而来:其中h=[h1,h2,...,hn]是隐层输出,x=[x1,x2,…,xn]是输入数据。范数中的惩罚因子c由用户指定,是对区分边界距离和训练误差的权衡。步骤5、通过人工鱼群算法对多层感知超限学习机的隐含层惩罚因子c和隐含层层数k两个参数进行优化。具体步骤为:5-1.在初始化过程中,参数设置包括人工鱼群规模fish_num、鱼群迭代次数max_gen、觅食最大试探次数try_num、感知距离visual、移动步长step和拥挤度因子δ。初始化鱼群数组分别为h-elm中隐含层惩罚因子c和隐含层层数k两个参数;5-2.首先将输入信号随机映射到一个特征空间,然后利用k个隐含层对转换后的特征进行学习。对于这k层隐含网络层的输出ηk有效地学习到了原始数据的高级表征,最后再依据经典elm对新特征进行识别分析;5-3.利用初始化的参数建立多层感知超限学习机,根据训练样本对该模型进行训练,并计算食物浓度值,并取其最大值;5-4.各鱼群分别模拟觅食行为、追尾行为和聚群行为,并按食物浓度值最大的行为执行,若缺失行为则执行随机行为;人工鱼群算法包括觅食行为、聚群行为、追尾行为和随机行为;1)觅食行为人工鱼个体的当前位置设为xi,在其当前视野范围内dij≤visual,随机选择一个状态xj,当求极大值时,若f(xi)<f(xj),则xi按式(1)向xj移动一步,反之重新选择状态,观察是否满足前进条件,尝试try_number次后,如若仍不满足条件,则按式(2)随机移动一步;xi+1=xi+rand×step(2)其中di,j=||xi-xj||为人工鱼之间的距离,yi=f(xi)为第i条人工鱼当前所在位置的食物浓度,yi为目标函数,rand表示一个随机数值;2)聚群行为人工鱼个体所处位置为xi,距离其visual范围内的小伙伴数目为m,中心位置为xc,如果f(xc)/m>δ×f(xi),表示中心有较多的食物且不太拥挤,则xi按照式(3)向xc移动一步,若f(xc)/m<δ×f(xi),则实施觅食行为,同样,如果没看到其他伙伴,也执行觅食行为;3)追尾行为人工鱼个体所处位置为xi,距离其visual范围内所有小伙伴中食物浓度值最大的位置为xmax,伙伴数目为m,如果f(xmax)/m>δ×f(xi),表明伙伴中xj有较多的食物且不太拥挤,则xi按式(4)向xmax移动一步,若f(xmax)/m<δ×f(xi),则实施觅食行为,同样,如果没有看到其他小伙伴,也执行觅食行为;4)随机行为为在更大范围内寻找食物和同伴,鱼类在水中自由游动,人工鱼的随机行为表示为在某一位置内随意朝某一方向移动;即xi+1=xi+rand×visual(5)5-5.在不满足预设的最大迭代次数之前,人工鱼群会持续执行各种行为直到满足条件。寻优完成以后,鱼群的位置即是此次疲劳驾驶实验中隐含层惩罚因子c和隐含层层数k两个参数的最优解;5-6.以此时的参数构建多层学习超限学习机,对疲劳驾驶模型进行分类。以1200个驾驶时的脑电样本为训练数据,240个脑电样本为测试数据时,分别使用svm、elm、h-elm和asfa-h-elm算法进行分类,其分类结果如下表1所示。表1四种分类算法分类准确率对比分类算法测试准确率svm83.47elm77.29h-elm87.00afsa-h-elm88.91从分类准确率的对比表中可以明显的看出:相比传统的svm和elm,h-elm的分类准确率更高,更适合疲劳驾驶实验的场景。而afsa-h-elm在h-elm算法的基础上,进一步优化参数,使分类准确率提高了1.9%左右,表明afsa-h-elm获取最优参数的同时有效的提高了多层感知超限学习机的性能。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1