超平面

机器学习——支持向量机(SVM)

你离开我真会死。 提交于 2019-12-05 20:33:24
目录 支持向量机(SVM) 1、基本原理 2、软间隔 3、核函数 4、sklearn实现SVM 5、SVM多分类 4.1多分类原理 4.2sklearn实现SVM多分类 前言 :参考《机器学习》,对偶问题没看懂。。。。(我只是一个代码的搬运工。。。) 机器学习专栏 : 机器学习——线性回归(预测) 机器学习——逻辑回归(分类) 机器学习——特征缩放 机器学习——正则化 机器学习——支持向量机(SVM) 支持向量机(SVM) 1、基本原理 现给定数据集 \(D={((x^{(1)},y^{(i)}),(x^{(2)},y^{(2)}),...,(x^{(m)},y^{(m)}))},y^{(i)}\in\{-1,1 \}\) ,我们现在的目的就是找一个 超平面 将这两个类别的样本点分开。 在样本空间中,划分超平面可以由线性方程表示为: \[w^Tx+b=0\] 则样本点 \(x^{(i)}\) 到超平面 \((w,x)\) 的距离为: \[r=\frac{|w^Tx^{(i)}+b|}{||w||}\] 其中, \(||w||\) 表示范数,这是空间的一个性质,一般指欧式范数。到原点距离的意思,超平面可以理解为平面中的直线、空间中的平面的推广到更高维度,但是作用都是划分。 一个超平面 \((w,x)\) 可以将它所在的空间分为两半, 它的法向量指向的那一半对应的一面是它的正面,

Perceptron

你。 提交于 2019-12-04 16:33:14
导读 感知机是二分类的线性分类模型,输入是实例的特征向量(每个属性),输出是实例的类别。感知机对应于输入空间中将实例划分为正负两类的分离超平面,属于判别模型。 目的:找出将训练数据进行线性划分的分离超平面 导入基于误分类的损失函数,利用梯度下降法对损失函数进行极小化,求出最小值 有 原始形式 和 对偶形式 两种 感知机是种 线性分类 模型,属于 判别 模型。 感知机原理剖析及实现 定义 现在假设输入空间是$Xsubseteq{R^n}$,输出空间$Y={+1, -1}$。输入$xin X$表示实例的特征向量,输出$yin Y$表示实例的类别,其中输入到输出的函数表示如下: 称为感知机 w,b 称为感知机模型参数; w 称为权值或者权值向量;$bin R$称为偏置 bias 。$wbullet x$表示二者的内机, sign 表示符号函数: 感知机的几何解释为线性方程: 这条直线就是最好的那条线,最优解。特征空间$R^n$对应一个超平面 S ,其中 w 是超平面的法向量, b 是超平面的截距。超平面将特征空间划分为两个部分。位于两部分的点分为正负两个类别:正类为+1,父类为-1。 栗子(图2.1): 策略 给定一个数据集 其中$x_i$是输入空间实例的特征向量,$y_i$是实例的输出类别,如果存在超平面S满足将数据集的正负实例完全分开,即满足:当$wbullet x_i+b>0$

器学习笔记(六) ---- 支持向量机(SVM)【华为云技术分享】

邮差的信 提交于 2019-12-04 13:31:01
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/devcloud/article/details/102663611 支持向量机(SVM)可以说是一个完全由数学理论和公式进行应用的一种机器学习算法,在小批量数据分类上准确度高、性能好,在二分类问题上有广泛的应用。 同样是二分类算法,支持向量机和逻辑回归有很多相似性,都是二分类问题的判决模型,主要的差异在于损失函数的不同,支持向量机相比于逻辑回归,更倾向于找到样本空间中最优的划分超平面。 首先说一下 超平面的概念 :超平面是一个数学概念,而不好以物理概念解释,因为画不出来:)。n维空间的超平面表示 W t x + b = 0。二维空间中,超平面是一条直线,三维空间中,超平面是一个平面,以此类推... -- 线性支持向量机 我们先假设数据集是线性可分的,这是使用SVM的前提条件(线性不可分其实也有办法解决,后面再说),什么是线性可分呢? 线性可分 :对于二维(两个特征)数据集来说,如果存在一条直线,能把这两类数据完全区分开,就说这个数据集是线性可分的。如果多维(k个特征)数据,存在一个维度为k-1的超平面能完全分开两类数据,也称为线性可分。 SVM要解决的问题:就是在样本空间中找到最优(最鲁棒、泛化能力最强)划分超平面

西瓜书笔记-支持向量机-1

匆匆过客 提交于 2019-12-04 04:01:16
ω支持向量机简介 支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning)方式对数据进行二元分类的广义线性分类器(generalized linear classifier),其决策边界是对学习样本求解的最大边距超平面(maximum-margin hyperplane)(百度百科) 间隔和支持向量 因为分类学习的基本想法就是在训练集D{(x1,y1),(x2,y2),...,(xm,ym)}的样本空间中找到一个划分超平面将不同类别的样本分开。因此我们的目的就是在众多划分超平面中找到一个最好的划分平面(如下图)。 图1 : 存在多个划分超平面将两类训练样本分开 从上图可以看出红色的划分超平面应该是效果最好的,因为该划分超平面对样本局部扰动的“容忍”性最好。因为由于训练集的局限性或噪声的因素,训练集之外的样本可能更加接近两个类的分隔界,这就会使得许多的划分超平面出现错误,而红色的超平面影响最小,也就是说这个划分超平面所产生的分类结果是最“鲁棒”的,泛化能力最强的。 鲁棒性(Robust):强壮和健壮的意思,在这里是指训练后的模型对异常数据进行分类仍然能够得到较好的结果 泛化能力:学得模型适用于没在训练集中出现的样本的新样本的能力,称为泛化能力 在样本空间中,划分超平面可以用如下线性方程来描述: ωTx + b =

SVM的物理意义

巧了我就是萌 提交于 2019-12-03 20:33:21
对训练数据集找到几何间隔最大的超平面意味着以充分大的确信度对训练数据记性分类。即,不仅将正负实例例点分开,而且对最难分的实例例点(离超平面最近的点)也有足够大的确信度将它们分开。这样的超平面应该对未知的新实例例有很好的分类预测能力。 参考:李航《统计学习方法》。 来源: https://www.cnblogs.com/zjuhaohaoxuexi/p/11807266.html

SVM要点总结(一)

匿名 (未验证) 提交于 2019-12-03 00:40:02
序 SVM支持向量机作为统计分类和回归分析中的重要方法,其理论推导难度较大,根据自己查阅的相关资料,按照问题理解、待处理数据是否可分的判断、主要推导过程、核函数的选择及推导、核函数的选择原则、python实现的相关方法、超参数调优等内容,以粗线条的方式,总结如下要点,方便查阅和易于理解: 1.问题分解 SVM是寻求最优的分割超平面问题<=>带一系列不等式约束的优化问题。 2.待处理数据是否可分的判断 (1)低维数据(1,2维),可有图清晰看出是否可分; (2)高维数据(>2维):将数据转换成凸包(scipy.spatial.qhull()),再判断凸包是否相交(sweepline()未找到相关资料)。若相交,则不可分;否则,可分。 3.主要推导过程 4.python实现的相关方法 sklearn.svm 对于回归:SVC,NuSVC,LinearSVC 对于分类:SVR,NuSVR,LinearSVR 待续 原文:https://www.cnblogs.com/Byron-ourLove/p/9272831.html

感知机

匿名 (未验证) 提交于 2019-12-03 00:26:01
作者:sealaes 链接:https://www.jianshu.com/p/4715a4bea89d 来源:简书 【概述】 1、感知机模型特征 :感知机对应于输入空间中将实例划分为正负两类的分离超平面,属于判别模型。 2、感知机策略 :感知机学习的目标是求出将训练数据进行线性划分的分离超平面,导入基于误分类的损失函数,利用梯度下降法对损失函数进行最小化,求得感知机模型。 3、感知机学习算法: 用学习得到的感知机模型对新的输入实例进行分类。 4、重点: 感知机是神经网络和支持向量机的基础,所以一些核心概念要仔细理解和和掌握。 一、感知机模型(机器学习三要素之一) 1、定义2.1(感知机) 公式说明:W和b为感知机模型参数,称为权值(weight)或权值向量(weight vector),b称为偏置,一般b会以bx0的方式形成统一的权值向量w, w.x表示w和x的内积(内积的定义见附录1) ,sign(x)是符号函数,即: 图2.1:Sign符号函数的几何表示 2、感知机的几何解释 线性方程w.x+b=0对应于特征空间的一个超平面 S ,其中w是超平面的法向量 (法向量和超平面的关系见附录2) ,b是超平面的截距。 该超平面将特征空间划分成两个部分,位于两部分的点(特征向量)分别被分成正、负两类,超平面 S 成为分离超平面。 3、感知机学习方法 由训练集(实例的特征向量及类别)T=

几何间隔、函数间隔和||W||

匿名 (未验证) 提交于 2019-12-02 23:34:01
SVM是通过超平面将样本分为两类。 在超平面 确定的情况下, 可以相对地表示点 距离超平面的远近。对于两类分类问题,如果 ,则 的类别被判定为1;否则判定为-1。 所以如果 ,则认为 的分类结果是正确的,否则是错误的。且 的值越大,分类结果的确信度越大。反之亦然。 所以样本点 与超平面 之间的函数间隔定义为 但是该定义存在问题:即 和 同时缩小或放大M倍后,超平面并没有变化,但是函数间隔却变化了。所以,需要将 的大小固定,如 ,使得函数间隔固定。这时的间隔也就是几何间隔 。 几何间隔的定义如下 实际上,几何间隔就是点到超平面的距离。想像下中学学习的点 到直线 的距离公式 所以在二维空间中,几何间隔就是点到直线的距离。在三维及以上空间中,就是点到超平面的距离。而函数距离,就是上述距离公式中的分子,即未归一化的距离。 定义训练集到超平面的最小几何间隔是 SVM训练分类器的方法是寻找到超平面,使正负样本在超平面的两侧,且样本到超平面的几何间隔最大。 所以SVM可以表述为求解下列优化问题 以上内容在《统计学习方法》中,均有详细的讲解。 作者:Jason Gu 链接:https://www.zhihu.com/question/20466147/answer/28469993 文章来源: https://blog.csdn.net/ctrigger/article/details

【分类算法】感知机(Perceptron)

强颜欢笑 提交于 2019-12-02 19:06:23
0 - 算法描述   感知机算法是一类二分类算法,其问题描述为,给定一个训练数据集 $$T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\},$$ 其中$x_i\in \mathbb{R}^n,y_i\in\{-1,1\},i=1,2,\cdots,N$,求参数$w,b$,使得以下损失函数极小化问题的解 $$\min_{w,b}L(w,b)=-\sum_{x_i\in M}y_i(w\cdot x_i+b),$$ 其中$M$为误分类点的集合。 1 - 推导过程   感知机算法求解的数据集必须具有线性可分性,其定义为,对于数据集 $$T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\},$$ 其中$x_i\in \mathbb{R}^n,y_i\in\{-1,1\},i=1,2,\cdots,N$,如果存在某个超平面$S$ $$w\cdot x + b = 0,$$ 能够将数据集的正类和负类完全正确地划分到超平面的两侧,即对所有$y_i=+1$的样本$i$,有$w\cdot x_i+b>0$,对所有$y_i=-1$的样本$i$,有$w\cdot x_i + b < 0$,则称数据集$T$为线性可分数据集(linearly separable dataset)。   感知机算法即是求解线性可分数据集中的超平面$S$的算法

感知机原理

ε祈祈猫儿з 提交于 2019-12-02 06:47:27
感知机可以说是最古老的分类方法之一,早在1957年就已经提出。从今天来看它的分类模型在大多数时候泛化能力不强,但是它的原理却值得好好研究。因为研究透了感知机模型,学习支持向量机的话会降低不少难度。同时如果研究透了感知机模型,再学习神经网络,深度学习,也是一个很好的起点。 1.感知机模型 感知机的思想很简单,比如我们在一个平台上有很多的男孩女孩,感知机的模型就是尝试找到一条直线,能够把所有的男孩和女孩隔离开。放到三维空间或者更高维的空间,感知机的模型就是尝试找到一个超平面,能够把所有的二元类别隔离开,如下图这样。 当然你可能会想,如果我们找不到这么一条直线的话怎么办?找不到的话那就意味着类别线性不可分,也就意味着感知机模型不适合你的数据的分类。使用感知机一个最大的前提,就是数据是线性可分的。这严重限制了感知机的使用场景。它的分类竞争对手在面对不可分的情况时,比如支持向量机可以让数据在高维可分,神经网络可以通过激活函数和增加隐藏层来让数据可分。支持向量机的分类方法如下图所示 用数学的语言来说,如果我们有m个样本,每个样本对应于n维特征和一个二元类别输出,如下: ( x 1 ( 0 ) , x 2 ( 0 ) . . . x n ( 0 ) , y 0 ) , ( x 1 ( 1 ) , x 2 ( 1 ) . . . x n ( 1 ) , y 1 ) . . . ( x 1 ( m