IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 机器学习笔记(第六章支持向量机) -> 正文阅读

[人工智能]机器学习笔记(第六章支持向量机)

机器学习(周志华著) Datawhale打卡第四天

第六章 支持向量机

基本
  • 为什么使用支持向量

对于给定训练集 D = { ( x 1 , y 1 ) , . . . , ( x m , y m ) } , y ∈ { ? 1 , + 1 } D=\{(x_1,y_1),...,(x_m,y_m)\},y\in\{-1,+1\} D={(x1?,y1?),...,(xm?,ym?)},y{?1,+1}二分类问题,之前的线性回归的思想是在样本空间找到一个划分超平面,但如下图所示,将样本划分的超平面可能有很多,我们如何得知哪个超平面是最佳的呢。

在这里插入图片描述

直观上看,两堆样本的“正中间”的划分超平面,对样本局部扰动的“容忍”性最好。例如,当训练集由于局限性或者噪声的因素而产生一些接近分隔平面的样本点时,其他划分平面会更容易出现错误,而最中间的超平面受影响最小,即“鲁棒”性最好,如何找到这个超平面,就是支持向量机的任务。

  • 支持向量

样本空间中,划分超平面用如下方程描述:
w T x + b = 0 其 中 w = { w 1 , w 2 , . . . , w d } 为 法 向 量 , b 为 位 移 项 w^Tx+b=0\\ 其中w=\{w_1,w_2,...,w_d\}为法向量,b为位移项 wTx+b=0w={w1?,w2?,...,wd?},b
样本中任意点到超平面的距离 r = ∣ w T x + b ∣ ∣ ∣ w ∣ ∣ r=\frac{|w^Tx+b|}{||w||} r=wwTx+b?,由于这个公式比较重要,下面来证明
证 : 设 任 意 一 点 为 x 0 = ( x 1 0 , x 2 0 , . . . , x n 0 ) T 其 在 超 平 面 上 的 投 影 点 为 x 1 = ( x 1 1 , x 2 1 , . . . , x n 1 ) T 有 w T x 1 + b = 0 , 且 有 x 1 x 0 ? 与 法 向 量 w 平 行 因 此 ∣ w . x 1 x 0 ? ∣ = ∣ ∣ w ∣ ∣ . ∣ ∣ x 1 x 0 ? ∣ ∣ = ∣ ∣ w ∣ ∣ . r w . x 1 x 0 ? = w 1 ( x 1 0 ? x 1 1 ) + . . . w n ( x n 0 ? x n 1 ) = w T x 0 ? w T x 1 = w T x 0 + b 即 r x 0 = ∣ w T x 0 + b ∣ ∣ ∣ w ∣ ∣ 证:设任意一点为x_0=(x_1^0,x_2^0,...,x_n^0)^T\\ 其在超平面上的投影点为x_1=(x_1^1,x_2^1,...,x_n^1)^T\\ 有w^Tx_1+b=0,且有\vec{x_1x_0}与法向量w平行\\ 因此|w.\vec{x_1x_0}|=||w||.||\vec{x_1x_0}||=||w||.r\\ \begin{aligned} w.\vec{x_1x_0}&=w_1(x_1^0-x_1^1)+...w_n(x_n^0-x_n^1)\\ &=w^Tx_0-w^Tx_1\\ &=w^Tx_0+b \end{aligned} \\ 即r_{x_0}=\frac{|w^Tx_0+b|}{||w||} x0?=(x10?,x20?,...,xn0?)Tx1?=(x11?,x21?,...,xn1?)TwTx1?+b=0,x1?x0? ?ww.x1?x0? ?=w.x1?x0? ?=w.rw.x1?x0? ??=w1?(x10??x11?)+...wn?(xn0??xn1?)=wTx0??wTx1?=wTx0?+b?rx0??=wwTx0?+b?

假设超平面 ( w , b ) (w,b) (w,b)能将样本正确分类,对于二分类的正样本 y i = + 1 y_i=+1 yi?=+1,与负样本 y i = ? 1 y_i=-1 yi?=?1,其应该满足:
{ w T x i + b ≥ + 1 , y i = + 1 w T x i + b ≤ ? 1 , y i = + 1 \begin{cases} & w^Tx_i+b\ge +1 ,y_i=+1\\ & w^Tx_i+b\le -1,y_i=+1 \end{cases} {?wTxi?+b+1,yi?=+1wTxi?+b?1,yi?=+1?
其中,存在缩放变换 ? w ? w ′ 和 ? b ? b ′ \varsigma w\longmapsto w'\text和\varsigma b\longmapsto b' ?w?w?b?b,使得距离超平面最近的几个样本点,可使上式等号成立,如图所示,

在这里插入图片描述

这些使等号成立的向量被称为“支持向量”。

它们到超平面的距离之和为 γ = 2 ∣ ∣ w ∣ ∣ \gamma=\frac{2}{||w||} γ=w2?,称为“间隔”。

支持向量的任务便转化为寻找“最大间隔”的划分超平面,即找到合适的 w , b w,b w,b,使得
max ? w , b 2 ∣ ∣ w ∣ ∣ s . t . ? y i ( w T x i + b ) ≥ 1 , ? i = 1 , 2... , m \max_{w,b}\frac{2}{||w||} \\ s.t. \ y_i(w^Tx_i+b)\ge 1,\ i=1,2...,m w,bmax?w2?s.t.?yi?(wTxi?+b)1,?i=1,2...,m
而最大化 ∣ ∣ w ∣ ∣ ? 1 ||w||^{-1} w?1等价于最小化 ∣ ∣ w ∣ ∣ 2 ||w||^2 w2,于是上式可重写为
min ? w , b 1 2 ∣ ∣ w ∣ ∣ 2 s . t . ? y i ( w T x i + b ) ≥ 1 , ? i = 1 , 2... , m \min_{w,b}\frac{1}{2}||w||^2\\ s.t. \ y_i(w^Tx_i+b)\ge 1,\ i=1,2...,m w,bmin?21?w2s.t.?yi?(wTxi?+b)1,?i=1,2...,m
这就是支持向量机(Support Vector Machine,SVM)的基本型。

  • 对偶问题

基本型可以直接用现成的优化方法求解,但是求解其对偶问题更为高效。

对基本型使用拉格朗日乘子法可得到其“对偶问题”

L ( w , b , α ) = 1 2 ∣ ∣ w ∣ ∣ 2 + ∑ i = 1 m α i ( 1 ? y i ( w T x i + b ) ) 令 ? L ? w = 0 , ? L ? b = 0 得 w = ∑ i = 1 m α i y i x i 0 = ∑ i = 1 m α i y i L(w,b,\alpha)=\frac{1}{2}||w||^2+\sum_{i=1}^{m}\alpha_i (1-y_i(w^Tx_i+b))\\ 令\frac{\partial L}{\partial w}=0,\frac{\partial L}{\partial b}=0\\ 得w=\sum_{i=1}^{m}\alpha_iy_ix_i\\ 0=\sum_{i=1}^{m}\alpha_iy_i\\ L(w,b,α)=21?w2+i=1m?αi?(1?yi?(wTxi?+b))?w?L?=0,?b?L?=0w=i=1m?αi?yi?xi?0=i=1m?αi?yi?
代入得对偶问题
max ? α ∑ i = 1 m α i ? 1 2 ∑ i = 1 m ∑ j = 1 m α i α j y i y j x i T x j s . t . ? ∑ i = 1 m α i y i = 0 , α i ≥ 0 , ? i = 1 , 2 , . . . , m \max_{\alpha}\sum_{i=1}^{m}\alpha_i-\frac{1}{2}\sum_{i=1}^{m}\sum_{j=1}^{m}\alpha_i\alpha_jy_iy_jx_i^Tx_j\\ s.t. \ \sum_{i=1}^{m}\alpha_iy_i=0,\\ \alpha_i\ge0,\ i=1,2,...,m\\ αmax?i=1m?αi??21?i=1m?j=1m?αi?αj?yi?yj?xiT?xj?s.t.?i=1m?αi?yi?=0,αi?0,?i=1,2,...,m
以及KKT条件
{ α i ≥ 0 y i f ( x i ) ? 1 ≥ 0 α i ( y i f ( x i ) ? 1 ) = 0 \begin{cases} & \alpha _i\ge 0 \\ & y_if(x_i)-1\ge 0\\ & \alpha _i(y_if(x_i)-1)=0 \end{cases} ???????αi?0yi?f(xi?)?10αi?(yi?f(xi?)?1)=0?

算法的求解比较复杂,后面再写。。。

  • 未完待续。。。
  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章           查看所有文章
加:2022-01-28 11:54:55  更:2022-01-28 11:57:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 22:51:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码