文档介绍:报告提纲
支持向量机的原理
广义线性区分序列核函数
基于支持向量机的语种识别系统
其他
支持向量机的原理
在低维特征空间,线性支持向量机:线性可分和线性不可分
sv
sv
支持向量机原理
通过一个非线性函数ф将低维特征空间的数据x映射到高维特征空间,从而把线性不可分的数据在高维空间转化为线性可分;
非线性支持向量机:线性可分和线性不可分
支持向量机核函数
上述式子中, 称为核函数,常见的有4种核函数:
采用拉格朗日乘子法求解上述二次规划问题,得到对偶最优化问题如下:
核函数特征映射原理
以多项式核函数为例,假设多项式的阶数q=2,每帧的特征向量为2维
这样,就把特征向量由2维空间映射到了6维空间,这个过程等价于:使用多项式展开公式先把特征向量映射到6维空间,然后使用线性核函数做内积,即
上述4种核函数用于语种识别或说话人识别存在的问题
假设有两个说话人(或两个语种),每个说话人有训练样本(每帧的特征向量)100个,假设在低维空间这200个样本不可分,那么我们是否可以把这些低维空间的样本通过核函数映射到高维空间进行区分呢?答案是否定的,这主要基于两点主要原因:
由于帧与帧特征向量之间没有很好的区分性,所以当两类的训练帧很多时(达到上万个,并不仅限于这200个),支持向量机训练通常会失效;
上述方法是基于一种假设,其假设每帧之间是独立的,不相关的,其忽略了帧与帧之间的连续性和相关性;
正是基于以上两点原因,我们需要找到一种新的核函数,其能够对帧与帧之间的相关性建模,换句话说,应该能够把一定时长的序列(包含很多帧)数据转换成一个特征向量,并把该特征向量映射到高维空间,由此提出了广义线性判别序列核函数(Generalized Linear Discriminant Sequence Kernel)。
广义线性判别序列核函数
假设有一个句子,其包括N帧,当把每帧特征向量使用多项式展开公式ф映射到高维空间之后,对某个分类器模型w来说,得到广义线性判别函数的输出概率可以用下式表示:
怎么得到模型w呢?可以使用最小平方误差准则(MSE)训练得到。假设训练时该说话人训练样本xi(帧数)有N1个,背景说话人训练样本yi有N2个,该说话人的理想输出为1,背景说话人的理想输出为0,那么寻找w的过程相当于求解下列最优化问题的最优解:
求解过程如下:
广义线性判别序列核函数
把(3)式求得的w代入(1)式,并考虑先验概率,得到:
因此,对于任意两个序列X=[x1,x2,…,xn1],Y=[y1,y2,…,yn2],可以构造如下核函数:
基于支持向量机的语种识别系统
系统框架
训练过程
测试过程
SDC特征
识别系统框架
训练时,语音信号经过特征提取和预处理(把静音帧去掉)之后,使用多项式变换和映射方法,可以把若干低维的帧(Frame)特征向量扩展成几个高维的序列(Sequence)特征向量,然后借助GLDS核函数,使得这些高维的序列特征向量带有区分性,以此训练各语种的SVM模型;
测试时,测试句子同样经过特征提取和预处理之后,映射到高维特征向量空间,再由各语种的SVM模型计算得分概率,选取得分最大的模型所对应的语种为所识别的语种。