您的位置:首页 > 其它

(转)支持向量机&数据挖掘

2010-11-23 21:26 169 查看
一、分类挖掘
数据挖掘是机器学习、数据库和统计学三者相结合的产物。数据挖掘首先要确定挖掘的任务或目的,确定了挖掘任务后,就要决定使用什么样的挖掘算法,选择了算法后就可以实施数据挖掘操作,获取有用的模式。
分类作为数据挖掘中一项非常重要的任务,目前在商业上应用最多(比如分析型CRM里面的客户分类模型,客户流失模型,客户盈利等等,其本质属于分类问题)。分类的目的是学会一个分类函数或分类模型(也常常称作分类器),该模型能把数据库中的数据项映射到给定类别中的某一个,从而可以用于预测。目前,分类方法的研究成果较多,判别方法的好坏可以从三个方面进行:
1)预测准确度(对非样本数据的判别准确度);
2)计算复杂度(方法实现时对时间和空间的复杂度);
3) 模式的简洁度(在同样效果情况下,希望决策树小或规则少)。
近年来,对数据挖掘中分类算法的研究是该领域中一个热点,对不同分类方法都有许多对比研究成果。没有一个分类方法在对所有数据集上进行分类学习均是最优的。目前在数据挖掘软件中运用的最早也是最多的分类算法是神经网络,它具有对非线性数据快速建模的能力,通过对训练集的反复学习来调节自身的网络结构和连接权值,并对未知的数据进行分类和预测。但是由于神经网络是基于经验最小化原理,它有如下几个固有的缺陷:
1)结构复杂(神经元的结构,还有输入层,隐含层,输出层组合起来的复杂结构);
2)容易陷入局部极小;
3) 容易出现过学习问题,也就是训练出来的模型推广能力不强。
为了克服传统神经网络的以上缺点,Vapnik提出了一种新的基于统计学习理论的机器学习算法―支持向量机,正式奠定了SVM的理论基础,由于SVM扎实的理论基础,其目前已经成为继神经网络之后的的机器学习领域研究热点之一。

二、支持向量机概述
支持向量机(SVM)实现是通过某种事先选择的非线性映射(核函数)将输入向量映射到一个高维特征空间,在这个空间中构造最优分类超平面。我们使用SVM进行数据集分类工作的过程首先是通过预先选定的一些非线性映射将输入空间映射到高维特征空间
使得在高维属性空间中有可能对训练数据实现超平面的分割,避免了在原输入空间中进行非线性曲面分割计算。SVM数据集形成的分类函数具有这样的性质:它是一组以支持向量为参数的非线性函数的线性组合,因此分类函数的表达式仅和支持向量的数量有关,而独立于空间的维度。在处理高维输入空间的分类时,这种方法尤其有效。
概括来讲,SVM有如下主要几个特点:
(1)非线性映射是SVM方法的理论基础,SVM利用内积核函数代替向高维空间的非线性映射;
(2)对特征空间划分的最优超平面是SVM的目标,最大化分类边际的思想是SVM方法的核心;
(3)支持向量是SVM的训练结果,在SVM分类决策中起决定作用的是支持向量。
(4)SVM 是一种有坚实理论基础的新颖的小样本学习方法。它基本上不涉及概率测度及大数定律等,因此不同于现有的统计方法。从本质上看,它避开了从归纳到演绎的传统过程,实现了高效的从训练样本到预报样本的“转导推理”,大大简化了通常的分类和回归等问题。
(5)SVM 的最终决策函数只由少数的支持向量所确定,计算的复杂性取决于支持向量的数目,而不是样本空间的维数,这在某种意义上避免了“维数灾难”。
(6)少数支持向量决定了最终结果,这不但可以帮助我们抓住关键样本、“剔除”大量冗余样本,而且注定了该方法不但算法简单,而且具有较好的“鲁棒”性。这种“鲁棒”性主要体现在:
①增、删非支持向量样本对模型没有影响;
②支持向量样本集具有一定的鲁棒性;
③有些成功的应用中,SVM 方法对核的选取不敏感

三、支持向量机应用于分类挖掘
鉴于支持向量机扎实的理论基础,并且和传统的学习算法想比较(比如人工神经网络),SVM通过提高数据的维度把非线性分类问题转换成线性分类问题,较好解决了传统算法中训练集误差最小而测试集误差仍较大的问题,算法的效率和精度都比较高。所以近年来该方法成为构造数据挖掘分类器的一项新型技术,在分类和回归模型中得到了很好的应用。但由于支持向量机出现的时间在90年代中期,人们对支持向量机的应用主要集中在模式识别方面,对于将支持向量机应用于数据挖掘的研究刚处于起步阶段。
目前,用SVM构造数据挖掘中的分类器来处理海量数据主要面临以下两个困难:
(1) SVM算法对大规模训练样本难以实施
由于SVM是借助二次规划来求解支持向量,而求解二次规划将涉及m阶矩阵的计算(m为样本的个数),当m数目很大时该矩阵的存储和计算将耗费大量的机器内存和运算时间。针对以上问题的主要改进有有J.Platt的SMO算法、T.Joachims的SVM、C.J.C.Burges等的PCGC、张学工的CSVM以及O.L.Mangasarian等的SOR算法
(2) 用SVM解决多分类问题存在困难
经典的支持向量机算法只给出了二类分类的算法,而在数据挖掘的实际应用中,一般要解决多类的分类问题。可以通过多个二类支持向量机的组合来解决。主要有一对多组合模式、一对一组合模式和SVM决策树;再就是通过构造多个分类器的组合来解决。主要原理是克服SVM固有的缺点,结合其他算法的优势,解决多类问题的分类精度。如:与粗集理论结合,形成一种优势互补的多类问题的组合分类器。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: