svm的多类分类问题

         最近在看SVM用于说话人识别,需要对训练语音进行正负类区分,从而训练合适的分类面。现在把自己看的东西大致总结一下,如果有错的,或者不明白的,请指出,谢谢!

         传统的SVM使用与说话人确认,因为SVM是一个二分类,而确认也是一个二分问题,“接受”或“拒绝”。将目标说话人作为正类,选取合适的冒认者集合作为负类,从而来训练合适的分类面。

         而对于辨认问题,一般来说,多类分类问题可以分为两种情况:

1、“一对一”的方式

      分别选取两个不同类别构成一个SVM子分类器,这样对于K个类别来说,共有(k*(k-1)/2)个分类器。在构造i和j的分类器时,可以将类别i的训练样本置为1,j的样本置为-1来进行训练。

     在进行测试的时候,使用最多的就是Friedman提出的投票策略:将测试数据x对所有的分类器分别进行测试,若由

得到x属于第i类,则第i类加1,属于j类,则第j类投票加1.累计各类别的得分,选择得分最高者所对应的类别为测试数据的类别。

      例如说:我们有6个说话人的数据,分别作为6类,我们分别做(类1、类2),(类1、类3),。。。(类5、类6)总共15个SVM分类面,现在有一个测试说话人X,将其分别送入15个SVM分类面,假如说,在(类1、类2)属于类1,在(类1、类3)中属于类1,在(类1,类4)中属于类一,在(类1、类5)中属于类1,在(类1、类6)中属于类1,那么它属于类1的投票数是5,如果属于其他类别数不大于5时,那么X就属于类1.

     这种方式的优点是:增加语音的情况下,我们不需要重新训练所有的SVM,只需要重新训练和增加语音样本相关的分类器。在训练单个模型时,相对速度较快。

                        缺点是:所需构造和测试的二值分类器的数量关于k成二次函数增长,总训练时间和测试时间相对较慢。

提醒:用一对一的方式训练SVM时,如果每个类别只有一句语音时,在训练SVM分类面时不要进行标准化。

       从“一对一”的方式出发,出现了有向无环图(Directed Acyclic Graph)的分类方法,训练过程如“一对一”类似,但测试具体过程如下图:

这种方法减小了测试的数据量,提高了速度。

2、“一对多"的方式

        最早实现SVM对多类别进行分类就是此种方法,思想是将多个类别转化成两类来实现。在训练时,对于k个类别的样本数据,需要训练k个SVM二类分类器,在构造第i个SVM子分类的样本数据标记为正类,其他不属于i类别的样本数据标记为负类。测试时,对测试数据分别计算各判别函数值,如果只有一个分类器输出正值,那么可直接判决结果为相应分类器编号,否则选取判别函数值最大所对应的类别为测试数据的类别。

优点:训练k个分类器,个数较少,其分类速度相对较快。

缺点:每个分类器的训练都是将全部的样本作为训练样本,这样在求解二次规划问题时,训练速度会随着训练样本的数量的增加而急剧减慢;同时由于负类样本的数据要远远大于正类样本的数据,从而出现了样本不对称的情况,且这种情况随着训练数据的增加而趋向严重。解决不对称的问题可以引入不同的惩罚因子,对样本点来说较少的正类采用较大的惩罚因子C。还有就是当有新的类别加进来时,需要对所有的模型进行重新训练。

     由于训练数据的不平衡性,在实际情况下,我们应该合理的选择冒认者模型,选择出距离分类面较近的 少些样本来进行训练。

     从冒认话者集中选取冒认者的方法:一是基于语音的方法,将冒认者话集的冒认语音与该目标说话人的GMM模型进行匹配,性中找到s个具有较大似然度评分的话者语音作为该目标说话人的冒认话者;二是将目标说话人与冒认话者分别训练GMM模型,然后随机选取K条次序固定的语音作为测试语音,然后将这K条测试语音通过目标模型的GMM和所有的冒认话者的GMM模型,得到的评分可以组成多个K维矢量,通过计算矢量间的欧氏距离来获得最优的冒认话者。

        在“一对多”的方式中,也可以为训练语音寻找一个公共的冒认话者集,而这个冒认话者集尽可能包含多种环境情况。这样训练得到的分类面相当于某个目标说话人与一群固定的冒认者之间的区分情况。

        从“一对多”的方法又衍生出基于决策树的分类:

        首先将所有类别分为两个类别,再将子类进一步划分为两个次级子类,如此循环下去,直到所有的节点都只包含一个单独的类别为止,此节点也是二叉树树种的叶子。该分类将原有的分类问题同样分解成了一系列的两类分类问题,其中两个子类间的分类函数采用SVM。如下图表示:

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值