结构化 SVM

关于SVMweb

SVM 即支持向量机,经常使用于二分类模型。它主要的思想是:算法

1.它是特征空间上间隔最大的线性分类器;数据结构

2.对于线性不可分的状况,经过非线性映射算法将低维空间的线性不可分的样本映射到高维特征空间,高维特征空间可以进行线性分析。机器学习

什么是结构化
其实机器学习中,若是按照输出空间不一样能够分为:svg

二元分类 (binary classification)函数

多元分类 (multiclass classification)学习

回归问题 (regression)优化

结构化预测 (structured prediction)xml

其中前面三类都是咱们常见且常常用的,第四种结构化预测重点体如今结构化上,前面三类的输出都是标签类别或者回归值之类的单变量,而结构化预测输出是一种结构化的数据结构,好比输入一句话,输出是一颗语法树。此外,结构还能够是图结构、序列结构等。it

结构化 SVM
把前面的 SVM 与结构化结合起来就是结构化 SVM 了。它为了处理更加复杂的彼此之间互相存在依赖关系的结构数据,对传统 SVM 进行了改进,能够说结构化 SVM 是在传统 SVM 的基础上扩展出来的。结构化 SVM 使用时主要涉及学习和推理两个过程,与大多数机器学习算法同样,学习其实就是肯定模型的参数的过程,而推理就是根据学习到的模型对给定的输入进行预测的过程。

假设给定了训练集,其中 X 和 Y 是两个集合,结构化 SVM 就是经过这些样原本训练一个输入输出对的函数。预测时,对于给定的输入 x,在全部 y∈Y 中取得最大值的 y 即为预测项。

学习过程
学习结构化数据就是要找到上述的一个判别函数,使之在判别函数肯定后,对给定的输入x,能选择最大化函数 f 值的 Y 做为输出。假定函数 f 的形式为,

其中判别函数,w 是参数向量,而 Ψ(x,y) 能够当作是输入输出对的特征表示,表明将输入输出对合并起来的特征向量,它的形式取决于具体问题。 通常会假设 F(x,y;w) 是 (x,y) 和参数向量ww 的线性函数,即 。

接着还得再定义一个损失函数Δ:Y×Y→R,它应该知足时 ,当 时 。那么有经验风险函数,

因此咱们的目标是要找到一个 使得经验风险函数最小,而它可能存在经验风险为 0 的状况,此时,知足以下条件

其中,。根据间隔最大化来求解,固定 w 的长度,求能使得间隔最大的w。两个超平面的距离为最大化其实就等价于最小化,这时已经能够转成 SVM 中问题的形式了,

但实际状况中经验风险为 0 可能会致使过拟合现象,这时要考虑容忍训练集中某些样本错误分类,从而引入松弛变量,因而优化问题变为:

约束条件引入损失函数的影响,得

那么如今无论是经验风险为 0 仍是不为 0,剩下要作的事就是求解上述优化问题,即根据上述各个式子中的约束条件解得最优值 W。怎么求解仍是个难题,若是样本数较少且 Y 状态数较少,能用传统的二次优化求解。

而实际状况中样本数和状态数都较多,因而产生的约束条件规模很是大,总数量为,其中 n 为样本数,|Y | 为 y 可能的状态数。因此在求解过程当中须要先将上述优化问题转换成对偶形式,采用割平面训练法,具体优化过程不考虑全部约束条件,从无约束问题出发,逐步选择约束直到精度知足指望后中止。

IOB 标记
经常使用的标注策略有 IOB 标记,即块的第一个符号处标注为 B,块内部的符号标注为 I,块外的符号标注 O。其中 B 为 Begin,表示开始;I 为 Intermediate,表示中间;O 为 Other,表示其余。好比:

我明天去北京。 OBIOBI