机器学习及应用 第5章 支持向量机PPT资料.pptx
- 文档编号:13384254
- 上传时间:2022-10-10
- 格式:PPTX
- 页数:62
- 大小:5.70MB
机器学习及应用 第5章 支持向量机PPT资料.pptx
《机器学习及应用 第5章 支持向量机PPT资料.pptx》由会员分享,可在线阅读,更多相关《机器学习及应用 第5章 支持向量机PPT资料.pptx(62页珍藏版)》请在冰豆网上搜索。
1992年,BernhardE.Boser,IsabelleM.Guyon和VladimirN.Vapnik运用核技巧(kerneltrick)最大化边缘平面,解决非线性分类器的方法。
1995年,VladimirN.Vapnik提出了统计学习理论,较好地解决了线性不可分的问题,正式奠定了SVM的理论基础。
支持向量机解决不同类型的问题:
当训练数据线性可分时,通过硬间隔最大化,学习一个线性可分支持向量机;
当训练数据近似线性可分时,通过软间隔最大化,学习一个线性支持向量机;
当训练数据不可分时,通过使用核技巧以及软间隔最大化,学习一个非线性支持向量机。
5.1引言,5.2线性分类,5.2线性分类,5.2线性分类,定义分类函数,示意图,5.2线性分类,5.2线性分类,可以用来表示分类(预测)的可信度。
问题:
只要成比例改变w和b,超平面并没有改变,但函数间隔却变了。
因此,虽然函数间隔能表示分类的正确性和可信度,但其无法表示出间隔的数量大小。
(定性表示),5.2.1函数间隔与几何间隔,5.2线性分类,补充知识:
范数,例如:
1-范数2-范数,5.2线性分类,补充知识:
凸函数,补充知识:
凸二次规划,若Q为正定矩阵,则该问题有唯一的全局最小值。
例如,最简单的正定矩阵就是单位矩阵。
5.2线性分类,或,凸二次规划问题,可以用QP(QuadraticProgramming)优化包进行求解。
通过最大化几何间隔,以达到最小化分类结构风险的目的。
H为最优分类超平面,H1和H2分别为上、下样本中离开分类超平面最小间隔的超平面,H1和H2上的样本点(为距离超平面最近的样本点)为支持向量。
5.2线性分类,5.2线性分类,即,5.2.2对偶问题求解线性可分支持向量机的最优化问题转化为最原始的最优化问题。
通过拉格朗日对偶变换(LagrangeDualityTransform)到对偶变量(DualVariable)的优化问题之后,可以找到一种十分有效的求解方法。
简单地说,通过给每一个约束条件加上一个拉格朗日乘子,便可以通过拉格朗日函数将约束条件融合到目标函数中:
5.2线性分类,5.2.2对偶问题,5.3线性支持向量机,5.3线性支持向量机,目标函数:
于是有,,,由于因此,规划问题演变为,5.3线性支持向量机,5.3线性支持向量机,5.3线性支持向量机,支持向量机是一种可构造唯一决策面的线性分类器,所构造的决策面能够将其到与其最近的训练实例(支持向量)的距离最大化。
复杂性参数C可用于调整容许的间隔错误的总数和严重程度sklean提供了线性分类支持向量机(LinearSVC)的实现,其函数原型为:
classsklearn.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_weight=None,verbose=0,random_state=None,max_iter=1000)penalty:
字符串,默认参数值为“l2”。
惩罚类型,指定“l1”或“l2”loss:
字符串,可选“hinge”或“squaredhinge”,默认参数值为“squaredhinge”。
损失函数。
主要参数如下:
C:
浮点数。
惩罚参数。
multi_class:
字符串。
多类分类问题的策略,取值可选“ovr”“crammer_singer”之一,默认参数值为“ovr”。
“ovr”采用one-vs-rest分类策略;
“crammer_singer”采用多类联合分类策略。
fit_intercept:
布尔值。
如果为True,则计算截距,即决策函数中的常数项;
否则忽略截距。
5.3线性支持向量机,示例:
首先创建可以分离的样本数据集(假定二分类),然后使用sklearn所提供的线性支持向量机(LinearSVC)方法对其进行分类,求取一个支持向量集并绘图,具体代码如下。
importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.svmimportLinearSVCfromsklearn.datasetsimportmake_blobs#创建随机分布的,可以分离的400个样本点X,y=make_blobs(n_samples=400,centers=2,random_state=32)#创建LinearSVC对象clf=LinearSVC(C=1000)clf.fit(X,y)#创建LinearSVC对象clf=LinearSVC(C=1000),5.3线性支持向量机,5.3线性支持向量机,clf.fit(X,y)plt.scatter(X:
0,X:
1,c=y,s=30,cmap=plt.cm.Paired)#画出决策函数ax=plt.gca()xlim=ax.get_xlim()ylim=ax.get_ylim()#网格化评价模型xx=np.linspace(xlim0,xlim1,30)yy=np.linspace(ylim0,ylim1,30)YY,XX=np.meshgrid(yy,xx)xy=np.vstack(XX.ravel(),YY.ravel().TZ=clf.decision_function(xy).reshape(XX.shape)#画分类边界ax.contour(XX,YY,Z,colors=k,levels=-1,0,1,alpha=0.5,linestyles=-,-,-)plt.title(MaximummarginusingLinearSVC)plt.show(),sklearn.svm中SVC同样支持线性支持向量机,并且SVC方法中还提供了支持向量的输出。
5.3线性支持向量机,5.4非线性支持向量机,,通过将数据映射到高维空,对于非线性的情况,支持向量机选择一个核函数间,从而解决原始空间中线性不可分的问题。
分类函数定义为:
5.4.1核技巧,5.4非线性支持向量机,补充:
同构,5.4非线性支持向量机,常用的核函数:
5.4非线性支持向量机,5.4非线性支持向量机,当,时,核函数,其中:
一般说来,核函数,,对应的映射后特征维度为,5.4非线性支持向量机,5.4非线性支持向量机,核函数的性质:
5.4.2sklearnSVC,sklearn.svm提供了非线性分类支持向量机(SVC)的实现,其函数原型为classsklearn.svm.SVC(C=1.0,kernel=rbf,degree=3,gamma=auto,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)主要参数如下:
kernel:
字符串,默认参数值为“rbf”。
核函数,5.4非线性支持向量机,degree:
整数。
指定当核函数是多项式核函数时,多项式的系数gamma:
浮点数,默认参数值为“auto”。
参数。
当核函数为“poly”“rbf”和“sigmoid”时,核函数的系数。
如果为“auto”,则系数默认参数值为coef0:
浮点数,默认参数值为0.0。
核函数中的自由项decision_function_shape:
字符串或None,默认参数值为“ovr”。
决策函数的形状random_state:
整型、RandomState实例或None,5.4非线性支持向量机,5.4非线性支持向量机,示例:
运用特征脸(eigenface)和sklearn.svm.SVC进行人脸识别。
使用一个经过预处理的数据集“LabeledFacesintheWild”(http:
/vis-www.cs.umass.edu/lfw/lfw-funneled.tgz(233MB)),从数据集中找出最有代表性的前5人的预期结果。
主要代码如下:
importmatplotlib.pyplotaspltfromsklearn.model_selectionimporttrain_test_splitfromsklearn.model_selectionimportGridSearchCVfromsklearn.datasetsimportfetch_lfw_peoplefromsklearn.metricsimportclassification_reportfromsklearn.metricsimportconfusion_matrixfromsklearn.decompositionimportPCAfromsklearn.svmimportSVC,#下载人脸数据lfw_people=fetch_lfw_people(min_faces_per_person=70,resize=0.4)#introspecttheimagesarraystofindtheshapes(forplotting)n_samples,h,w=lfw_people.images.shape#formachinelearningweusethe2datadirectly(asrelativepixel#positionsinfoisignoredbythismodel)X=lfw_people.datan_features=X.shape1#thelabeltopredictistheidofthepersony=lfw_people.targettarget_names=lfw_people.target_namesn_classes=target_names.shape0#Splitintoatrainingsetandatestsetusingastratifiedkfold,5.4非线
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机器学习及应用 第5章 支持向量机 机器 学习 应用 支持 向量