资源描述:
《支持向量机matlab实例及理论》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、1.支持向量机通俗导论理解SVM的三层境界2.前言3.第一层了解SVM1.什么是支持向量机SVM2.线性分类1.分类标准2.或-1分类标准的起源logistic回归3.形式化标示3.线性分类的一个例子4.函数间隔Functionalmargin与几何间隔Geometricalmargin5.函数间隔Functionalmargin6.点到超平面的距离定义几何间隔Geometricalmargin7.最大间隔分类器MaximumMarginClassifier的定义8.到底什么是SupportVector4.第二层深入SVM1.从线性可分到
2、线性不可分1.从原始问题到对偶问题的求解2.序列最小最优化SMO算法3.线性不可分的情况2.核函数Kernel1.特征空间的隐式映射核函数2.核函数如何处理非线性数据3.几个核函数4.核函数的本质3.使用松弛变量处理outliers方法5.第三层证明SVM1.线性学习器1.感知机算法2.非线性学习器1.Mercer定理3.损失函数4.最小二乘法1.什么是最小二乘法2.最小二乘法的解法5.SMO算法1.SMO算法的解法2.SMO算法的步骤3.SMO算法的实现6.SVM的应用1.文本分类7.读者评论8.参考文献及推荐阅读9.后记支持向量机ma
3、tlab分类实例及理论线性支持向量机可对线性可分的样本群进行分类,此时不需要借助于核函数就可较为理想地解决问题。非线性支持向量机将低维的非线性分类问题转化为高维的线性分类问题,然后采用线性支持向量机的求解方法求解。此时需要借助于核函数,避免线性分类问题转化为非线性分类问题时出现的维数爆炸难题,从而避免由于维数太多而无法进行求解。第O层:Matlab的SVM函数求解分类问题实例0.1Linearclassification%TwoDimensionLinear-SVMProblem,TwoClassandSeparableSituation
4、%MethodfromChristopherJ.C.Burges:%"ATutorialonSupportVectorMachinesforPatternRecognition",page9%Optimizing
5、
6、W
7、
8、directly:%Objective:min"f(A)=
9、
10、W
11、
12、",p8/line26%Subjectto:yi*(xi*W+b)-1>=0,function(12);clearall;closeallclc;sp=[3,7;6,6;4,6;5,6.5]%positivesamplepointsnsp=size(sp
13、);sn=[1,2;3,5;7,3;3,4;6,2.7]%negativesamplepointsnsn=size(sn)sd=[sp;sn]lsd=[truetruetruetruefalsefalsefalsefalsefalse]Y=nominal(lsd)figure(1);subplot(1,2,1)plot(sp(1:nsp,1),sp(1:nsp,2),'m+');holdonplot(sn(1:nsn,1),sn(1:nsn,2),'c*');subplot(1,2,2)svmStruct=svmtrain(sd,Y,'s
14、howplot',true);0.2NonLinearclassificationclearall;closeallclc;sp=[3,7;6,6;4,6;5,6.5]%positivesamplepointsnsp=size(sp);sn=[1,2;3,5;7,3;3,4;6,2.7;4,3;2,7]%negativesamplepointsnsn=size(sn)sd=[sp;sn]lsd=[truetruetruetruefalsefalsefalsefalsefalsefalsefalse]Y=nominal(lsd)figure
15、(1);subplot(1,2,1)plot(sp(1:nsp,1),sp(1:nsp,2),'m+');holdonplot(sn(1:nsn,1),sn(1:nsn,2),'c*');subplot(1,2,2)%svmStruct=svmtrain(sd,Y,'Kernel_Function','linear','showplot',true);svmStruct=svmtrain(sd,Y,'Kernel_Function','quadratic','showplot',true);%usethetrainedsvm(svmStr
16、uct)toclassifythedataRD=svmclassify(svmStruct,sd,'showplot',true)%RDistheclassificationresultvec