基于数据压缩的支撑向量机建模方法

文档序号:9616302阅读:301来源:国知局
基于数据压缩的支撑向量机建模方法
【技术领域】
[0001]本发明属于数据挖掘和大数据分析技术领域,尤其是一种基于数据压缩的支撑向量机建模方法。
【背景技术】
[0002]随着计算机技术的飞速发展,特别是Internet技术的不断应用,人们利用网络信息技术产生和搜集数据的能力有了很大幅度的提高,数据呈现了飞快的增长趋势。如何从海量的数据中获取所需要的信息成为了一个迫切需要研究的问题。面对这样的挑战,数据挖掘(Data Mining)技术应运而生,使用数据挖掘技术能够从这些海量数据中获取隐含的有用信息。然而,由于数据的爆炸性增长,如何使用数据挖掘技术快速有效地从海量的数据中获取隐含有用的信息变得越来越重要。因此,数据挖掘技术成为大数据技术中核心技术之一Ο
[0003]在数据挖掘技术中,对分析对象进行类别划分,或对事态的发展进行准确预测,是最为典型的应用场景,对应的问题往往是分类问题或预测问题。而在分类和预测技术中,目前应用效果最为显著的当属支撑向量机(Support Vector Machine,SVM,又称“支持向量机”)技术。支撑向量机技术与神经网络、贝叶斯等方法采用经验风险最小化(均方误差最小化)不同的是,它是一种基于结构风险最小化原则的分类及回归挖掘方法。其基本思想是:为了解决分类问题,它试图寻找一个分类超平面,并把找分类超平面的问题转化成一个凸二次规划问题;为了解决非线性可分问题,它引入非线性核函数的理念,将低维空间的非线性可分问题转化成一个高维空间的线性可分问题,简化求解的难度;为了避免异常数据的干扰,它引入结构风险最小化的理念,寻找分类边界上的样本点(支撑向量),仅用支撑向量来构建模型。所有这些构建思想决定了支撑向量机即便利用较少的数据样本,也可以得到别的方法更好的预测模型,并且模型具有更好的泛化推广能力。
[0004]由于支撑向量机是借助二次规划来求解支持向量,而求解二次规划问题将涉及到Μ阶矩阵的计算(其中Μ为样本的个数),计算复杂度是样本数ο (M~2)的。因此,当学习样本(数据记录数)达到百万级的海量数据时,该矩阵的存储和计算将耗费比其他同类方法大得多的机器内存和运算时间,因此,限制了支撑向量机在大数据分析场景的应用。

【发明内容】

[0005]本发明的目的在于克服现有技术的不足,提供一种设计合理、能够提高海量数据性能的基于数据压缩的支撑向量机建模方法。
[0006]本发明解决现有的技术问题是采取以下技术方案实现的:
[0007]—种基于数据压缩的支撑向量机建模方法,包括以下步骤:
[0008]步骤1、采用等距抽样方法对建模数据进行抽样;
[0009]步骤2、对建模数据进行压缩:根据抽样后的数据,采用聚类思想建立聚类特征树,将所有的样本划分成一系列不相似的样本群体,从每个样本群体中挑选一个或有限个样本代表这个样本群体,从而实现数据的压缩;
[0010]步骤3、从聚类特征树提取建模数据:对聚类特征树的叶子节点下的每一簇数据,计算其边界,取最有可能成为支撑向量的边界点作为支撑向量机的建模数据;
[0011]步骤4、建立支撑向量机模型:根据建模数据利用支撑向量机方法,建立支撑向量机模型。
[0012]而且,所述步骤4后还包括模型测试步骤:利用全部建模数据集,对支撑向量机模型进行测试,如果支撑向量机模型准确率大于阈值,则得到最优模型,建模终止;否则转步骤1继续建模,直到支撑向量机模型准确率满足阈值要求,或者已用全部数据建模。
[0013]而且,所述步骤2的具体处理步骤为:
[0014](1)遍历每一条数据,依次插入到聚类特征树中;
[0015](2)从聚类特征树根节点开始遍历;
[0016](3)如果当前节点是叶子节点,转至步骤(4),否则转至步骤(7);
[0017](4)找到当前节点中与该条数据最近的孩子节点,计算将该条数据与此孩子节点的数据合并后的簇直径;如果簇直径小于阈值,则转至步骤(5),否则转至步骤(6);
[0018](5)将该条数据与最近的孩子节点进行合并;
[0019](6)该条数据作为当前节点的一个新的孩子节点,如果当前节点的孩子节点数超过一定阈值,则将当前节点拆分为两个节点,选择距离最远的两个孩子节点作为初始节点,将其它孩子根据距离远近分到合适的节点进行合并;
[0020](7)找到当前节点中与该条数据最近的孩子节点,将此孩子节点作为新的当前节点,转至步骤(3)。
[0021]而且,所述步骤1中,当数据集的数据量达到百万级以上时,采用抽取万分之一样本进行抽样。
[0022]本发明的优点和积极效果是:
[0023]1、本发明采用预抽样策略、数据压缩技术、增量抽样策略等,在尽量不降低算法准确率的情况下,大幅降低支撑向量机建模样本数,从而大幅提高支撑向量机建模速度,降低内存消耗,从而使得支撑向量机技术能够在大数据分析场景中应用,弥补大数据分析中神经网络、贝叶斯等方法预测准确率较低的缺陷。
[0024]2、本发明采用预抽样策略,对于百万级建模数据量进行多层次抽样,减少数据量,首先基于抽样的数据,进行压缩后建立模型,通过模型测试得到模型准确率,当准确率不满足要求时进一步增加抽样数据,进行建模,从而不断改进模型。
[0025]3、本发明采用聚类思想对抽样后的数据再进行压缩,得到聚类特征树,根据支撑向量机的方法思想,每簇数据最外层的节点,最有可能成为支撑向量,故可以对每簇数据,计算其边界,取边界数据作为支撑向量机的建模数据,使数据压缩过程尽量不丢失潜在的支撑向量,从而大大缩小数据量,同时,利用聚类分群特征树的边界点作为支撑向量机的建模数据。
[0026]4、本发明充分发挥支撑向量机模型稳健、预测准确率高的优势,从数据压缩、参数自动调优、层次抽样等方面改进了传统支撑向量机方法,显著提升了支撑向量机方法应用于海量数据的性能,即在不降低分类精度的前提下大幅减少内存使用和运算时间,大大提升了支撑向量机方法的数据处理量,使得支撑向量机技术可以应用在大数据分析场景中,从而实现海量数据的高准确率建模。
【附图说明】
[0027]图1为本发明的整体处理流程图;
[0028]图2为本发明中数据压缩环节的数据处理流程图;
[0029]图3为SVM优化前后的内存消耗对比图;
[0030]图4为SVM优化前后的运算时间对比图。
【具体实施方式】
[0031]以下结合附图对本发明实施例做进一步详述:
[0032]—种基于数据压缩的支撑向量机建模方法,首先基于聚类的思想,将数据存储于聚类特征树中,即将数据划分为一系列不相似的样本群体,每个样本群体中只挑选一个或有限个样本代表这个群体,从而实现数据的压缩;然后基于压缩的数据建立支撑向量机模型,实现在不降低模型准确率的情况下,尽量缩短建模时间,降低内存消耗,从而提升支撑向量机的数据处理量。
[0033]如图1所示,基于数据压缩的支撑向量机的建模方法包括步骤如下:
[0034]步骤1、采用等距抽样方法对建模数据进行抽样。当数据集的数据量达到百万级以上时,先对其进行初步抽样。
[0035]在本实施例中,抽取时尽量不采用随机抽样策略,可以考虑每隔K条数据,抽样一条数据(l/Κ为抽样比例,具体的抽取比例依据原始建模数据量而定),也就是说采用系统抽样,又称为等距抽样。抽取时,先从数据中抽取第1个样本,然后间隔1万个样本,抽取第二个样本,以此类推,依次用相等的间距抽取样本。由此,样本抽取得到万分之一样本,实现初步的数据缩减,从而以较少的数据得到符合精度要求的模型。
[0036]步骤2、对建模数据进行压缩。由于支撑向量机方法的核心是找到分类边界和回归线附近的支撑向量(样本点),然后对相关样本进行加权构造分类边界和回归线,但是,当样本量非常巨大时,找
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1