论文部分内容阅读
支持向量机作为近十年来最为成功的机器学习方法,在很多应用领域取得了很好的成绩,包括文本分类,手写字符的识别,人脸识别等等。它和其他机器学习方法最大的不同在于,它遵循了统计学习理论中的一些要求,包括结构风险最小化。从理论上它的期望误差有一个上界。支持向量机非常成功,但美中不足的是它本质上是解决两类问题的,但实际生活中更多的还是多类问题。用支持向量机解决多类问题仍然需要很多研究工作。
现有的用支持向量机解决多类问题的手段主要有两种:一是把多类问题转换成为若干两类问题;二是构造真正意义上的多类支持向量机,即把所有数据一起考虑。本文对多类支持向量机的原理和实现方法进行了研究,并在此基础上对算法进行了改进。
在本文中我们提出了两种改进方案,分别针对多类支持向量机算法中不同的部分:惩罚因子C和子问题。前一种改进方案的主要的想法是考虑类与类之间的关系,比如类与类之间的距离,并把这种关系整合到原来的多类支持向量机中。后一种方案的主要想法是平衡多类支持向量机中的各个子问题,而不是仅仅把这些子问题相加然后求解。两种方案角度不同,但是都体现了考虑整体最优的思想。
提出改进算法后我们做了如下工作:
1) 首先转换这两种方案对应的最优化问题到它们的对偶形式,从而使用更为方便的数值算法来进行求解,并且我们在实现这两种方案的时候使用了适合大规模数据的算法,因此可以支持大规模的数据运行;
2) 接着通过实验对这两种方案的有效性进行了验证。实验结果显示我们提出的改进方案很有效。