FAFU机器学习 08-1upportectorachine中文.pptx

上传人(卖家):最好的沉淀 文档编号:7259533 上传时间:2023-11-05 格式:PPTX 页数:49 大小:829.25KB
下载 相关 举报
FAFU机器学习 08-1upportectorachine中文.pptx_第1页
第1页 / 共49页
FAFU机器学习 08-1upportectorachine中文.pptx_第2页
第2页 / 共49页
FAFU机器学习 08-1upportectorachine中文.pptx_第3页
第3页 / 共49页
FAFU机器学习 08-1upportectorachine中文.pptx_第4页
第4页 / 共49页
FAFU机器学习 08-1upportectorachine中文.pptx_第5页
第5页 / 共49页
点击查看更多>>
资源描述

1、机器学习基础支持向量机()数据挖掘十大算法C4.5.K均值支持向量机支持向量机先验的EM(最大似然)PageRank阿达博斯特KNN奈韦巴耶斯推车支持向量机Sklearn中的支持向量机2020/12/3支持向量机第7-3课背景l最早的SVM算法是由Vladimir N.Vapnik和Alexey Ya发明的。1963年,切尔沃年基斯l最大边缘分类器l1992年,Bernhard E.Boser,Isabelle M.Guyon和Vladimir N.Vapnik提出了一种通过将核技巧应用于最大边距超平面来创建非线性分类器的方法l使用内核技巧的内核化版本l目前的标准化身(软边际)是由Corinn

2、a Cortes和Vapnik于1993年提出,并于1995年出版l软边距分类器l软边距内核化版本(组合了1,2和3)2020/12/3支持向量机第7-4课背景l1996年,Vapnik等人。提出了一种支持向量机的方法来进行回归而不是分类。l支持向量回归(SVR)l在机器学习中,支持向量机(SVM,也称支持向量网络)是具有相关学习算法的监督学习模型,该学习算法分析用于分类和回归分析的数据。l但多用于分类问题l由于支持向量机在手写体数字识别中的成功应用,支持向量机开始受到人们的青睐2020/12/3支持向量机第7-5课l专业人士l基于内核的框架非常强大,灵活l在实践中工作得非常好,即使训练样本容

3、量非常小l解可表示为二次规划问题l许多公开可用的SVM包:例如LIBSVM,LIBLINEAR,SVMLightl罪名l为一个问题选择最好的核函数是很棘手的l计算,记忆l在训练时,必须计算所有示例对的核值l对于大规模的问题,学习可能需要非常长的时间2020/12/3支持向量机第7-6课支持向量机Sklearn中的支持向量机2020/12/3支持向量机第7-7课2020/12/3支持向量机第7-8课哪一个最好?D=(X1,Y1),(X2,Y2),(Xm,Ym),Yi-1,+1,D,。2020/12/3支持向量机第7-9课哪一个最好?D=(X1,Y1),(X2,Y2),(Xm,Ym),Yi-1,+

4、1,D,。,:徐:2020/12/3支持向量机第7-10课(w,b),(xi,yi),yi=+1,wtxi+b0;yi=-1,wtxi+b=0这就是常用的软间隔支持向量机2023-11-4Support Vector MachineLesson 7-32软间隔与正则化然而,l0/1 非凸、非连续,数学性质不太好我们还可以把0/1 损失函数换成别的替代损失函数以得到其他学习模型,这些模型的性质与所用的替代函数直接相关,但它们具有一个共性:优化目标中的第一项用来描述划分超平面的“间隔”大小,另一项 用来表述训练集上的误差,可写为更一般的形式:结构风险:用于描述模型f 的某些性质经验风险:用于描述模

5、型与训练数据的契合程度C 用于对二者进行折中可以把上式看着是“正则化”(regularization)问题,(f)称为正则化项,C 则称为正则化常数.2023-11-4Support Vector MachineLesson 7-33Support Vector Machine背景间隔与支持向量对偶问题核函数软间隔与正则化支持向量回归支持向量回归SVM in sklearn2023-11-4Support Vector MachineLesson 7-34支持向量回归给定训练样本集D=(x1,y1),(x2,y2),.,(xm,ym),yi 属于实数,希望学得一个形如式下式的回归模型,使得f(

6、x)与y尽可能接近,和b 是待确定的模型参数.对样本(x,y),传统回归模型通常直接基于模型输出f(x)与真实输出y之间的差别来计算损失,当且仅当f(x)与y 完全相同时,损失才为零.与此不同,支持向量回归(Support Vector Regression,简称SVR)假设我们能容忍f(x)与y之间最多有?的偏差,即仅当f(x)与y之间的差别绝对值大于?时才计算损失.这相当于以f(x)为中心构建了一个宽度为2?的间隔带,若训练样本落入此间隔带,则认为是被预测正确的.2023-11-4Support Vector MachineLesson 7-35支持向量回归以f(x)为中心构建了一个宽度为

7、2?的间隔带,若训练样本落入此间隔带,则认为是被预测正确的.2023-11-4Support Vector MachineLesson 7-36支持向量回归以f(x)为中心构建了一个宽度为2?的间隔带,若训练样本落入此间隔带,则认为是被预测正确的.于是,SVR 问题可形式化为:其中C 为正则化常数,l?为损失函数2023-11-4Support Vector MachineLesson 7-37Support Vector Machine背景间隔与支持向量对偶问题核函数软间隔与正则化支持向量回归SVM in sklearn2023-11-4Support Vector MachineLesso

8、n 7-38SVM in sklearn2023-11-4Support Vector MachineLesson 7-39svm.LinearSVC(penalty,loss,dual,tol,C,)Linear Support Vector Classification.svm.LinearSVR(*,epsilon,tol,C,loss,)Linear Support Vector Regression.svm.NuSVC(*,nu,kernel,degree,gamma,)Nu-Support Vector Classification.svm.NuSVR(*,nu,C,kernel,

9、degree,gamma,)Nu Support Vector Regression.svm.OneClassSVM(*,kernel,degree,gamma,)Unsupervised Outlier Detection.svm.SVC(*,C,kernel,degree,gamma,)C-Support Vector Classification.svm.SVR(*,kernel,degree,gamma,coef0,)Epsilon-Support Vector Regression.SVM in sklearnhttps:/scikit-learn.org/stable/module

10、s/svm.html#svm-classificationSVC,NuSVC and LinearSVC are classes capable of performing multi-class classification on a dataset.SVC and NuSVC are similar methods,but accept slightly different sets of parameters and have different mathematical formulations.On the other hand,LinearSVC is another implem

11、entation of Support Vector Classification for the case of a linear kernel.Note that LinearSVC does not accept keyword kernel,as this is assumed to be linear2023-11-4Support Vector MachineLesson 7-40SVM in sklearnclass sklearn.svm.SVC(C=1.0,kernel=rbf,degree=3,gamma=auto_deprecated,coef0=0.0,shrinkin

12、g=True,probability=False,tol=0.001,cache_size=200,class_weight=None,verbose=False,max_iter=-1,decision_function_shape=ovr,random_state=None)2023-11-4Support Vector MachineLesson 7-41 import numpy as np X=np.array(-1,-1,-2,-1,1,1,2,1)y=np.array(1,1,2,2)from sklearn.svm import SVC clf=SVC(gamma=auto)c

13、lf.fit(X,y)#SVC(C=1.0,cache_size=200,class_weight=None,coef0=0.0,decision_function_shape=ovr,degree=3,gamma=auto,kernel=rbf,max_iter=-1,probability=False,random_state=None,shrinking=True,tol=0.001,verbose=False)print(clf.predict(-0.8,-1)2023-11-4Support Vector MachineLesson 7-42SVM in sklearnclass s

14、klearn.svm.NuSVC(nu=0.5,kernel=rbf,degree=3,gamma=auto_deprecated,coef0=0.0,shrinking=True,probability=False,tol=0.001,cache_size=200,class_weight=None,verbose=False,max_iter=-1,decision_function_shape=ovr,random_state=None)Parameter nu:float,optional(default=0.5)An upper bound on the fraction of tr

15、aining errors and a lower bound of the fraction of support vectors.Should be in the interval(0,1.2023-11-4Support Vector MachineLesson 7-43SVM in sklearnclass sklearn.svm.LinearSVC(penalty=l2,loss=squared_hinge,dual=True,tol=0.0001,C=1.0,multi_class=ovr,fit_intercept=True,intercept_scaling=1,class_w

16、eight=None,verbose=0,random_state=None,max_iter=1000)Similar to SVC with parameter kernel=linear,but implemented in terms of liblinear rather than libsvm,so it has more flexibility in the choice of penalties and loss functions and should scale better to large numbers of samples.This class supports b

17、oth dense and sparse input and the multiclass support is handled according to a one-vs-the-rest scheme.2023-11-4Support Vector MachineLesson 7-44SVM in sklearnclass sklearn.svm.SVR(kernel=rbf,degree=3,gamma=auto_deprecated,coef0=0.0,tol=0.001,C=1.0,epsilon=0.1,shrinking=True,cache_size=200,verbose=F

18、alse,max_iter=-1)Epsilon-Support Vector RegressionThe implementation is based on libsvm.2023-11-4Support Vector MachineLesson 7-45SVM in sklearnclass sklearn.svm.NuSVR(nu=0.5,C=1.0,kernel=rbf,degree=3,gamma=auto_deprecated,coef0=0.0,shrinking=True,tol=0.001,cache_size=200,verbose=False,max_iter=-1)N

19、u Support Vector Regression.Similar to NuSVC,for regression,uses a parameter nu to control the number of support vectors.However,unlike NuSVC,where nu replaces C,here nu replaces the parameter epsilon of epsilon-SVR.The implementation is based on libsvm2023-11-4Support Vector MachineLesson 7-46SVM i

20、n sklearnclass sklearn.svm.LinearSVR(epsilon=0.0,tol=0.0001,C=1.0,loss=epsilon_insensitive,fit_intercept=True,intercept_scaling=1.0,dual=True,verbose=0,random_state=None,max_iter=1000)Linear Support Vector Regression.Similar to SVR with parameter kernel=linear,but implemented in terms of liblinear r

21、ather than libsvm,so it has more flexibility in the choice of penalties and loss functions and should scale better to large numbers of samples.This class supports both dense and sparse input.2023-11-4Support Vector MachineLesson 7-47 from sklearn.svm import LinearSVR from sklearn.datasets import mak

22、e_regression X,y=make_regression(n_features=4,random_state=0)regr=LinearSVR(random_state=0,tol=1e-5)regr.fit(X,y)#LinearSVR(C=1.0,dual=True,epsilon=0.0,fit_intercept=True,intercept_scaling=1.0,loss=epsilon_insensitive,max_iter=1000,random_state=0,tol=1e-05,verbose=0)print(regr.coef_)#16.35.26.91.42.30.60.47.print(regr.intercept_)#-4.29.print(regr.predict(0,0,0,0)2023-11-4Support Vector MachineLesson 7-48Summary2023-11-4Support Vector MachineLesson 7-49

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(FAFU机器学习 08-1upportectorachine中文.pptx)为本站会员(最好的沉淀)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|