您的位置:首页 > 大数据

大数据集的SVM训练方法

2016-03-06 20:50 337 查看

第一篇:SVM与MapReduce结合

一:总体思路

SVM算法在分布式云存储端进行训练,将训练后获得的支持向量合并,迭代以上两个过程直到收敛。也就是说数据是分为几个部分的,但是支持向量是全局支持向量

二:背景介绍

当面对训练数据集特别大的情况,有两种方法:1.减小特征向量的维度 如SVD,PCA,ICA(Independent component analysis),CFS(correlation based feature selection)等 2.第二种方法是分块,将数据集分为几个子集,然后将子集组合到一起

三:具体方法介绍

通过将SVM与mapreduce 结合,来训练数据集

map阶段:训练集的子集是由支持向量组合到一起的

reduce阶段:合并后的子集通过公式计算,获得新的支持向量与之前的全局支持向量结合到一起

具体流程如下

每一台安有云计算的计算机读取全局支持向量,将支持向量与子集合并并通过SVM分类器进行分类,经过计算获得新的支持向量

计算以后将所有的支持向量合并,并存为全局支持向量

如果满足终止条件则截止,否则跳到1继续

通过实验结果很好,说明可行

论文地址

第二篇:SVM与边缘检测和K-means结合

一:总体思想

为了获得整体的样本分布情况和SVs(支持向量),这里使用了边缘检测技术和K-means算法,通过k-means获得计算每个类的中心,边缘检测获得可能的SVs,用各类的中心和SVs组合获得新的样本点,这个重建的样本点可以用来做分类,分类效果快且不影响精度。

二:背景介绍

(前两点同上篇文章本小节,此处省略。。。)

避免二次规划,如核向量机算法,或者LSVM等等,但是对于非线性核,获得的核矩阵仍然很大

对核矩阵进行降维,使用贪心策略,采样或者矩阵分解。但是这种方法获得的核矩阵仍然很大

减少SVM训练集,如reduced SVM算法,随机使用核矩阵中的一块子矩阵

本文的核心内容是使用第三种方法

边缘采样技术是来自于图像分割中的一种方法,这里认为两类边缘的样本就是SVs。

三:具体方法介绍

这里选择SVs的方法为:假定一个参数m,如果一个样本点p周围的m个最近邻中有一个及以上是与p不同类别的,那么p被认为是边缘样本点,即SV,但只使用SVs会导致过拟合,因此,为了描述整个样本集合的结构特性,这里添加了K-means算法来构造。具体的算法流程如下:

设定m的值

在边缘检测样本点,找出SVs

决定聚类的个数并运行k-means算法

使用Svs和k-means算法获得的中心来重建样本点,并使用SVM算法对其进行分类

实验效果很好

论文地址
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: