ml
  • Introduction
  • 机器学习基础
    • 机器学习基础_距离
    • 机器学习基础_概率论基础
    • 机器学习基础_线性代数基础
    • 机器学习基础_微积分基础
    • 机器学习基础_最优化理论
    • 机器学习基础_损失函数
  • 特征工程
    • 特征工程_归一化
    • 特征工程_编码
    • 特征工程_特征组合
    • 特征工程_特征选择
    • 特征工程_文本表示模型
    • 特征工程_图像增强
  • 模型评估
    • 模型评估_评估指标
    • 模型评估_AB测试
    • 模型评估_过拟合和欠拟合
    • 模型评估_超参数选择
    • 模型评估_模型评估方法
  • 降维
    • 降维_PCA主成分分析
    • 降维_LDA线性判别分析
  • 监督学习
    • 监督学习_朴素贝叶斯分类
    • 监督学习_决策树
    • 监督学习_K近邻法
    • 监督学习_支持向量机
    • 监督学习_CRF
  • 非监督学习
    • 非监督学习_K均值
    • 非监督学习_Mean_Shift均值漂移聚类
    • 非监督学习_DBSCAN基于密度的聚类方法
    • 非监督学习_Hierarchical_Clustering层次聚类
    • 非监督学习_Spectral_Clustering谱聚类
  • 半监督学习
  • 集成学习
  • 强化学习
Powered by GitBook
On this page
  • 支持向量机(SVM)
  • 精简版(核方法)

Was this helpful?

  1. 监督学习

监督学习_支持向量机

Previous监督学习_K近邻法Next监督学习_CRF

Last updated 3 years ago

Was this helpful?

[TOC]

支持向量机(SVM)

精简版(核方法)

​ 以上的数学描述等价于如下的优化问题:

至此,我们弄清楚了核函数是如何和空间变换发生联系的。核函数可以有很多不同的选择,以下列出了几种常用的核函数。

核函数
数学形式

多项式和

高斯核

$$k(x_i,x_j)=exp(-\frac{

拉普拉斯核

$$k(x_i,x_j)=exp(-\frac{

Sigmoid核

事实上,只要一个对称函数所对应的核矩阵满足半正定的条件,它就能作为核函数使用,并总能找到一个与之对应的空间映射。换言之,任何一个核函数都隐式地定义了一个再生核希尔伯特空间(Reproducing Kernel Hilbert Space,RKHS)。在这个空间里,两个向量的内积等于对应核函数的值。

核方法的基本思想是通过一个非线性变换,把输入数据映射到高维的希尔伯特空间中,在这个高维空间里,那些在原始输入空间中线性不可分的问题变得更加容易解决,甚至线性可分。支持向量机(Support Vector Machine,SVM)是一类最典型的核方法,下面将以支持向量机为例,对核方法进行简单的介绍。 支持向量机的基本思想是通过核函数将原始输入空间变换成一个高维(甚至是无穷维)的空间,在这个空间里寻找一个超平面,它可以把训练集里的正例和负例尽最大可能地分开(用更加学术的语言描述,就是正负例之间的间隔最大化)。那么如何才能通过核函数实现空间的非线性映射呢?让我们从头谈起。 假设存在一个非线性映射函数ϕ\phiϕ,可以帮我们把原始输入空间变换成高维非线性空间。我们的目的是在变换后的空间里,寻找一个线性超平面wTϕ(x)=0w^T\phi(x)=0wTϕ(x)=0,它能够把所有正例和负例分开,并且距离该超平面最近的正例和负例之间的间隔最大。这个诉求可以用数学语言表述如下:

max2∣∣w∣∣wTϕ(xi)≥+1,如果yi=+1wTϕ(xi)≤−1,如果yi=−1i=1,...,nmax\frac{2}{||w||} \\ w^T\phi(x_i) \geq+1,如果y_i=+1 \\ w^T\phi(x_i) \leq-1,如果y_i=-1 \\ i=1,...,nmax∣∣w∣∣2​wTϕ(xi​)≥+1,如果yi​=+1wTϕ(xi​)≤−1,如果yi​=−1i=1,...,n

其中2∣∣w∣∣\frac{2}{||w||}∣∣w∣∣2​是离超平面最近的正例和负例之间的间隔(如图2.6所示)。

min12∣∣w∣∣2yi(wTϕ(xi))≥1,i=1,...,nmin \frac{1}{2}||w||^2 \\ y_i(w^T \phi(x_i)) \geq 1,i=1,...,nmin21​∣∣w∣∣2yi​(wTϕ(xi​))≥1,i=1,...,n

上式中的约束条件要求所有的正例和负例分别位于超平面wTϕ(x)=0w^T \phi(x)=0wTϕ(x)=0的两侧。某些情况下,这种约束可能过强,因为我们所拥有的训练集有时是不可分的。这时候,就需要引入松弛变量ξ\xiξ,把上述优化问题改写为:

min12∣∣w∣∣2+C∑iξiyi(wTϕ(xi))≥1−ξξ≥0i=1,...,nmin \frac{1}{2}||w||^2+C \sum_i{\xi_i} \\ y_i(w^T \phi(x_i)) \geq 1- \xi \\ \xi \geq 0 i=1,...,nmin21​∣∣w∣∣2+Ci∑​ξi​yi​(wTϕ(xi​))≥1−ξξ≥0i=1,...,n

其实这种新的表述等价于最小化一个加了正则项12∣∣w∣∣2\frac{1}{2}||w||^221​∣∣w∣∣2l的Hinge损失函数。这是因为当1−yi(wTϕ(xi))1-y_i(w^T \phi(x_i))1−yi​(wTϕ(xi​))小于0的时候,样本xix_ixi​被超平面正确地分到相应的类别里,ξi=0\xi_i =0ξi​=0;反之,ξi\xi_iξi​将大于0,且是1−yi(wTξ(xi))1-y_i(w^T \xi (x_i))1−yi​(wTξ(xi​))的上界:最小化ξi\xi_i ξi​就相应地最小化了yi(wTϕ(xi))≥1y_i(w^T \phi(x_i)) \geq 1yi​(wTϕ(xi​))≥1。基于以上讨论,其实支持向量机在最小化如下的目标函数:

l^n(w)=12∣∣w∣∣2+∑i=1nmax{0,1−yi(wTϕ(xi))}\hat l_n{(w)}=\frac{1}{2}||w||^2+\sum_{i=1}^{n}{max\{0,1-y_i(w^T \phi(x_i))\}}l^n​(w)=21​∣∣w∣∣2+i=1∑n​max{0,1−yi​(wTϕ(xi​))}

其中,12∣∣w∣∣2\frac{1}{2}||w||^221​∣∣w∣∣2是正则项,对它的最小化可以限制模型的空间,有效提高模型的泛化能力(也就是使模型在训练集和测试集上的性能更加接近)。 为了求解上述有约束的优化问题,一种常用的技巧是使用拉格朗日乘数法将其转换成对偶问题进行求解。具体来讲,支持向量机对应的对偶问题如下:

max⁡α∑i=1nαi−12∑i=1n∑j=1nαiαjyiyjϕ(xi)Tϕ(xj)s.t.∑i=1nαiyi=0,αi≥0\max_{\alpha}{\sum_{i=1}^{n}{\alpha_i}}-\frac{1}{2}\sum_{i=1}^{n}{\sum_{j=1}^{n}{\alpha_i \alpha_j y_i y_j \phi(x_i)^T \phi(x_j)}} \\ s.t. \sum_{i=1}^{n}{\alpha_i y_i}=0,\alpha_i \geq 0αmax​i=1∑n​αi​−21​i=1∑n​j=1∑n​αi​αj​yi​yj​ϕ(xi​)Tϕ(xj​)s.t.i=1∑n​αi​yi​=0,αi​≥0

在对偶空间里,该优化问题的描述只与ϕ(xi)\phi(x_i)ϕ(xi​)和ϕ(xj)\phi(x_j)ϕ(xj​)的内积有关,而与映射函数ϕ\phiϕ本身的具体形式无关。因此,我们只需定义两个样本xix_ixi​和xjx_jxj​之间的核函数k(xi,xj)k(x_i,x_j)k(xi​,xj​),用以表征其映射到高维空间之后的内积即可:

k(xi,xj)=ϕ(xi)Tϕ(xj)k(x_i,x_j)=\phi(x_i)^T\phi(x_j)k(xi​,xj​)=ϕ(xi​)Tϕ(xj​)

k(xi,xj)=(xiTxj)p,p≥1k(x_i,x_j)=(x_i^Tx_j)^p,p \geq1k(xi​,xj​)=(xiT​xj​)p,p≥1
k(xi,xj)=tanh(βxiTxj+θ),β>0,θ<0k(x_i,x_j)=tanh(\beta x_i^T x_j+\theta),\beta>0, \theta<0k(xi​,xj​)=tanh(βxiT​xj​+θ),β>0,θ<0
异世界.png
1571568105084