大数据集的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算法对其进行分类
实验效果很好
论文地址
相关文章推荐
- hdfs 查看文件分布所属块
- HUST 1606 Naive
- Contains Duplicate
- AIX Study之--AIX网卡配置管理(ent0、en0、et0)
- DT时代,如何创造一个大数据石油的新经济?
- OpenStack云计算快速入门之三:OpenStack镜像管理
- OpenStack云计算快速入门之二:OpenStack安装与配置
- OpenStack云计算快速入门之一:OpenStack及其构成简介
- hadoop2.7.2 HA搭建
- hadoop2.7.2 联邦配置文件
- 【B类】BI商业智能、大数据、Mysql、等系列课程集
- shrio 权限管理filterChainDefinitions过滤器配置
- POJ 2010 Moo University - Financial Aid (优先队列/二分答案)
- BaiduMap API 使用
- Develop -- Training(十) -- 共享文件
- Failed to extend swap file from 0 kb to xxx kb.
- 理解int main(int argc,char **argv)中的参数的意义
- 进程等待示例(wait与waitpid调用)
- 源码阅读笔记 – 2 std::vector (2) 关于Allocator Aware Container特性
- HDU 1104 Remainder