当前位置:网站首页>神经网络与深度学习-6- 支持向量机1 -PyTorch
神经网络与深度学习-6- 支持向量机1 -PyTorch
2022-07-26 09:18:00 【明朝百晓生】
前言
SVM (support vector machines) 是机器学习里面经典的二分类模型
它是定义在特征空间上间隔最大的线性模型
线性支持向量机 和 非线性支持向量机,硬间隔 软间隔,SMO(序列最小最优算法)
参考文档<<统计学习方法>>
格拉姆矩阵是半正定的
目录
- 线性可分支持向量机与硬间隔最大化
- 线性支持向量机与软间隔最大化
- 非线性支持向量机与核函数
一 线性可分支持向量机与硬间隔最大化
1.1 线性可分支持向量机定义
给定线性可分数据集,通过间隔最大化或等价求解相应的凸二次规划问题
学习得到的分离超平面为
以及相应的分类决策函数
1.2 函数间隔几何间隔
一个点距离超平面远近可以表示分类预测的确信程度
函数间隔:
定义超平面(w,b)关于样本点的函数间隔为
最小化(距离超平面最近的点)
几何间隔
定义超平面(w,b)关于样本点的几何间隔为
当 函数间隔和几何间隔相等
1.3 间隔最大化
对训练数据集找到几何间隔最大的超平面,不仅仅讲正负例分开,而且对最难分的实例点也有足够大的确信度讲它们分开
间隔最大化
线性可分SVM学习最优化问题
等价于凸二次规划问题
min f(w): 凸函数
![]()
约束为 凸函数+仿射函数
1.4 最大化间隔算法
输入:
线性可分数据集
输出:
最大分离超平面和分类决策函数
step1:
构造求解约束最优化问题
step2: 分离超平面
step3: 分类决策函数
1.5 学习对偶算法
定义拉格朗日函数
求解方法:
先对我w,b求极小,再对拉格朗日乘子求极大
1:
对w,b求偏导数后,再带入
s.t
2 对 求 极大值,对偶问题
s.t:
3 利用KKT 条件求解
训练集中
的样本点
的实例称为支持向量,在分类中起作用
(
)
, 其中
对应的
线性可分支持向量机学习算法
输入:
线性可分数据集
输出:
最大分离超平面和分类决策函数
构造并求解约束最优化问题
s.t
计算
选择
的分量
得到分离超平面
分类决策函数:
二 线性支持向量机与软间隔最大化
对于训练数据集中有些特异点,函数间隔不能满足间隔大于等于1的约束条件,引入了松弛变量
2.1 凸二次规划原始问题
2.2 学习对偶算法
原始问题的拉格朗日函数
首先求L 对 w,b,求偏导数
带入,跟前面一样,得到对偶问题
s.t
定理 设 是对偶问题的一个解,若存在
的一个分量
,
则原始问题的解可以按照下面求得:
证明:
原始问题是凸二次规划问题,满足KKT条件
2.3 学习算法
输入:
训练数据集
,
其中
输出: 分离超平面和分类决策函数
1: 选择惩罚因子C>0,构造求解凸二次规划问题
s.t
2: 计算
选择一个
3: 得到分离超平面
4: 分类决策函数
2.4 支持向量
2.5 合页损失函数
这是另一种解释: 最小化损失函数
第一项是合页损失(Hinge loss function)
三 非线性支持向量机与核函数
3.1 非线性分类问题
首先使用变换将原空间的数据映射到新空间;然后再新空间里面使用线性分类的学习方法从训练数据中学习到分类模型
3.2 核函数定义
设是输入空间(欧式空间的子集或者离散集合),又设H为特征空间(希尔伯特空间),
如果存在一个从到H的映射
使得对都有 ,函数
称
为核函数
为映射函数
3.3 正定核
能成为和函数的充要条件就是核函数
假设K(x,z)是定义在
上的对称函数,并且任意的
K(x,z)关于
的Gram 矩阵是半正定的。可以根据K(x,z) 构成一个希尔伯特空间H
步骤:
首先定义
并构成向量空间S
然后在S上定义内积构成内积空间
最后将S完备化构成希尔伯特空间
1 先定义映射,构成向量空间S
定义映射
根据该映射,对于任意,i=1,2...m,定义线性组合
考虑由线性组合为元素的集合S,由于集合S对于加法和乘法运算是封闭的,所以
S构成了一个向量空间。
2: 在S上定义内积,使其称为内积空间
在S上定义一个运算*: 对于任意f,g ,
3 将向量空间S完备化为希尔伯特空间
4: 常用的核函数
核方法只是一种处理问题的技巧,低维空间线性不可分可以在高维空间线性可分,但是高维空间的计算复杂度又很大,那么我们就把高维空间的计算通过低维空间的计算外加一些线性变换来完成
机器学习中常用的核函数_北极星以南南的博客-CSDN博客_常用的核函数
核函数(Kernel function)(举例说明,通俗易懂)_我不爱机器学习的博客-CSDN博客_核函数
线性代数回顾
1: 正定矩阵定义(positive definite和positive semi-definite)
给定一个大小为 [n,n] 的实对称矩阵A ,若对于任意长度为 n的非零向量x ,有 恒成立,则矩阵A 是一个正定矩阵
1.1 性质 A的特征值大0
反之只有所有特征值大于0的对称矩阵,则一定时正定的
1.2 例题
2 半正定矩阵
给定一个大小为 [n,n] 的实对称矩阵A ,若对于任意长度为 n的非零向量x ,有 恒成立,则矩阵A 是一个半正定矩阵
边栏推荐
- 【无标题】
- ext4文件系统打开了DIR_NLINK特性后,link_count超过65000的后使用link_count=1来表示数量不可知
- Cat installation and use
- (2006,Mysql Server has gone away)问题处理
- PAT 甲级 A1034 Head of a Gang
- Elastic APM安装和使用
- Error: cannot find module 'UMI' problem handling
- volatile 靠的是MESI协议解决可见性问题?(上)
- Does volatile rely on the MESI protocol to solve the visibility problem? (next)
- JVM触发minor gc的条件
猜你喜欢
Li Mu D2L (IV) -- softmax regression
redis原理和使用-基本特性
堆外内存的使用
语音聊天app源码——钠斯直播系统源码
公告 | FISCO BCOS v3.0-rc4发布,新增Max版,可支撑海量交易上链
Elastic APM安装和使用
Bloom filter
Babbitt | metauniverse daily must read: does the future of metauniverse belong to large technology companies or to the decentralized Web3 world
【Mysql】redo log,undo log 和binlog详解(四)
(2006,Mysql Server has gone away)问题处理
随机推荐
What is the difference between NFT and digital collections?
Error: cannot find module 'UMI' problem handling
Horizontal comparison of the data of the top ten blue chip NFTs in the past half year
Matlab 绘制阴影误差图
Qt | 关于如何使用事件过滤器 eventFilter
760. 字符串长度
多项式开根
756. 蛇形矩阵
Clean the label folder
How to quickly learn a programming language
2022 chemical automation control instrument operation certificate test question simulation test platform operation
【无标题】
[arkit, realitykit] turn pictures into 3D models
原根与NTT 五千字详解
【Mysql】一条SQL语句是怎么执行的(二)
【线上死锁分析】由index_merge引发的死锁事件
【Mysql】redo log,undo log 和binlog详解(四)
OnTap 9 file system limitations
CF1481C Fence Painting
【ARKit、RealityKit】把图片转为3D模型