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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

整理支持向量机原理及matlab实现.docx

1、整理支持向量机原理及matlab实现支持向量机原理及matlab实现 编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(支持向量机原理及matlab实现)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为支持向量机原理及matlab实现的全部内容。1. IntroductionAbaloneAge。data数据有4177个样本,

2、7个特征,其中rings作为预测标签,也就是年龄。对样本的一些统计数据如下表所示。NameData TypeMeas。DescriptionLengthcontinuousmmLongest shell measurementDiametercontinuousmmperpendicular to lengthHeightcontinuousmmwith meat in shellWhole weightcontinuousgramswhole abaloneShucked weightcontinuousgramsweight of meatViscera weightcontinuousg

3、ramsgut weight (after bleeding)Shell weightcontinuousgramsafter being driedRingsintegerStatistics for numeric domains:LengthDiamHeightWholeShuckeVisceraShellRingsMin0。0750.0550.0000。0020.0010.0010。0021Max0。8150.6501.1302.8261.4880.7601。00529Mean0。5240.4080.1400.8290.3590。1810。2399.934SD0.1200.0990。0

4、420.4900。2220。1100.1393.224Correl0.5570。5750。5570。5400.4210。5040.6281.02. Algorithm Description考虑到数据的可分性,对年龄的预测是一个回归问题,所以采用支持向量机对数据进行回归分析。一、支持向量机的基本原理支持向量机(SVM)是Corinna和Vapnik于二十世纪末首先提出的。支持向量机方法VapnikChervonenkis理论与构造风险最小理论为根底,使离超立体最接近的元素到超平面的间隔最大。通常超平面不止一个,也就是说支持向量机的目标就是最大化超平面之间的间隔,也就是建立最好的分类超平面,从而

5、来提高学习分类机器的的泛化处理能力。该方法在解决高维小样本数据、数据的非线性以及解的局部极小点等多个问题中均展示出了很多独有的优点,并进而将其推行使用到了其余相联系的机器学习问题中。支持向量机方法早已被广泛的应用到了肿瘤数据分类等领域的问题研究中。支持向量机的具体求解过程如下:(1) 设已知样本训练集:其中,为特征向量。(2) 选择适当核函数以及参数,解决优化问题:得最优解:。(3) 选取的正分量,计算样本分类阈值:。(4) 构造最优判别函数:。支持向量机内积核核函数K的主要种类有: 线性内核函数 多项式核函数 高斯径向基核函数 (RBF) 双曲正切核函数 (Sigmoid核函数) 一般地,用

6、SVM做分类预测时必须调整相关参数(特别是惩罚参数和核函数参数),这样才可以获得比较满意的预测分类精度,采用Cross Validation的思想可以获取最优的参数,并且有效防止过学习和欠学习状态的产生,从而能够对于测试集合的预测得到较佳的精度。根据输入数据的线性可分性(线性可分或近似线性可分和线性不可分),可以将支持向量机分为两大类:非线性支持向量机、线性支持向量机.(1)线性支持向量机若要介绍线性支持向量机,首先需要介绍下一个定义:线性分类器。A、B是两个不同的类别,需要在其中间加一个分类函数,这样就能够将A、B样本区分开,那么则说这个数据集是线性可分,其所对应的分类器便是线性分类器。对于

7、二维空间,显然,分类函数可以看成是一条直线。同理,三维空间里分类函数就是一个平面,忽略空间的维数,分类函数就可以统称为超平面.(2)非线性支持向量机从前一小节可以看出来,线性支持向量机是二类分类器。但是,在现实环境和问题中,往往要解决多类别的分类的问题。那么,怎么从二类分类器扩充到多类别分类器呢?就是一个值得思考探寻的方向。从二类分类器获取多类分类器的方法有很多,但在实际应用中,采用的较多的措施是通过寻找一个合适的非线性转换函数,进而能够使数据从原始的特征空间中映射到新的特征空间中,使得数据在新的特征空间中是线性可分的。但是,寻找这样的非线性转换函数很难,并且即使能找到,要实现这种非线性的转换

8、也很麻烦.因此,引入了核函数,它使得甚至可以不必知道变换函数,只要一种核函数满足Mereer定理,它就对应某一变换空间中的内积,然而内积的计算却容易的多。常用的核函数主要分为四类:核函数、核函数、核函数和核函数,不同的核函数对应不同的非线性变换函数,最后会形成不同的算法。这就使得相应的优化问题变成了凸二次规划问题,不会出现传统神经网络陷入局部极值的问题,这是SVM自提出后得到快速发展的重要原因之一。SVM的优势:(1)处理解决了样本数据较少的机器学习问题;(2)提高了学习机的泛化性能;(3) 少数支持向量决定了最后的决策函数,因此,某种程度上对高维问题有很好的辅助解决作用,提高了方法的鲁棒性;

9、(4)完善改进了对于非线性数据分类研究的问题;(5)规避了神经网络在结构抉择问题和局部极小值问题.SVM的劣势:(1)缺乏对数据缺失的判断能力;(2)解决非线性数据还没有完善的方案和措施,只能靠慎重的选择核函数来解决。另一方面,所有传统分类方法中,SVM的分类性能是最好的,所以在本文的对比实验中,从传统分类方法中选择了具有代表性的SVM分类器来进行对比实验。二、SVM回归的实验步骤导入数据,记作X,分别将数据的特征和标签赋值给矩阵matrix和rings,如图所示。利用随机数,随机选择70的样本作为训练集,余下的30的样本作为测试集,评价模型的好坏应该从训练集和测试集两个方面考虑,使用matl

10、ab自带fitrsvm程序,对样本归一化后,训练集进行训练,得到模型Mdl。利用训练得到的模型,分别对训练集和测试集进行预测,并计算其与真实值之间的差距,评价指标选择的是均方根误差和平均绝对误差。其中result_1记录了训练集真实和预测值,result_2记录了测试集真实和预测值,abe1、mse1分别表示训练集平均绝对误差和均方根误差。可视化测试集预测与真实年龄的差距。3。 Conclution支持向量机是一种基于统计学习理论的模式识别方法。在模式识别等领域获得了广泛的应用。少数支持向量决定了最后的决策函数,因此,某种程度上对高维问题有很好的辅助解决作用,提高了方法的鲁棒性.随机选择70%

11、的样本作为训练集,30的样本作为测试集,平均绝对误差和均方根误差作为模型的评价指标,训练集预测结果与原始数据标签的的平均绝对误差(abe)为1。5723,均方根误差(mse)为2.2745,测试集平均绝对误差(abe)1。5671,均方根误差(mse)为2。3279,说明支持向量机对数据年龄的预测具有较好的结果。AppendixCode:% 清空环境变量clearclc% 导入数据X=load(AbaloneAge。txt);matrix=X(:,1:6);rings=X(:,end);% 1. 随机产生训练集和测试集n = randperm(size(matrix,1);% 2. 训练集70

12、%的样本n1=floor(size(X,1)*0。7);p_train = matrix(n(1:n1),:);t_train = rings(n(1:n1),:);% 3。 测试集30%的个样本p_test = matrix(n(n1+1:end),:);t_test = rings(n(n1+1:end),:);% 数据归一化% 1. 训练集pn_train,inputps = mapminmax(p_train);pn_train = pn_train;pn_test = mapminmax(apply,p_test,inputps);pn_test = pn_test;% 2. 测试集

13、tn_train,outputps = mapminmax(t_train);tn_train = tn_train;tn_test = mapminmax(apply,t_test,outputps);tn_test = tn_test;Mdl = fitrsvm(pn_train,tn_train);% yfit = predict(Mdl,pn_test);% SVM仿真预测Predict_1 = predict(Mdl,pn_train);Predict_2 = predict(Mdl,pn_test);% 1。 反归一化predict_1 = mapminmax(reverse,Pr

14、edict_1,outputps);predict_2 = mapminmax(reverse,Predict_2,outputps);% 2. 结果对比result_1 = t_train predict_1;result_2 = t_test predict_2;re1= result_1(:,1)result_1(:,2);abe1 = sum(abs(re1)/size(p_train,1)mse1 = sqrt(sum(re1。2)/size(p_train,1)re2= result_2(:,1)result_2(:,2);abe2 = sum(abs(re2))/size(p_test,1)mse2 = sqrt(sum(re2.2)/size(p_test,1))figure(1)plot(1:length(t_test),t_test,r,1:length(t_test),predict_2,b:o)grid onlegend(真实值,预测值)xlabel(样本编号)ylabel(age)

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

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