机器学习理论基础—支持向量机的推导(一)

机器学习理论基础---支持向量机的推导

算法原理

SVM:从几何角度,对于线性可分数据集,支持向量机就是找距离正负样本都最远的超平面,相比于感知机,其解是唯一的,且不偏不倚,泛化性能更好。

超平面

n维空间的超平面(wT X+ b= 0,其中w,x ∈ R)

  • 超平面方程不唯---
  • 法向量w和位移项b确定一个唯一超平面
  • 法向量w垂直于超平面 (缩放w,b时,若缩放倍数为负数会改变法向量方向)
  • 法向量w指向的那一半空间为正空间,另一半为负空间
  • 任意点到超平面的距离公式为

点到超平面的距离公式

理论证明:提出假设条件

1.由于法向量W与x1x0向量平行,首先计算两个向量点乘的模长:而下x1x0向量的模长 就是要求的距离R

2.按照点乘的坐标形式来进行计算,最后令两个式子相等即可以得到最终的结果。

两个式子相等得到最终的结果:

几何间隔

定义:M关于超平面的几何间隔为:(样本点的形式

正确分类是指:正样本都集中在正空间,负样本都集中在负空间。

  • 正确分类时r(i)>0,几何间隔此时也等价于点到超平面的距离。
  • 没有正确分类时:r(i)<0

数据集的定义形式 X为(x1,x2...)的数据集):即是所有样本点几何间隔的最小值。

支持向量机

模型定义 :给定线性可分数据集X,支持向量机模型希望求得数据集X关于超平面的几何间隔达到最大的那个超平面,然后套上一个sign函数实现分类功能

其中与感知机模型的区别在于,参数的不同支持向量机中的参数为b而感知机中的参数为一个阈值。

几何间隔最大的超平面一定是距离正负样本最远的超平面。

当超平面没有正确划分正负样本时:几何间隔最小的为误分类点,因此r<0

当超平面正确划分超平面时:r≥0,且越靠近中央越大。

支持向量机学习策略

策略:给定线性可分数据集X,设X中几何间隔最小的样本(xmin,ymin),那么支持向量机找超平面的过程可以转化为以下带约束条件 的优化问题。

根据几何间隔的定义带入进行求解,可以得到最终的结果式子与约束条件


化简后的公式存在的问题:

假设该问题的最优解为(w*,b*),那么(αw*,αb*),α ∈R+也是最优解,且超平面也不变,因此还需要对w,b做一定限制才能使得上述优化问题有可解的唯一解。不妨令

因为对于特定的(Xmin,Ymin)来说,使得该公式为1的α 的值只有一个

因此该公式和约束条件可以进一步优化为:

为了便于计算在进一步进行化简得到最终的学习策略 结果(平方取反转换为最小值问题 )。

此优化问题为含不等式约束的优化问题,且为凸优化问题,因此可以直接用很多专门求解凸优化问题的方法求解该问题,在这里,支持向量机通常采用拉格朗日对偶来求解。

凸优化问题

若目标函数f(x)是凸函数,约束集合是凸集,则称上述优化问题为凸优化问题,特别地,g(x)是凸函数,h(x)是线性函数时,约束集合为凸集,该优化问题为凸优化问题。显然,支持向量机的目标函数1/2||w||2是关于w的凸函数,不等式约束1 一y(wtx(i)十b)是也是关于w的凸函数,因此支持向量机是一个凸优化问题。

拉格朗日对偶

用来处理一般的约束问题,对于上面的公式,使用拉格朗日函数进行构造可得有

其中μ=(μ1,μ2,·,μm)T,入=(入1,入2,.,入n)T为拉格朗日乘子向量。

定义上述优化问题的拉格朗日对偶函数T(μ,入)(注意其自变量不包含x)为L(x,μ,入)关于x的下确界,也即:

无论上述优化问题是否是凸优化问题,其对偶函数T(μ,入)恒为凹函数 (证明参见《凸优化》)当μ≥0时,(μ,入)构成了上述优化问题最优值p*的下界,也即:

对上面的使用拉格朗日对偶函数求最优值提供参考的证明步骤

定义在满足μ≥ 0这个约束条件下求对偶函数最大值的优化问题为拉格朗日对偶问题 (原优化问题称为主问题)

设该优化问题的最优值为d*,显然d*≤ p* ,此时称为"弱对偶性"成立,若d* = p*,则称为"强对偶性"成立。找到了求p*的方法(上面有参考的证明过程

无论主问题是否为凸优化问题,对偶问题恒为凸优化问题,因为对偶函数T(μ,入)恒为凹函数(加个负号即可转为凸函数),约束条件μ≥0恒为凸集。

当主问题满足某些充分条件时,强对偶性成立。常见的充分条件有Slater条件:"若主问题是凸优化问题,且可行集D中存在一点能使得所有不等式约束的不等号成立,则强对偶性成立"(证明参见《凸优化》)。显然,支持向量机满足Slater条件。

KKT条件(5个)

设f(x),g(x),h(x)一阶偏导连续,x*,(μ*,入*)分别为主问题和对偶问题的最优解,若强对偶性成立,则x*,μ*,入*一定满足如下5个条件(证明参见《凸优化》

得出了第一种推导形式

根据支持向量机的主问题直接引出拉格朗日函数=0并对其求一阶偏导

若将w,b合并为=(w;b),显然上式是关于w的凸函数,直接求一阶导令其等于0,然后带回即可得到最小值,也即拉格朗日对偶函数。

相关推荐
SylviaW0826 分钟前
python-leetcode 37.翻转二叉树
算法·leetcode·职场和发展
h^hh36 分钟前
洛谷 P3405 [USACO16DEC] Cities and States S(详解)c++
开发语言·数据结构·c++·算法·哈希算法
玦尘、36 分钟前
位运算实用技巧与LeetCode实战
算法·leetcode·位操作
重生之我要成为代码大佬42 分钟前
Python天梯赛10分题-念数字、求整数段和、比较大小、计算阶乘和
开发语言·数据结构·python·算法
Best_Me071 小时前
【CVPR2024-工业异常检测】PromptAD:与只有正常样本的少样本异常检测的学习提示
人工智能·学习·算法·计算机视觉
山海青风1 小时前
从零开始玩转TensorFlow:小明的机器学习故事 4
人工智能·机器学习·tensorflow
HBryce241 小时前
缓存-算法
算法·缓存
Shockang1 小时前
机器学习数学通关指南——微分中值定理和积分中值定理
数学·机器学习·微积分
YoseZang1 小时前
【机器学习】信息熵 交叉熵和相对熵
人工智能·深度学习·机器学习
eso19832 小时前
Spark MLlib使用流程简介
python·算法·spark-ml·推荐算法