推导svm约束条件为等式求极值下面看看不等式约束,求极值,可行域变大了推导svmSVM—线性不可分—核函数

梯度垂直于等高线,指向函数变化最快的方向,指向极大值点方向

约束条件为等式求极值

先来看个简单求极值例子

 h(x,y) = x+y-1=0,f(x,y) = (x-2)**2+(y-2)**2 

先看下图形z=f(x,y)等高线,以点(2,2)为圆形的同心圆

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D  


def f(X, Y):
    return (X-2)**2 + (Y-2)**2
x = np.arange(-5, 10, 0.1)
y = np.arange(-5, 10, 0.1)

# 可以使坐标轴等比例figsize=6,6
plt.figure(figsize=(6,6)) 
# 生成网格数据
X, Y = np.meshgrid(x, y)


# 填充等高线的颜色, 40是等高线分为几部分
plt.contourf(X, Y, f(X, Y), 40, alpha = 0.8, cmap = plt.cm.RdBu)
# 绘制等高线
#C = plt.contour(X, Y, f(X, Y),15, colors = 'black', linewidth = 0.5)
# 绘制等高线数据
plt.clabel(C, inline = True, fontsize = 10)
plt.plot(x, 1-x)
plt.ylim(-5,10)
plt.xlim(-5,10)
plt.show()

从图形的含义来说,f(x,y)表示的是点(2,2)点到可行域点{(x,y)|h(x,y)=0}的距离,可以看出最大值是无穷大,最小值就是点(2,2)到直线h(x,y)=0的垂直距离

从另一方面来说,极值点(x,y),存在\lambda满足

可以从上式求的极小值点,可以通过判断二阶偏导数矩阵局部正定性,判断是极大值极小值。

对于多个约束条件,一般有拉格朗日定理

下面看看不等式约束,求极值,可行域变大了

  • 1、边界上求的极值
  • 2、可行域内部求的极值 看一个简单的例子 f(x,y)=(x-2)**2+(y-2)**2,g(x,y)=x**2+y**2<=1

最小值点f的梯度等于0,从图中可以看出在可行域,梯度反向时取的最小值,梯度同向取的最大值,存在\lambda,使得

注意\lambda*g=0,还有个情况是f梯度等于0点在可行域范围内\lambda=0,\Delta(f)=0取得最小值,

更一般关系关系f,hi(x)=0,gj(x)<=0,就是一个线性组合

推导svm

SVM(Support Vector Machine)指的是支持向量机,是常见的一种判别方法。在机器学习领域,是一个有监督的学习模型,通常用来进行模式识别、分类以及回归分析。

从图中可以看出满足分类要求分界线很多(高维数叫超平面),比如H1、H2,显然H1要比H2要好,H1最大化两个类别的距离,影响H1只是边界点,而之前线性分类器受整个数据影响.

假设H1是分界线,距离两个类别距离相同,边界上点满足

  实际来说边界上点不一定正好等与1或者-1,这里可以将等式右边化为1,例如边界点wx+b=c,
  两边同时除以c,w/cX+b/c=1,边界变为w/cX+b/c=0,这样处理会使我们方便很多        

两个边界线距离

要求距离最大值,转化为求||W||最小值,等价于求||W||最小值,看看有哪些约束条件

问题演变为

可以利用前面讨论不等式求极值

  (W,0)0是对b求偏导数,可以通过SMO算法求解,就出lambda大于0的,对应的X就是边界点,

利用上面等式就可求出

还有一个非常美的性质

下面看一个简单的例子

适合红绿两个类分类直线很多,但是只有图中直线能都将两类之间距离达到最大,很明显直线方程为

                                   x-y=0

可以解出

SVM—线性不可分—核函数

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ATYUN订阅号

【学术】在Google Sheet中创建深度神经网络

深度卷积神经网络并不像听起来的那样令人生畏。我将向你们展示我在Google Sheet中做的一个实现。复制它,你可以尝试一下,看看不同的因素如何影响模型的预测。...

3036
来自专栏大数据文摘

手把手 | 30行JavaScript代码,教你分分钟创建神经网络

1723
来自专栏大数据挖掘DT机器学习

数据处理的统计学习(scikit-learn教程)

Scikit-learn 是一个紧密结合Python科学计算库(Numpy、Scipy、matplotlib),集成经典机器学习算法的Python模块。 一、统...

5655
来自专栏算法channel

机器学习:对决策树剪枝

昨天推送中介绍了决策树的基本思想,包括从众多特征中找出最佳的分裂点,刚开始大家都是用选择这个特征后带来的信息增益为基本方法,后来发现它存在一个严重的bug,因此...

3848
来自专栏AI2ML人工智能to机器学习

矩有四子

在讨论一些方法的几何意义之前需要理解一下线性代数的一个基础知识,就是矩阵和它代表的空间的含义。

1033
来自专栏自学笔记

The Optimization of the Adaboost and Gradient Boosted Decision Tree

再回到我们上篇文章讲到的Adaboost算法,我们要从Adaboost算法推导出GBDT。首先回顾一下上篇文章的Adaboost,主要思想就是把弱分类器集中起来...

972
来自专栏PPV课数据科学社区

机器学习系列:(四)从线性回归到逻辑回归

从线性回归到逻辑回归 在第2章,线性回归里面,我们介绍了一元线性回归,多元线性回归和多项式回归。这些模型都是广义线性回归模型的具体形式,广义线性回归是一种灵活的...

5206
来自专栏小小挖掘机

推荐系统遇上深度学习(二)--FFM模型理论和实践

推荐系统遇上深度学习系列: 推荐系统遇上深度学习(一)--FM模型理论和实践 1、FFM理论 在CTR预估中,经常会遇到one-hot类型的变量,one-ho...

9314
来自专栏机器之心

入门 | 关于神经网络:你需要知道这些

1852
来自专栏WOLFRAM

随机三维图像中可以找到多少动物和阿尔普物形?

3166

扫码关注云+社区

领取腾讯云代金券