《Python机器学习》 课件 第9章 支持向量机SVM.pptx

《Python机器学习》 课件 第9章 支持向量机SVM.pptx

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Python机器学习第9章 支持向量机SVM9.1 支持向量机的概念 橘生淮南则为橘,生于淮北则为枳。——《晏子春秋》支持向量机(Support Vector Machines, SVM)是Cortes和Vapnik于1995年首先提出的,在解决小样本、线性/非线性及高维模式识别领域表现出特有的优势。支持向量机的优点是原理简单,但是具有坚实的数学理论基础。广泛应用于分类、回归和模式识别等机器学习算法的应用中。支持向量机的优点有:小样本:并不是需要很少的样本,而是与问题的复杂程度比起来,需要的样本数量相对少。在高维空间中有效:样本的维度很高的情况下也可以处理。非线性:SVM擅长处理非线性问题,主要通过核函数和惩罚变量完成。理论基础简单,分类效果较好。通用性好,可以自定义核函数支持向量机也具有一些缺点,例如:计算复杂度高,对大规模数据的训练困难。不支持多分类,多分类问题需要间接实现。对不同的核函数敏感。9.1.1 线性判别分析LDA线性判别(linear discriminant)是一种经典的线性学习方法,最早由Fisher在1936年提出,亦称Fisher线性判别。线性判别分析LDA是对Fisher线性判别方法的归纳。?线性判别函数(Discriminant Function)是指由 的各个分量线性组合而成的函数。其中是权重向量,是的转置。、都为维向量;实数为偏移量。线性判别问题的决策规则为:如果g(x)0,则判定x属于C1类;如果g(x)0,则判定x属于C2类; 如果g(x)=0,可以x属于任何一类或者拒绝判断。例如对鸢尾花数据集,使用花瓣长度和花萼长度进行分类。9.1.2 间隔与支持向量 三条分隔线都可以做到将两种鸢尾花分类,那么究竟选哪条线作为分类器呢?事实上,我们只需要留意离分类线最近的那些点。最邻近分类线(或分类超平面)的那些向量称为支持向量(support vector),这也是支持向量机概念的来源。支持向量到分隔线(分类面)的距离称为间隔(margin)。间隔最大的分类器为最优的分类器。9.1.3超平面 超平面(Hyper Plane):在二维空间中,分类函数为一条直线。然而当线性函数投射到一维空间中,就是一个判别点。而如果将线性判别函数扩大到三维空间,则相当于一个判别平面;如果是更高维空间,则称为超平面(Hyper Plane)。图a:输入数据集make_blobs; 图b:二维平面无法对数据线性划分;图c:将数据投射到三维空间;图d:获得划分平面;图e:划分平面的另一个角度; 图f:平面投射到二维空的划分结果。在高维空间中,将分类样本进行划分的平面称为分类超平面(separating hyperplane)9.1.4感知器1. 如何选择较好的决策面2. 感知器(Perceptron)感知器(Perceptron)是一种二元线性分类模型,1957年由Frank Rosenblatt基于神经元模型提出。是一种能够自我迭代、试错,类似于人类学习过程的算法。感知机算法的初衷是为了‘教’感知机识别图像。感知器的训练过程示意感知器的训练过程示意?感知器参数调整流程图,其中,是学习率(learning rate),指每一次更新参数的程度大小。可以使用SKlearn中linear_model模块的Perceptron类来实现线性感知机,格式如下:Perceptron(penalty=None,alpha=0.0001,fit_intercept=True, max_iter=1000,tol=0.001, shuffle =True,verbose=0,eta0=1.0,n_jobs=None,random_state=0,early_stopping=False,validation_fraction=0.1,n_iter_no_change=5,class_weight=None, warm_start=False)主要参数:Penalty:惩罚项,可以帮助产生最大间隔。可能的取值为None、‘l2’(L2正则)、 ‘l1’(L1正则) 或 ‘elasticnet’(混合正则),缺省值为None。max_iter:最大迭代次数,默认为1000。eta0:学习率,默认为1.0。属性:coef_:权值,即参数ercept_:偏置,即参数b。n_iter_:迭代次数 。classes_:类别标签集合。t_:训练过程中,权重w参数更新的次数。【例】使用感知器进行信用分类问题描述:使用SKlearn中的Perceptron对信用卡数据集进行分类,并对原始样本和分类结果进行绘图显示。数据集为credit-overdue.csv, 主要步骤如下:(1)读取数据集。(2)使用线性感知器进行训练,得到分类器参数。(3)绘制样本的散点图,绘制

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档