论文部分内容阅读
支持向量机本质上是一个线性不等式约束下的凸二次优化问题,它通过计算最佳分割超平面实现对两类数据的分类,所得的分类超平面到其两边离它最近的数据点的距离相等。对于非线性可分数据,支持向量机往往通过核函数的映射,在新的Hilbert特征空间中搜索最优超平面。支持向量机完全由支持向量决定,支持向量是处于不同类数据边缘区域的包含信息量最大的数据点。支持向量机存在的主要问题在于:涉及到核矩阵内积运算、核函数及支持向量机相关参数的寻优运算等,经典支持向量机训练和预测的速度比较慢;传统的支持向量机在对类不均衡数据分类时,由于少数类数据的缺失,尤其是少数类数据边缘区域数据点的缺乏,将导致决策超平面向少数类一侧偏移,严重影响了其对少数类数据的泛化能力;支持向量机是两类数据的分类算法,不适宜直接处理多类数据的分类问题。支持向量机在面对规模较大的多类类不均衡数据(Multi-Class Class Imbalanced Data)时,前面述及的问题尤为突出。针对以上问题,本文对支持向量机基于网格搜索的参数寻优机制进行了研究;通过融合数据预处理、数据特征抽取等方法对基于系综学习的支持向量机进行了研究;在支持向量机不均衡数据分类等方面做了一些工作;研究了基于多线程并行化的不均衡数据多分类支持向量机系综学习方法,并在人体活动识别领域进行了应用研究。本文的主要研究成果如下:(1)提出了一种基于多级网格搜索的支持向量机算法——PMSVM。该算法首先用较粗粒度的步长在一个较大的空间内进行参数搜索,然后根据得到的中间结果,自适应调整网格搜索的边界及步长值,在缩减了的搜索空间内用较细粒度的步长进行新的迭代,重复这一过程,直到得到最佳的参数值。网格搜索属于典型的贪婪算法,通过逐步缩减搜索空间及调整步长,能够极大地提高网格搜索的效率。本文在利用系统归一化及主成分分析进行数据预处理的基础上,融合了所提出的多级网格搜索技术,实现了支持向量机分类算法,并通过实验,在多个分层抽样数据集及随机抽样数据集上验证了PMSVM这一支持向量机分类算法的准确性与高效性。(2)提出了一种基于系综学习的支持向量机分类算法——PEnSVM。首先对原始数据集按列进行归一化,接着在归一化数据集上进行holdout抽样,在得到的训练集上以一个给定的主成分阈值选择相应比例的主成分作为真正的训练集,并在该训练集上构建基支持向量机分类器。自动调整主成分阈值,重复holdout抽样及其后的PCA及基支持向量机分类器的建模过程,直到得到所需数量的基分类器(Base Classifier)为止。传统的系综学习方法都是将多个同质的基分类器集成以得到总的系综学习模型,本文通过将构建在不同阂值主成分基础上的差异化的基支持向量机分类器用Bagging方法进行集成,并运用多数投票策略实现了最终的系综学习支持向量机算法。通过实验,在5个Benchmark数据集上测试了PEnSVM算法的性能,证明了算法的有效性与鲁棒性。(3)提出了一种在KNN图与最小生成树基础上进行SMOTE过抽样的支持向量机不均衡数据分类算法——KMSSVM。该方法首先在不均衡数据集的作为少数类的正类数据上构建KNN图,然后生成该KNN图的最小生成树(MST)。进一步,在所得的最小生成树的叶节点上,通过SMOTE算法插入满足要求的新的合成样本。利用KNN图能够清除数据集中的部分离群点。传统的SMOTE算法通过随机选择正类样本以插入新数据点。本文通过在KNN图上构建MST,所选择出的MST的叶节点应该是该类数据边缘区域的数据点,在这些点与其同类的K近邻间插值,得到的均衡化数据集更有利于训练得到对少数类数据泛化能力更高的支持向量机。通过在不均衡程度不一的3个UCI Benchmark数据集上的实验,证明了KMSSVM是个有效的不均衡数据分类算法。(4)提出了一种基于多分类的系综学习支持向量机不均衡数据分类算法——BEnSVM。该方法通过分层自助抽样,将原始数据集划分成很多微子集,然后在每个微子集上用One-Versus-One方法构建基多分类支持向量机,BEnSVM就是为数众多的基多分类支持向量机分类器按多数投票原则集成后实现的,该算法适合于大规模多类不均衡数据的分类。初始的多分类基支持向量机建立在备个微子集上,使得支持向量机对偶形式的计算复杂度以几个数量级的方式降低,而且用于构建多分类支持向量机的弱二分类支持向量机分类器是以多线程并行的方式编程实现的,进一步降低了计算复杂度。通过在一个真实的包含有165,633条数据样本的,拥有5个不同类标签的不均衡人体活动识别数据集上的实验,证明了BEnSVM是一个计算复杂度较低、分类精度较高的多分类不均衡数据支持向量机分类算法。