Datawhale西瓜书学习笔记TASK7——支持向量机

小白学习笔记,有误请指正

目录

一、间隔与支持向量

[1. 间隔(Margin)](#1. 间隔(Margin))

[2. 支持向量(Support Vectors)](#2. 支持向量(Support Vectors))

[3. 最大间隔分类的优化问题](#3. 最大间隔分类的优化问题)

二、对偶问题

三、核函数

[1. 定义](#1. 定义)

2.核矩阵

[3. 常见的核函数](#3. 常见的核函数)

4.核函数的性质

四、软间隔与正则化

[1. 软间隔(Soft Margin)](#1. 软间隔(Soft Margin))

[2. 正则化(Regularization)](#2. 正则化(Regularization))

五、支持向量回归(SVR)

[1. 定义](#1. 定义)

[2. SVR的数学模型](#2. SVR的数学模型)

六、核方法

七、参考文献


一、间隔与支持向量

1. 间隔(Margin)

++间隔++ 是指分类超平面(决策边界)与离该超平面最近的样本点之间的距离。在SVM中,目标是找到一个超平面,这个超平面不仅能够分开两类数据,而且能够最大化离分类边界最近的样本点的距离。这种最大化间隔的策略旨在提高模型的泛化能力,找最鲁棒性的超平面,减少在未见数据上的误差。

++最大间隔分类器++:SVM的核心思想是寻找一个具有最大间隔的超平面,间隔越大,分类器的鲁棒性(对噪声的容忍度)通常越强,从而提高模型的泛化能力。最大化间隔通常有助于减少过拟合现象。

++几何解释++:假设数据集是线性可分的,即数据集中的样本点可以通过一个超平面分为两类。分类超平面将数据集分为两部分,间隔就是指这两个类别的样本中,离超平面最近的样本到超平面的距离。SVM试图找到一个超平面,使得这个间隔最大化。

++数学表达++: 对于一个线性可分的二分类问题,假设我们有一个超平面:

其中 w是超平面的法向量,决定了超平面的方向,b是位移项,决定了超平面与原点之间的距离,x 是输入样本,记为

样本空间中任意点 x到超平面的距离,计算公式为:

其中,||w|| 是超平面法向量 w 的范数。

对于离超平面最近的正类样本,满足 w⋅x+b=1。

对于离超平面最近的负类样本,满足 w⋅x+b=−1。

2. 支持向量(Support Vectors)

++支持向量++是指那些位于分类间隔边界(即离超平面最近的样本点)上的样本点。这些点对于确定分类超平面的位置至关重要。换句话说,支持向量是决定分类决策边界的关键点。

++间隔++是指两个异类支持向量到超平面的距离之和。

++数学表达++:对于每个支持向量 xi,它们满足以下条件:

间隔的公式为:

3. 最大间隔分类的优化问题

SVM的目标是通过最大化间隔来提高分类器的泛化能力。

如何找到最大间隔,找到满足支持向量条件约束的w、b,使得 γ 最大,即

为了使||w||最小化,式子重写为

二、对偶问题

SVM的核心优化问题是一个约束优化问题,可以通过引入拉格朗日乘子法来转化为对偶问题。在原始问题中,我们通过最大化间隔来选择最优超平面,但对偶问题的引入使得问题的求解更加高效,尤其是在高维空间中。

对最大化间隔重写后的式子(即上一张图片)的每条约束添加拉格朗日乘子,则该问题的拉格朗日函数可写为

经过一系列计算(书本P123页)后,解出 α 后,求出 ω 与 b 即得到模型

其中,要求满足KKT(Karush-Kuhn-Tucker)约束条件

如何了解KKT,这里有篇大佬的文章,讲得十分详细,深入理解并应用KTT求解约束性极值问题_kkt条件-CSDN博客

对偶问题的一个重要特点是,它可以通过内积计算,使得SVM的计算变得更加高效,并能够使用核函数进行高维映射。

三、核函数

1. 定义

核函数 K(x,x′) 是一个函数,它计算两个数据点 x 和 x′ (两个向量)在映射到高维空间后的内积,在支持向量机中这样表示:

将其放在对偶公式中后,可以得到以下的公式:

求解后的展示亦称"支持向量展式 "。

2.核矩阵

假设我们有一个数据集 {x1,x2,...,xn},每个数据点xi∈Rd,核函数 K(x,x′)表示两个数据点 xx 和 x′x′ 之间的相似度或内积。核矩阵 K是一个n×n的对称矩阵,其每个元素Kij由核函数计算得到,表示样本xi和xj之间的相似度:

只要一个对称函数所对应的核矩阵半正定,它就能作为核函数使用.事实上,对于一个半正定核矩阵,总能找到一个与之对应的映射 换言之,任何一个核函数都隐式地定义了一个称为"再生核希尔伯特空间"(RKHS)的特征空间。

3. 常见的核函数
4.核函数的性质

1.若 κ1 和 κ2 为核函数,则对于任意正数 γ1 、γ12,其线性组合也是核函数;

2.若 κ1 和 κ2 为核函数,则核函数的直积也是核函数;

  1. 若 κl 为核函数,则对于任意函数 g (x),也是核函数.

四、软间隔与正则化

1. 软间隔(Soft Margin)

++软间隔(Soft Margin SVM)++: 在软间隔SVM中,我们允许某些样本在边界内或被错误分类,这样就不会强求所有数据点都严格满足硬间隔的条件。为了做到这一点,通常引入一个松弛变量 ξi,表示每个样本距离超平面的程度(即允许某些数据点违反间隔的限制)。优化目标是最小化一个包含松弛变量的损失函数。它要求不是所有样本都满足以下约束:

++硬间隔(Hard Margin SVM)++:要求所有训练样本都被正确分类,并且位于超平面两侧的边界之外。它要求所有样本满足支持向量约束的条件。它符合对于含有噪声或非线性可分的情况,它容易过拟合。

软间隔的条件下,最大间隔的优化公式如下,

其中,

C 为无穷大时,所有样本均满足约束 ,硬间隔; 当 C 取有限值时,允许一些样本不满足约束,软间隔。

因为"0/1损失函数"非凸、非连续,数学性质不太好,使得优化公式不易直接求解.于

是,人们通常用其他一些函数来代替 ,称为"替代损失" (surrogate 10ss)函数,常用的代替损失函数如下:

2. 正则化(Regularization)

正则化是机器学习中防止过拟合的一种技术,它通过在优化目标中加入额外的项,约束模型的复杂度,从而提高模型的泛化能力。

在SVM中,正则化通过引入一个调节因子C来控制软间隔的大小,具体如下:

当 C较大时,模型更倾向于减少误分类,间隔较小,可能导致过拟合。

当 C较小时,模型允许更多的误分类,从而增加间隔的大小,可能导致欠拟合。

五、支持向量回归(SVR)

1. 定义

SVR的基本思想是,在回归问题中,我们试图找到一个函数来预测目标值 y,使得在大部分数据点上,预测值与真实值的差异不超过一个设定的阈值(通常称为epsilon)。同时,我们希望找到的回归函数尽量平滑,并且不容易受到噪声或异常值的影响。侧重点更侧重于回归问题,而不是分类问题。

2. SVR的数学模型

目标是通过调整回归函数 f(x) 的参数,使得大多数数据点的误差在ϵ内,同时最小化模型的复杂度。

六、核方法

若不考虑偏移项 b ,则无论 SVM 还是 SVR,学得的模型总能表示成核函数的线性组合。

存在定理:

表示应理对损失函数没有限制,对正则化项 仅要求单调递增,甚至不要求是凸函数,意味着对于一般的损失函数和正则化项,优化问题(6.57) 的最优解 h*(x) 都可表示为核函数 κ (x ,xxi) 的线性组合;这显示出核函数的巨大威力.

人们发展出一系列基于核函数的学习方法,统称为"核方法" (kernelmethods). 最常见的,是通过"核化" (即引入核函数)来将线性学习器拓展为非线性学习器.

七、参考文献

1.周志华《机器学习》

2.Releases · datawhalechina/pumpkin-book · GitHub

3.机器学习------支持向量机基本型(SVM)及对偶问题推导_支持向量机对偶问题-CSDN博客

相关推荐
亦枫Leonlew18 分钟前
三维测量与建模笔记 - 5.3 光束法平差(Bundle Adjustment)
笔记·计算机视觉·三维重建·光束法平差
Lbs_gemini06031 小时前
C++研发笔记14——C语言程序设计初阶学习笔记12
c语言·开发语言·c++·笔记·学习
MC何失眠1 小时前
vulnhub靶场【哈利波特】三部曲之Fawkes
网络·python·学习·网络安全
MarisolHu2 小时前
前端学习笔记-Vue篇-02
前端·vue.js·笔记·学习
霖大侠2 小时前
Adversarial Learning forSemi-Supervised Semantic Segmentation
人工智能·算法·机器学习
先知demons3 小时前
uniapp开发微信小程序笔记10-触底加载
前端·笔记·微信小程序·小程序·uni-app
B1nna3 小时前
外卖开发(三)开发笔记——AOP实现实现公共字段填充、主键回显、抛异常和事务管理
笔记
我的老子姓彭3 小时前
C++学习笔记
c++·笔记·学习
CQU_JIAKE4 小时前
3.29【机器学习】第五章作业&实现
人工智能·算法·机器学习
望云山1904 小时前
机器学习概述,特征工程简述2.1——2.3
人工智能·机器学习