ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:1.66MB ,
资源ID:11941716      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11941716.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(支持向量机SVM支持向量机回归SVR原理简述及其MATLAB实例.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

支持向量机SVM支持向量机回归SVR原理简述及其MATLAB实例.docx

1、支持向量机SVM支持向量机回归SVR原理简述及其MATLAB实例支持向量机(SVM)、支持向量机回归(SVR):原理简述及其MATLAB实例支持向量机(SVM):原理及其MATLAB实例一、基础知识1、关于拉格朗日乘子法和KKT条件 1)关于拉格朗日乘子法首先来了解拉格朗日乘子法,为什么需要拉格朗日乘子法呢?记住,有需要拉格朗日乘子法的地方,必然是一个组合优化问题。那么带约束的优化问题很好说,就比如说下面这个:这是一个带等式约束的优化问题,有目标值,有约束条件。那么你可以想想,假设没有约束条件这个问题是怎么求解的呢?是不是直接 f 对各个 x 求导等于 0,解 x 就可以了,可以看到没有约束的

2、话,求导为0,那么各个x均为0吧,这样f=0了,最小。但是x都为0不满足约束条件呀,那么问题就来了。有了约束不能直接求导,那么如果把约束去掉不就可以了吗?怎么去掉呢?这才需要拉格朗日方法。既然是等式约束,那么我们把这个约束乘一个系数加到目标函数中去,这样就相当于既考虑了原目标函数,也考虑了约束条件。现在这个优化目标函数就没有约束条件了吧,既然如此,求法就简单了,分别对x求导等于0,如下:把它在带到约束条件中去,可以看到,2个变量两个等式,可以求解,最终可以得到,这样再带回去求x就可以了。那么一个带等式约束的优化问题就通过拉格朗日乘子法完美的解决了。更高一层的,带有不等式的约束问题怎么办?那么就

3、需要用更一般化的拉格朗日乘子法,即KKT条件,来解决这种问题了。2)关于KKT条件继续讨论关于带等式以及不等式的约束条件的凸函数优化。任何原始问题约束条件无非最多3种,等式约束,大于号约束,小于号约束,而这三种最终通过将约束方程化简化为两类:约束方程等于0和约束方程小于0。再举个简单的方程为例,假设原始约束条件为下列所示:那么把约束条件变个样子:现在将约束拿到目标函数中去就变成:那么KKT条件的定理是什么呢?就是如果一个优化问题在转变完后变成其中g是不等式约束,h是等式约束(像上面那个只有不等式约束,也可能有等式约束)。那么KKT条件就是函数的最优值,它必定满足下面条件:2、范数1)向量的范数

4、2)矩阵的范数3)L0、L1与L2范数、核范数二、SVM概述1、简介支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器,间隔最大使它有别于感知机;SVM还包括核技巧,这使它成为实质上的非线性分类器。SVM的的学习策略就是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。SVM的的学习算法就是求解凸二次规划的最优化算法。2、SVM算法原理1)线性支持向量机SVM学习的基本想法是求解能够正确划分训练数据集并且几何间隔最大的分离超平面。如下图所示,即为分离超平面,对于线性

5、可分的数据集来说,这样的超平面有无穷多个(即感知机),但是几何间隔最大的分离超平面却是唯一的。凸优化问题:简单的说,优化问题中,目标函数为凸函数,约束变量取值于一个凸集中的优化问题称为凸优化,综上讨论,线性支持向量机学习算法总结如下:传统的SVM做的事情其实就是找到一个超平面,实现二分类,一类+1,一类-1。如上所示。它的目的就是使得两类的间隔最大。黑色的块表示距离分割面最近的样本向量,称为支持向量。2)非线性支持向量机(1)简介如果我们在低维空间里找不到一个线性分类面把样本分开,SVM就为我们提供了一个思路:将数据从低维空间映射到高维空间后,就很可能使得这堆数据线性可分。比如说,我们要在猫科

6、动物这个特征很局限的“低维空间”里去分猫和老虎,是比较困难的,因为他们很多特征比较相近。但是,如果我们有了更多的参考依据,从生物界的视角,即一个“高维空间”再去区分猫和老虎,我们就有了更多的理由来做出科学的辨别。至于如何低维映射到高维,就是一门数学上的学问了。数据从输入到输出的过程其实和神经网络非常像:K就是核函数,做一个内积的运算。SVM中核函数保证了低维空间里的计算量,输出到高维空间里。K相当于隐含层的神经元。核函数的输出乘上权重,进入激活函数处。(2)原理二、SVR:SVM的改进、解决回归拟合问题为了利用SVM解决回归拟合方面的问题,Vapnik等人在SVM分 类的基础上引入了 不敏感损

7、失函数,从而得到了回归型支持向 量机(Support Vector Machine for Regression,SVR)。SVM应用于回归拟合分析时,其基本思想不再是寻找一个最优 分类面使得两类样本分开,而是寻找一个最优分类面使得所有 训练样本离该最优分类面的误差最小。三、多分类的SVM当我们要分多类,而不是简单的二分类(+1,-1)时,怎么破?解决思路:把多分类转化为二分类问题。具体来看有两个办法:1. one-against-all Classification of new instances for one-against-all case is done by a winner-t

8、akes-all strategy, in which the classifierwith the highest output function assigns the class.比如有一堆样本,打算分成10类。那么我们先取第1类训练标记为【1】。其他9类都是【-1】。这样经过一次SVM就可以得到第1类。然后我们对【-1】中的9类继续做上述操作,分出第2类。再以此类对,逐渐把第3、第4类分出来直至分完。2. one-against-one For the one-against-one approach, classification is done by a max-wins voti

9、ng strategy, in which every classifier assigns the instance to one of the two classes, then the vote for the assigned class is increased by one vote, and finally the class with most votes determines the instance classification.比如,一共有10种类别的一堆数据。那么我们就要训练C2,5=10(组合数)个SVM分类器。每个SVM分类器都可以区分出两种类别。我们把数据分别输入

10、到这10个SVM分类器中,根据结果进行投票,依据得票数最多来确定它的类别。四、QP(二次规划)求解五、SVM的MATLAB实现:Libsvm工具包安装教程1、Libsvm工具箱使用说明 0 - C-SVC 1 - nu-SVC 2 - one-class SVM 3 - epsilon-SVR 4 - nu-SVR-t 核函数类型:核函数设置类型(默认2) 0 - linear: u*v 线性 1 - polynomial: (gamma*u*v + coef0)degree 多项式 2 - radial basis function: exp(-gamma*|u-v|2) RBF 3 - s

11、igmoid: tanh(gamma*u*v + coef0) 4 - precomputed kernel (kernel values in training_instance_matrix)-d degree:核函数中的degree设置(针对多项式核函数)(默认3)-g r(gama):核函数中的gamma函数设置(针对多项式/rbf/sigmoid核函数)(默认1/ k)-r coef0:核函数中的coef0设置(针对多项式/sigmoid核函数)(默认0)-c cost:设置C-SVC,e -SVR和v-SVR的参数(损失函数)(默认1) 惩罚因子-n nu:设置v-SVC,一类SV

12、M和v- SVR的参数(默认0.5)-p p:设置e -SVR 中损失函数p的值(默认0.1)-m cachesize:设置cache内存大小,以MB为单位(默认40)-e eps:设置允许的终止判据(默认0.001)-h shrinking:是否使用启发式,0或1(默认1)-wi weight:设置第几类的参数C为weight*C(C-SVC中的C)(默认1)-v n: n-fold交互检验模式,n为fold的个数,必须大于等于2-s svm类型:SVM设置类型(默认0)其中-g选项中的k是指输入数据中的属性数。option -v 随机地将数据剖分为n部分并计算交互检验准确度和均方根误差。

13、以上这些参数设置可以按照SVM的类型和核函数所支持的参数进行任意组合,如果设置的参数在函数或SVM类型中没有也不会产生影响,程序不会接受该参数;如果应有的参数设置不正确,参数将采用默认值。svmpredict Predict data using support vector machine predict_label,accuracy = svmpredict(test_label,test_matrix,model);下面要用到的数据集在:链接: 密码:d0u72、重要函数:meshgrid 交叉验证用 Generate X and Y arrays for 3-D plots X,Y = meshgrid(x,y) svmtrain Train support vector machine classifier model = svmtrain(train_label,train_matrix,libsvm_options);Options:可用的选项即表示的涵义如下:3、示例链接: 提取码:9xxs

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1