张桐瑞 刘俊男
摘 要 支持向量机(Support Vector Machine, SVM)是Vapnik教授等人在根据多年研究统计学理论基础上提出的一种基于统计学原理的VC维理论和结构风险最小化理论用以解决线性不可分这样的分类问题的理论的机器学习方法,对于高维度、非线性、低样本量训练集的特征空间具有很好的泛化性能。医学图像特征提取和分割是图像处理在医学图像领域两个重要的课题:本文基于二分类支持向量机原理建立多分类支持向量机模型,应用于生物眼部瞳孔、晶状体及眼白等不同眼部结构的特征提取,并对实验结果进行分析。本文建立的数学模型和提出的实验方法能够为临床实验提供思路。
关键词 医学特征提取 眼部结构 图像处理 机器学习 二分类支持向量机 多分类支持向量机
中图分类号:TP391文献标识码:A
1支持向量机概述
支持向量机理论最初用来解决处理数据的分类问题,因此SVM的基本思想是根据训练集运算出一个满足要求的分割平面,使此平面两侧的分类点间隔尽可能最大。后来,把寻找最优分类平面等效为求解一个凸规划问题:基于Mercer核定理进行展开,并通过构造一个非线性映射,把不可分的非线性样本空间映射到一个高维乃至无穷维的特征空间,使之在新特征空间中可以使用线性理论方法解决原始样本空间中高维非线性分类和回归等问题。
SVM分类器是一种基于严格的理论推导的机器学习的方法,它已经成为计算机学习、模式识别、智能计算、预测预报等领域的热点应用,在国内外受到广泛关注。
2支持向量机函数模型
支持向量机的模型主要由两部分组成:SVM训练过程和SVM分类过程。相比而言,二者之间更重要的是训练过程,其不同的参数输入直接决定了最终生成的支持向量机的精度与性能。
2.1训练函数模型
模型的训练所依据的是二分类支持向量机的变形。
(1)已知训练集:,,,为特征向量。
(2)选取适当的核函数和适当的参数,构造并求解最优化问题:
上式是一个二次规划问题,根据输入参数的不同可以使用不同的求解方法。通常采用二次规划(Quadratic Programming)、序列最小化最优化(Sequential Minimal Optimization)、最小二乘法(Least-Squares)。
由上得到最优解。
(3)选取的一个正分量,并根据此计算阈值:。
(4)构造决策函数:。
2.2核函数的选取
关于核函数的选取,可以分为现有核函数和推导核函数两类。现有的核函数有线性核函数(Linear kernel)、二次核函数(Quadratic kernel)、高斯径向基核函数(RBF kernel)、多项式核函数(Polynomial kernel)和多层感知器核函数(Multilayer Perceptron kernel)。
在本文的验证过程,使用的是二次多项式核函数,具体形式为:。根据不同领域的特性,也可以实用自定义的核函数完成特定的任务。
3多分类支持向量机
直接应用上面的两分类支持向量机只能解决两分类问题,现实中面临的很多问题都是多分类问题,这时为了解决多分类问题就需要构造一些列两分类支持向量机。
本节介绍构造多分类支持向量机的方法:设已知训练集,,其中,,。
首先对所有的进行下列运算:
(1)基于这些样本点组成一个训练集。
(2)用求解两分类问题的支持向量机求得实函数和判定属于第类和第类的分类机:
然后在需要对给定的一个测试输入推断它属于的第几类时,考虑上述所有的分类机对所属类别的意见:一个分类机判定属于第类就意味着第类获得一票。得票数最多的类别就是最终判定所属的类别。
另外一种方法是一类对余类构造支持向量机的方法:对于训练集,在训练支持向量机时,可以将所有相等的归为一类,剩下的归为一类,这样训练好的支持向量机就可以识别类了。按照上述的方法一共可以构造个支持向量机,其中每个支持向量机负责识别相应的第类。
4实验与分析
实验分析主要过程:用设计的多分类器对随机产生的4类数据进行分类的效果测试。测试数据集的数据量从30个数据增长到900个数据。实验结果表明:在测试数据集数据量很大的情况下,核函数的选择尤为重要。本实验的经过大量实验数据测试对比,在同等条件下,控制变量使核函数变化,径向基核函数(RBF)分类效果明显优于线性核函数,更优于d阶多项式核函数、Sigmoid核函数,因此在本文中主要径向基核函数。
900个数据样本情况下,设计的分类器分类效果良好。但是,对于训练数据集的数据量较少的情况小,需要验证其训练结果是否能代替模型完整的样本集,因此需要将所设计的分类器进行回归效果测试。根据测试结果得出以下结论:在小样本情况下,SVM分类器可以很好进行预测,也即使用小样本数据训练的效果接近于完整数据样本训练的效;且对比于训练速度近似的BP神经网络结构,预测结果好于BP神经网络结构。SVM分类器的均方误差和均方误差相关系数为:0.0032052和0.98815;BP结果分类器的均方误差和均方误差相关系数为0.01495和0.94217。
然后对部分人眼部模型进行晶状体特征提取的效果验证:
根据眼部模型A建立分类器的训练数据集对分类器进行训练,然后将眼部模型A载入训练数据集训练的分类器,观察效果:
由上图可知,除晶状体以外,部分背景仍有残留。对训练数据集进行补充,再次训练分类器,多次对训练数据集进行补充。
进行四次反复训练与测试之后,就可得到对模型A晶状体区域提取效果较好的分类器。接下来将此分类器对模型B进行测试验证。
将模型B载入分类器,第一次提取效果如下图所示,同样将模型B部分背景数据补充到训练数据集中,最后得出效果良好的分类器。将根据模型A、B训练的分类器对不同模型进行测试验证,如下图所示:
由以上測试结果可以看出:
模型A建立的测试数据集可以视为小样本情况,根据小样本数据训练的分类器对模型A进行晶状体特征提取,效果良好。对于模型B的晶状体特征提取有部分区域没有被剔除,因此补充部分数据对B模型进行测试,同样得到满意的效果。使用训练好的分类器提取其余模型,均得到效果良好的提取效果。因此,随着训练样本的增加,对不同角度,不同类型的晶状体同样会有令人满意的效果。
5结论
经过试验得知,基于SVM建立的多分类器效果分类效果明显,而且通过对比得出使用RBF核函数进行多分类效果最优的经验,因此在后续测试使用RBF核函数。对于小样本训练,训练器的回归性能在很大程度上决定了对于测试集测试的结果,因此需要对分类器的回归性能进行验证,并与神经网络结构分类器进行比较,更直观得出结论。性能测试后,对于一般图像进行目标物提取,进行实际情况测试。测试发现,对于目标物提取效果良好,但对于特殊的背景点需要单独添加进训练集。最后对于眼部模型进行针对性训练,使用AB模型作为训练集,对两个模型进行交叉测试,特征提取良好。总的来说,采用高效、准确的分类方法,并针对具体的应用,充分利用算法的优势,实现了眼部晶状体区域特征自动提取,具有一定的实用价值。
参考文献
[1] Chang CC CC&Lin C CC.A Library for Support Vector Machines[J].2011.
[2] 龙伶敏.基于Adaboost的人脸检测方法及眼睛定位算法研究[D].成都:电子科技大学,2008.
[3] 刘祥楼,张明,邓艳茹.一种人脸对象的区域分割方法[J].科学技术与工程,2011,11(12):2686-2690.