一、SVM定义

支持向量机(Support Vector Machine,SVM):
支持向量机的阈值是什么 支持向量机 支持向量_人工智能进行二分类问题的学习,设计最优的一个超平面,将两个不同的样本分离开来,这个超平面我们就称它为支持向量机
支持向量机的阈值是什么 支持向量机 支持向量_人工智能得到最优超平面的学习策略,使间隔(margin)最大化,

二、线性问题

讨论在二维空间的线性可分

如下图所示:

支持向量机的阈值是什么 支持向量机 支持向量_深度学习_03

(1)上图中,我们找到具有最大的间隔,当需要测试新的数据时,分类的结果会有更高的可信度。
(2)由图中可知,上下的边界会经过一些样本数据点,这些数据点的位置,决定了间隔的大小,称这些样本数据点为支持向量(Support vector),中间的超平面就称为支持向量机

三、非线性问题

1.问题描述

上面的测试用例是在二维空间内线性可分的,然而在现实任务中,训练集样本也并不是都能够存在一个能正确划分两类样本的超平面。例如下图:

支持向量机的阈值是什么 支持向量机 支持向量_机器学习_04


支持向量机的阈值是什么 支持向量机 支持向量_人工智能针对上述问题,我们可以将二维数据利用某种方法映射到三维空间中,这样就可以找到一个超平面将其两类样本分隔开。

支持向量机的阈值是什么 支持向量机 支持向量_人工智能将数据映射到高维,为了找到合适的超平面,这个特征空间的维度可能很高,甚至无穷维,这个给求取超平面带来了一定的难度,为解决这个问题,核函数横空出世,它避免了求解高维甚至无穷维特征空间中的内积。

2.常用的核函数:

线性核
多项式核
高斯核(又称为RBF核)
拉普拉斯核
Sigmoid核

四、软间隔

1.定义

支持向量机的阈值是什么 支持向量机 支持向量_人工智能在上面二、三讨论的问题,一直假设的是训练样本在样本空间或特征空间中是线性可分的,即存在一个超平面能将不同类的样本完全划分开。
支持向量机的阈值是什么 支持向量机 支持向量_人工智能然而在现实任务中,往往很难找到一个合适的核函数使得训练集在特征空间中线性可分,或者说,即使找到一个核函数,能够将训练集样本在线性空间中可分,这也很难保证这个线性可分的结果不是由于过拟合造成的。

化解上述问题的一个办法就是允许支持向量机在一些样本上出错,为此,引入“软间隔”(soft margin)

相对于软间隔,之前们讲的将所有测试数据都区分开来是硬间隔

支持向量机的阈值是什么 支持向量机 支持向量_支持向量机的阈值是什么_09


软间隔的目的是:在容错率与间隔距离中找到一个平衡

2.引入损失函数

常见的损失函数:

0/1损失函数
hinge损失函数(铰链损失)
指数损失函数
对率损失函数

引入损失函数之后的支持向量机的求解问题就转化为:

支持向量机的阈值是什么 支持向量机 支持向量_支持向量机的阈值是什么_10


支持向量机的阈值是什么 支持向量机 支持向量_人工智能上式中,我们可以看出需要考虑两个变量w和损失值 支持向量机的阈值是什么 支持向量机 支持向量_支持向量机的阈值是什么_12,两者都是越小越好,但是两者相互制约:

支持向量机的阈值是什么 支持向量机 支持向量_深度学习_13w长度越大,间隔越小,原始数据越不容易出现分类错误,即 支持向量机的阈值是什么 支持向量机 支持向量_损失函数_14和越小;
支持向量机的阈值是什么 支持向量机 支持向量_深度学习_13 w长度越小,间隔越大,原始数据会出现分类错误,即 支持向量机的阈值是什么 支持向量机 支持向量_损失函数_14和越大。
支持向量机的阈值是什么 支持向量机 支持向量_深度学习_13因此w和 支持向量机的阈值是什么 支持向量机 支持向量_损失函数_14需要达到平衡,实现两者相加的最小化,达到总体的最优。

支持向量机的阈值是什么 支持向量机 支持向量_人工智能上面公式,还存在一个常数C
支持向量机的阈值是什么 支持向量机 支持向量_人工智能C的作用是:根据C的大小我们可以控制对损失值 支持向量机的阈值是什么 支持向量机 支持向量_支持向量机的阈值是什么_12的容忍度,起到惩罚 支持向量机的阈值是什么 支持向量机 支持向量_支持向量机的阈值是什么_12的作用。
如下:

支持向量机的阈值是什么 支持向量机 支持向量_深度学习_13 当设置的C越大,则 支持向量机的阈值是什么 支持向量机 支持向量_损失函数_14和就会越大,那么此时我们就要要求 支持向量机的阈值是什么 支持向量机 支持向量_损失函数_14小,,即容忍度低。
支持向量机的阈值是什么 支持向量机 支持向量_深度学习_13当C趋于无穷大时, 支持向量机的阈值是什么 支持向量机 支持向量_损失函数_14=0,软间隔问题就转换为硬间隔问题