收藏 分销(赏)

最小二乘支持向量机的自编代码和安装SVM工具箱方法.doc

上传人:pc****0 文档编号:7429415 上传时间:2025-01-04 格式:DOC 页数:4 大小:36.50KB 下载积分:10 金币
下载 相关 举报
最小二乘支持向量机的自编代码和安装SVM工具箱方法.doc_第1页
第1页 / 共4页
最小二乘支持向量机的自编代码和安装SVM工具箱方法.doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
最小二乘支持向量机的自编代码 clear all; clc; N=35; %样本个数 NN1=4; %预测样本数 %********************随机选择初始训练样本及确定预测样本******************************* x=[]; y=[]; index=randperm(N); %随机排序N个序列 index=sort(index); gama=23.411; %正则化参数 deita=0.0698; %核参数值 %thita=; %核参数值 %*********构造感知机核函数************************************* %for i=1:N % x1=x(:,index(i)); % for j=1:N % x2=x(:,index(j)); % K(i,j)=tanh(deita*(x1'*x2)+thita); % end %end %*********构造径向基核函数************************************** for i=1:N x1=x(:,index(i)); for j=1:N x2=x(:,index(j)); x12=x1-x2; K(i,j)=exp(-(x12'*x12)/2/(deita*deita)); end end %*********构造多项式核函数**************************************** %for i=1:N % x1=x(:,index(i)); % for j=1:N % x2=x(:,index(j)); % K(i,j)=(1+x1'*x2)^(deita); % end %end %*********构造核矩阵************************************ for i=1:N-NN1 for j=1:N-NN1 omeiga1(i,j)=K(i,j); end end omeiga2=omeiga1'; omeiga=omeiga2+(1/gama)*eye(N-NN1); A12=ones(1,N-NN1); A21=A12'; A=[0 A12;A21 omeiga]; %************************************** for i=1:N-NN1 B21(i,:)=y(index(i)); end B=[0;B21]; %********LS-SVM模型的解****************************** C=A\B; %****** b=C(1); %模型参数 for i=1:N-NN1 aipha(i)=C(i+1); %模型参数,行向量 end %******************************************* for i=1:N %预测模型 aifx(i)=b+(aipha)*K(1:N-NN1,i); end %******************************************* aifx index 从网上搜到,还没试,不知那个可以成功,先收藏下 方法一:   Matlab大部分函数都放在了toolbox这个文件夹下面。可以试着把需要的函数和工具箱放进去看看能不能用。象matlab升级以后功能会更强大,包含的工具箱也越多,所占用的硬盘空间也变得很大。建议你安装的时候选择自定义安装,只装自己需要的几个工具箱,看你需要是用在什么专业,它里面有很多比如财务工具箱,航空工具箱,生物技术工具箱对与我专业就没有用,就可以不安装。这样就省了空间了。        结一下matlab添加工具箱的方法:第一种:如果是安装光盘上的工具箱,重新执行安装程序,选中即可。如果是单独下载的工具箱,一般情况下仅需要把新的工具箱解压到某个目录,然后用pathtool添加工具箱的路径。在命令窗口中敲入pathtool,会出现一个setpath的窗口,点add folder或者add with subfolders按钮,选中你的工具箱。保存既可。任选工具箱中的一个命令,然后help一下看看是否好使。 举例:  我下载了支持向量基工具箱,解压后,里边有一个目录svm 我的matlab安装在D:\MATLAB6p5  将svm目录拷贝至D:\MATLAB6p5\toolbox  然后运行matlab,在命令窗口输入addpath D:\MATLAB6p5\toolbox\svm回车,来添加路径。  然后在svm目录下,任意找一个m文件,以svcinfo.m为例  在命令窗口中输入which svcinfo.m  如果显示出该文件路径,如 D:\MATLAB6p5\toolbox\svm\svcinfo.m  则安装成功 方法二: 在libsvm的网站上下载libsvm-mat-2.83-1.zip文件,解压后放在任意目录下(比如c:\libsvm-mat-2.83-1下)  打开matlab,切换到c:\libsvm-mat-2.83-1目录下,键入以下命令:  mex -setup Matlab会询问你是否需要locate installed compiler,选择y,然后根据需要选择一个编译器即可。确认时选择y即可。  然后键入  make 就会生成svmtrain.dll,svmpredict.dll和read_sparse.dll这三个文件(对于Matlab 7.1及以上版本,生成的对应文件为svmtrain.mexw32,svmpredict.mexw32和read_sparse.mexw32)  然后可以在matlab的菜单File->Set Path->Add Folder里,把c:\libsvm-mat-2.83-1目录添加进去,这样以后在任何目录下都可以调用libsvm的函数了。   为了检验libsvm和matlab之间的接口是否已经配置完成,可以在matlab下执行以下命令:  load heart_scale.mat  model = svmtrain(heart_scale_label, heart_scale_inst, '-c 1 -g 2'); 如果运行正常并生成了model这个结构体(其中保存了所有的支持向量及其系数),那么说明libsvm和matlab之间的接口已经完全配置成功。  附:SVM的历史 基于数据的机器学习是现代智能技术中的重要方面, 研究从观测数据(样本) 出发寻找规律, 利用这些规律对未来数据或无法观测的数据进行预测. 包括模式识别、神经网络等在内, 现有机器学习方法共同的重要理论基础之一是统计学.传统统计学研究的是样本数目趋于无穷大时的渐近理论, 现有学习方法也多是基于此假设. 但在实际问题中, 样本数往往是有限的, 因此一些理论上很优秀的学习方法实际中表现却可能不尽人意. 与传统统计学相比, 统计学习理论(Statistical Learning Theory 或SLT ) 是一种专门研究小样本情况下机器学习规律的理论. V. Vapnik等人从六、七十年代开始致力于此方面研究 , 到九十年代中期, 随着其理论的不断发展和成熟, 也由于神经网络等学习方法在理论上缺乏实质性进展, 统计学习理论开始受到越来越广泛的重视. 统计学习理论是建立在一套较坚实的理论基础之上的, 为解决有限样本学习问题提供了一个统一的框架. 它能将很多现有方法纳入其中, 有望帮助解决许多原来难以解决的问题(比如神经网络结构选择问题、局部极小点问题等) ; 同时, 在这一理论基础上发展了一种新的通用学习方法——支持向量机(Support Vector Machine 或SVM ) , 它已初步表现出很多优于已有方法的性能. 一些学者认为,SVM 正在成为继神经网络研究之后新的研究热点, 并将有力地推动机器学习理论和技术的发展。 我国早在八十年代末就有学者注意到支持向量机的基础成果,但之后较少研究,目前只有少部分学者认识到这个重要的研究方向.
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服