`
wangyang_09
  • 浏览: 96367 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

支持向量机(SVM)、支持向量回归(SVR)【转】

阅读更多
   人类通过学习,从已知的事实中分析、总结出规律,并且根据规律对未来的现象或无法观测的现象做出正确的预测和判断,即获得认知的推广能力。在对智能机器的研究当中,人们也希望能够利用机器(计算机)来模拟人的良好学习能力,这就是机器学习问题。基于数据的机器学习是现代智能技术中的重要方面,机器学习的目的是通过对已知数据的学习,找到数据内在的相互依赖关系,从而获得对未知数据的预测和判断能力,在过去的十几年里,人工神经网络以其强大的并行处理机制、任意函数的逼近能力,学习能力以及自组织和自适应能力等在模式识别、预测和决策等领域得到了广泛的应用。但是神经网络受到网络结构复杂性和样本复杂性的影响较大,容易出现“过学习”或低泛化能力。特别是神经网络学习算法缺乏定量的分析与完备的理论基础支持,没有在本质上推进学习过程本质的认识。
现有机器学习方法共同的重要理论基础之一是统计学。传统统计学研究的是样本数目趋于无穷大时的渐近理论,现有学习方法也多是基于此假设。但在实际问题中,样本数往往是有限的,因此一些理论上很优秀的学习方法实际中表现却可能不尽人意。
    与传统统计学相比, 统计学习理论(Statistical Learning Theory 或SLT ) 是一种专门研究小样本情况下机器学习规律的理论Vladimir N. Vapnik等人从六、七十年代开始致力于此方面研究,到九十年代中期,随着其理论的不断发展和成熟[17],也由于神经网络等学习方法在理论上缺乏实质性进展, 统计学习理论开始受到越来越广泛的重视。
    统计学习理论是建立在一套较坚实的理论基础之上的,为解决有限样本学习问题提供了一个统一的框架。它能将很多现有方法纳入其中,有望帮助解决许多原来难以解决的问题(比如神经网络结构选择问题、局部极小点问题)等;同时, 在这一理论基础上发展了一种新的通用学习方法—支持向量机(Support Vector Machine或SVM ),它已初步表现出很多优于已有方法的性能。一些学者认为,SVM 正在成为继神经网络研究之后新的研究热点,并将有力地推动机器学习理论和技术的发展。
    支持向量机(SVM)是一种比较好的实现了结构风险最小化思想的方法。它的机器学习策略是结构风险最小化原则为了最小化期望风险,应同时最小化经验风险和置信范围)
支持向量机方法的基本思想:
(1)它是专门针对有限样本情况的学习机器,实现的是结构风险最小化:在对给定的数据逼近的精度与逼近函数的复杂性之间寻求折衷,以期获得最好的推广能力;
(2)它最终解决的是一个凸二次规划问题,从理论上说,得到的将是全局最优解,解决了在神经网络方法中无法避免的局部极值问题;
(3)它将实际问题通过非线性变换转换到高维的特征空间,在高维空间中构造线性决策函数来实现原空间中的非线性决策函数,巧妙地解决了维数问题,并保证了有较好的推广能力,而且算法复杂度与样本维数无关。
   目前,SVM算法在模式识别、回归估计、概率密度函数估计等方面都有应用,且算法在效率与精度上已经超过传统的学习算法或与之不相上下。
   对于经验风险R,可以采用不同的损失函数来描述,如e不敏感函数、Quadratic函数、Huber函数、Laplace函数等。
   核函数一般有多项式核、高斯径向基核、指数径向基核、多隐层感知核、傅立叶级数核、样条核、B样条核等,虽然一些实验表明在分类中不同的核函数能够产生几乎同样的结果,但在回归中,不同的核函数往往对拟合结果有较大的影响。
   支持向量回归算法主要是通过升维后,在高维空间中构造线性决策函数来实现线性回归,用e不敏感函数时,其基础主要是e不敏感函数和核函数算法。若将拟合的数学模型表达多维空间的某一曲线,则根据e不敏感函数所得的结果,就是包括该曲线和训练点的“e管道”。在所有样本点中,只有分布在“管壁”上的那一部分样本点决定管道的位置。这一部分训练样本称为“支持向量”。为适应训练样本集的非线性,传统的拟合方法通常是在线性方程后面加高阶项。此法诚然有效,但由此增加的可调参数未免增加了过拟合的风险。支持向量回归算法采用核函数解决这一矛盾。用核函数代替线性方程中的线性项可以使原来的线性算法“非线性化”,即能做非线性回归。与此同时,引进核函数达到了“升维”的目的,而增加的可调参数是过拟合依然能控制。
给几个有用的链接:
http://www.support-vector.net/index.html
http://www.support-vector.net/software.html
http://www.csie.ntu.edu.tw/~cjlin/libsvm/
http://www.isis.ecs.soton.ac.uk/isystems/kernel/
http://www.ecs.soton.ac.uk/~srg/publications/pdf/SVM.pdf
http://www.kernel-machines.org/
比较好的书:1. Vapnik. Statistical Learning Theory. Springer, N.Y., 1998.
2. Vapnik. The Nature of Statistical Learning Theory. Springer, N.Y., 1995.
3. Steve R. Gunn. Support Vector Machines for Classification and Regression. University of Southampton, 1997.4. 吾今培,孙德山. 现代数据分析. 北京:机械工业出版社,2006.

分享到:
评论

相关推荐

    支持向量机SVM和支持向量回归SVR算法合集(亲测可用)

    (3) Main_SVM_One_Class.m --- One-Class支持向量机 (4) Main_SVR_Epsilon.m --- Epsilon_SVR回归算法 (5) Main_SVR_Nu.m --- Nu_SVR回归算法 另附: (1) 目录下以Main_开头的文件即是主程序文件,直接按快捷键F5运行...

    粒子群算法+优化支持向量机SVM+回归预测SVR+matlab源代码

    粒子群算法+优化支持向量机SVM+回归预测SVR+matlab源代码

    基于python的粒子群算法PSO优化支持向量机SVM设计与实现

    在机器学习领域,支持向量机(Support Vector Machines, SVM)是一种广泛应用的监督学习模型,尤其在分类和回归任务上表现出色。SVM通过构造一个最大边距超平面来分割数据,以达到最佳的泛化能力。然而,在解决高维...

    一维支持向量机SVM代码,包括支持向量机分类和支持向量机回归SVC&SVR;.zip

    一维支持向量机(SVM)是一种在机器学习领域广泛应用的算法,它主要用于分类和回归任务。SVM的核心思想是找到一个超平面,使得不同类别的数据点被最大距离地分开。在这个过程中,支持向量是离这个超平面最近的数据点...

    【机器学习】SVR支持向量机回归原理解析.pdf

    根据支持向量机二分类博客所述,数据集合归一化后,某个元素到回归平面的距离为 。另外,由于数据不可能都在回归平面上,距离之和还是挺大,因此所有数据到回归平面的距离可以给定一个容忍值ε防止过拟合。该参数是...

    MATLAB实现SVM支持向量机多输入回归预测(完整源码和数据)

    MATLAB实现SVM支持向量机多输入回归预测(完整源码和数据) 数据为多输入回归数据,输入7个特征,输出1个变量,程序乱码是由于版本不一致导致,可以用记事本打开复制到你的文件。 运行环境MATLAB2018b及以上。

    python利用支持向量机SVM进行时间序列预测(数据+源码)

    支持向量机(Support Vector Machine,简称SVM)是一种强大的监督学习模型,广泛应用于分类和回归任务,包括时间序列预测。在本主题中,我们将深入探讨如何使用Python和SVM来预测时间序列数据,同时结合提供的`demo....

    回归支持向量机的PYTHON代码,支持向量机svm

    基于python编程,用回归支持向量机SVR,支持向量机svm,代码完整,包含数据,有注释,方便扩展应用 1,如有疑问,不会运行,可以私信, 2,需要创新,或者修改可以扫描二维码联系博主, 3,本科及本科以上可以下载应用...

    svm 支持向量机 回归 预测.rar

    支持向量机(Support Vector Machine,简称SVM)是一种强大的监督学习模型,广泛应用于分类和回归任务。在机器学习领域,SVM以其优秀的泛化能力和处理小样本数据的能力而受到青睐。本文将深入探讨SVM的基本原理、...

    支持向量机SVM

    它支持C/SVM和ε-SVR(支持向量回归),并兼容多种编程语言接口,如Python、Java、C++等,使得开发者能够方便地将SVM集成到自己的项目中。 总结来说,支持向量机SVM是一种强大的机器学习算法,它的最大间隔原则、核...

    支持向量回归,支持向量机SVM.rar

    在"支持向量回归,支持向量机SVM.rar"这个压缩包中,可能包含有关SVR的详细教程、代码示例、数据集或者相关软件工具。通过解压并研究这些文件,你可以深入理解和实践SVM回归技术,掌握如何在实际问题中应用和支持...

    支持向量机svm预测

    本案例聚焦于利用SVM进行回归预测,即支持向量回归(Support Vector Regression,SVR)。在进行实际预测之前,需要确保已经安装了相应的SVM工具箱。 #### SVM基础知识 1. **基本原理**:SVM是一种监督学习方法,其...

    粒子群优化算法AOA优化支持向量机SVM(可用于回归预测)MATLAB代码

    支持向量机是一种监督学习模型,最初主要用于分类任务,但后来发展出了支持向量回归(Support Vector Regression, SVR)用于连续变量的预测。SVM通过构建最大边距超平面将数据分为两类,而SVR则是找到一个能够最小化...

    SVM案例练习_SVM_支持向量机

    支持向量机(Support Vector Machine,简称SVM)是一种强大的监督学习模型,广泛应用于分类和回归任务。SVM的核心思想是找到一个最优超平面,该超平面能够将不同类别的数据点最大程度地分开。在二维空间中,这个超...

    支持向量机进行预测(SVM)Matlab版

    支持向量机(Support Vector Machine,SVM)是一种强大的监督学习模型,广泛应用于分类和回归问题。在机器学习领域,SVM以其高效性和泛化能力而受到青睐。本教程将介绍如何在Matlab环境中利用SVM进行预测,并通过...

    遗传算法GA优化支持向量机回归算法SVR,python写,自带数据集

    在本项目中,遗传算法被应用于优化支持向量机(Support Vector Machine, SVM)的参数,以提升其在回归任务中的性能。SVM是一种广泛应用的监督学习模型,它能处理分类和回归问题,尤其在小样本和高维空间中表现出色。...

    基于支持向量机SVM二分类的课程实验,基于支持向量SVM的二分类课程设计

    支持向量机(Support Vector Machines, SVM)是一种强大的机器学习技术,广泛应用于分类和回归任务中。对于二分类问题,SVM通过构建一个决策边界来区分两个类别,这个决策边界被设计成最大化两个类别之间的间隔,从而...

    Matlab实现GWO-SVM灰狼算法优化支持向量机的多输入单输出回归预测(完整源码和数据)

    Matlab实现GWO-SVM灰狼算法优化支持向量机的多输入单输出回归预测(完整源码和数据) Matlab实现GWO-SVM灰狼算法优化支持向量机的多输入单输出回归预测(完整源码和数据) 1.输入多个特征,输出单个变量,多输入单输出...

Global site tag (gtag.js) - Google Analytics