发明名称 基于多核支持向量机的肌电信号分类方法
摘要 本发明涉及一种基于多核支持向量机的肌电信号分类方法。对于分布复杂的样本,基于单核支持向量机的分类性能,在分类精度和支持向量的数目上容易受到影响。本发明方法是将多核支持向量机方法与二叉树组合策略相结合,具体步骤是:通过肌电信号采集仪拾取人体下肢的肌电信号;采用小波系数尺度间相关性消噪法对含有干扰噪声的肌电信号进行消噪;对消噪后的肌电信号进行特征提取,利用消噪后的小波系数得到肌电信号的特征;基于多核支持向量机的分类操作。本发明方法可以较好地满足下肢假肢控制中的多分类要求,兼顾分类的准确性和实时性,该方法在智能假肢控制的多运动模式识别中具有广阔的应用前景。
申请公布号 CN101859377A 申请公布日期 2010.10.13
申请号 CN201010197475.6 申请日期 2010.06.08
申请人 杭州电子科技大学 发明人 佘青山;罗志增;孟明;马玉良
分类号 G06K9/00(2006.01)I;G06K9/62(2006.01)I 主分类号 G06K9/00(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 杜军
主权项 1.基于多核支持向量机的肌电信号分类方法,其特征在于该方法包括以下步骤:步骤(1)通过肌电信号采集仪拾取人体下肢的肌电信号;步骤(2)采用小波系数尺度间相关性消噪法对含有干扰噪声的肌电信号进行消噪,具体步骤包括:a.用离散二进小波变换求出含噪肌电信号在尺度j上位置k处的小波变换系数W(j,k),j=1,2,…,J,J=log<sub>2</sub>N;N为信号长度,J为分解的最大尺度;b.计算各尺度噪声小波变换的标准方差<img file="FSA00000157353000011.GIF" wi="78" he="64" />c.对每个小波分解尺度j,j=1,2,…,J,具体是:①计算相关系数Cor(j,k)及其规范化系数NCor(j,k),方法如下Cor(j,k)=W(j,k)gW(j+1,k)<maths num="0001"><![CDATA[<math><mrow><mi>NCor</mi><mrow><mo>(</mo><mi>j</mi><mo>,</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mi>Cor</mi><mrow><mo>(</mo><mi>j</mi><mo>,</mo><mi>k</mi><mo>)</mo></mrow><msqrt><mfrac><mrow><mi>PW</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow><mrow><mi>PCor</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow></mfrac></msqrt></mrow></math>]]></maths>其中,<img file="FSA00000157353000013.GIF" wi="458" he="122" /><img file="FSA00000157353000014.GIF" wi="523" he="122" />PW(j)为W(j,k)在第j级的能量,PCor(j)为Cor(j,k)在第j级的能量,k=1,2,…,N;②对于k=1,2,L,N<sub>s</sub>,引入一个与尺度相关的系数因子λ(j)≥1,通过比较NCor(j,k)和λ(j)W(j,k)的绝对值,提取肌电信号的边缘信息,具体是:如果|NCor(j,k)|≥λ(j)|W(j,k)|,那么认为该点为信号的边缘,将该点的小波系数W(j,k)赋值给各尺度下被抽取的小波系数<img file="FSA00000157353000015.GIF" wi="154" he="59" />相应的位置保存起来,然后将该点的小波系数W(j,k)和相关系数Cor(j,k)都置为0;否则,对应点的W(j,k)和相关系数Cor(j,k)保持不变;③设W(j,k)被抽取出K个边缘点后变为W′(j,k),如果W′(j,k)的能量<img file="FSA00000157353000016.GIF" wi="287" he="64" />满足<img file="FSA00000157353000017.GIF" wi="603" he="64" />则对尺度j循环终止;否则,重复步骤①、②和③;τ(j)为噪声能量因子;d.将处理后得到的各尺度下被抽取的小波系数<img file="FSA00000157353000021.GIF" wi="153" he="60" />经过离散二进小波的逆变换得到消噪后的肌电信号,j=1,2,…,J;步骤(3)对消噪后的肌电信号进行特征提取,利用消噪后的小波系数得到肌电信号的特征T<sub>j</sub><maths num="0002"><![CDATA[<math><mrow><msub><mi>T</mi><mi>j</mi></msub><mo>=</mo><mfrac><msqrt><msubsup><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></msubsup><mover><mi>W</mi><mo>~</mo></mover><msup><mrow><mo>(</mo><mi>j</mi><mo>,</mo><mi>k</mi><mo>)</mo></mrow><mn>2</mn></msup></msqrt><mi>N</mi></mfrac><mo>,</mo></mrow></math>]]></maths>j=1,2,…,J-1其中,<img file="FSA00000157353000023.GIF" wi="152" he="59" />表示尺度j上位置k处被抽取的小波系数,N为信号长度,J为分解的最大尺度;步骤(4)基于多核支持向量机的分类操作,具体步骤是:a.求解基于多核支持向量机二类分类问题给定n维欧氏空间的训练样本集<img file="FSA00000157353000024.GIF" wi="243" he="60" />其中i=1,2,…,l,l为样本数,<img file="FSA00000157353000025.GIF" wi="144" he="53" />为输入值,y<sub>i</sub>∈{+1,-1}为类标号;多核支持向量机算法本质上是用M个核函数凸组合,记为<img file="FSA00000157353000026.GIF" wi="636" he="77" />有d<sub>m</sub>≥0且<img file="FSA00000157353000027.GIF" wi="265" he="77" />输入值x<sub>i</sub>通过映射<img file="FSA00000157353000028.GIF" wi="300" he="58" />m=1,2,…,M,从输入空间映射到高维特征空间,其中D<sub>m</sub>表示为M维特征空间的维数,将其表示为下面的优化问题min<maths num="0003"><![CDATA[<math><mrow><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><mrow><mo>(</mo><munderover><mi>&Sigma;</mi><mrow><mi>m</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msub><mrow><mo>|</mo><mo>|</mo><msub><mi>w</mi><mi>m</mi></msub><mo>|</mo><mo>|</mo></mrow><mn>2</mn></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><mi>C</mi><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>l</mi></munderover><msub><mi>&xi;</mi><mi>i</mi></msub></mrow></math>]]></maths>w.r.t.<img file="FSA000001573530000210.GIF" wi="215" he="60" /><img file="FSA000001573530000211.GIF" wi="140" he="57" /><img file="FSA000001573530000212.GIF" wi="113" he="39" />s.t.    ξ<sub>i</sub>≥0,<img file="FSA000001573530000213.GIF" wi="660" he="132" />i=1,2,…,l其中,C为惩罚系数,w<sub>m</sub>=d<sub>m</sub>w′<sub>m</sub>,d<sub>m</sub>≥0,m=1,2,…,M和<img file="FSA000001573530000214.GIF" wi="267" he="76" />b.利用二叉树组合策略解决多类分类问题对于一个c类的模式识别问题,给定n维欧氏空间的训练样本集<img file="FSA000001573530000215.GIF" wi="326" he="60" />其中i=1,2,…,l,l为样本数,<img file="FSA000001573530000216.GIF" wi="144" he="54" />为输入值,y<sub>i</sub>∈Y={1,2,…,c}为类标号;定义第y<sub>k</sub>∈Y类的第k个样本点<img file="FSA000001573530000217.GIF" wi="38" he="53" />与第y<sub>l</sub>∈Y类的第l个样本点<img file="FSA000001573530000218.GIF" wi="42" he="53" />之间的距离为<img file="FSA000001573530000219.GIF" wi="456" he="85" />i=1,2,…,N<sub>k</sub>;j=1,2,…,N<sub>l</sub>,其中N<sub>k</sub>为样本集S中y<sub>k</sub>类的训练样本数,N<sub>l</sub>为S中y<sub>l</sub>类的训练样本数;然后,定义第y<sub>k</sub>类与第y<sub>l</sub>类之间的距离为<img file="FSA000001573530000220.GIF" wi="1145" he="77" />对每个类,根据上式分别计算它与c-1个其他类之间的距离,得到相应的距离矩阵D<maths num="0004"><![CDATA[<math><mrow><mi>D</mi><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mi>D</mi><mrow><mo>(</mo><msub><mi>y</mi><mn>1</mn></msub><mo>,</mo><msub><mi>y</mi><mn>2</mn></msub><mo>)</mo></mrow></mtd><mtd><mi>D</mi><mrow><mo>(</mo><msub><mi>y</mi><mn>1</mn></msub><mo>,</mo><msub><mi>y</mi><mn>3</mn></msub><mo>)</mo></mrow></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mi>D</mi><mrow><mo>(</mo><msub><mi>y</mi><mn>1</mn></msub><mo>,</mo><msub><mi>y</mi><mi>c</mi></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>D</mi><mrow><mo>(</mo><msub><mi>y</mi><mn>2</mn></msub><mo>,</mo><msub><mi>y</mi><mn>1</mn></msub><mo>)</mo></mrow></mtd><mtd><mi>D</mi><mrow><mo>(</mo><msub><mi>y</mi><mn>2</mn></msub><mo>,</mo><msub><mi>y</mi><mn>3</mn></msub><mo>)</mo></mrow></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mi>D</mi><mrow><mo>(</mo><msub><mi>y</mi><mn>2</mn></msub><mo>,</mo><msub><mi>y</mi><mi>c</mi></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mi>D</mi><mrow><mo>(</mo><msub><mi>y</mi><mi>c</mi></msub><mo>,</mo><msub><mi>y</mi><mn>1</mn></msub><mo>)</mo></mrow></mtd><mtd><mi>D</mi><mrow><mo>(</mo><msub><mi>y</mi><mi>c</mi></msub><mo>,</mo><msub><mi>y</mi><mn>2</mn></msub><mo>)</mo></mrow></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mi>D</mi><mrow><mo>(</mo><msub><mi>y</mi><mi>c</mi></msub><mo>,</mo><msub><mi>y</mi><mrow><mi>c</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo></mo></mrow></math>]]></maths>对矩阵D每一行中的c-1个距离值按由大到小的顺序排列,得到对应的距离排序矩阵<img file="FSA00000157353000032.GIF" wi="62" he="54" />根据矩阵<img file="FSA00000157353000033.GIF" wi="37" he="50" />第一列元素的大小<img file="FSA00000157353000034.GIF" wi="57" he="62" />(i=1,2,…,c),按照由大到小的顺序对相应的类标号重新编号,即<img file="FSA00000157353000035.GIF" wi="57" he="62" />(i=1,2,…,c)最大者对应的类标号记为1,而最小者对应的类标号记为c;最终得到所有类别的排列为y<sub>1</sub>,y<sub>2</sub>,…,y<sub>c</sub>;由此,将c类分类问题转化为c-1个二类分类器来解决。
地址 310018 浙江省杭州市下沙高教园区2号大街