| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 周志华西瓜书学习笔记(六) -> 正文阅读 |
|
[数据结构与算法]周志华西瓜书学习笔记(六) |
周志华西瓜书学习笔记(六)支持向量机 6.1间隔与支持向量1.线性可分如图所示,要将两类点分开,有很多直线都能做到。但是,如果希望训练出一条直线在测试集上也有很好的表现,应该找位于两类训练样本“正中间”的直线,也称划分超平面。这个划分超平面所产生的分类结果是最
2.支持向量划分超平面的线性方程式: w T x + b = 0 w^Tx+b=0 wTx+b=0 对一个划分平面,每个分类点到划分平面的距离是
r
=
∣
w
T
x
+
b
∣
∣
∣
w
∣
∣
r=\frac{|w^Tx+b|}{||w||}
r=∣∣w∣∣∣wTx+b∣?? 如图所示,距离超平面最近的这几个训练样本点称为“支持向量”。
6.2对偶问题1.拉格朗日乘数法
由上式(6.11)对偶形式可知, 2.SMO算法求解SMO(Sequential Minimal Optimization),序列最小优化算法,其核心思想非常简单:每次只优化一个参数,其他参数先固定住,仅求当前这个优化参数的极值。
6.3软间隔与正则化1.软间隔对于一些线性不可分的情况,我们允许部分样本点不满足约束条件:
1
?
y
i
(
w
T
x
i
+
b
)
≤
0
1-y_i(w^Tx_i+b)\leq0
1?yi?(wTxi?+b)≤0 为了度量这个间隔软到何种程度,我们为每个样本引入一个松弛变量,因此优化目标可以写为:
m
i
n
w
,
b
,
ξ
i
??
1
2
∥
w
∥
2
+
C
∑
i
=
1
m
ξ
i
min_{w,b,\xi_i}\ \ \frac{1}{2}\Vert w \Vert^2+ C\sum_{i=1}^m\xi_i
minw,b,ξi????21?∥w∥2+C∑i=1m?ξi?,其中
ξ
i
≥
0
\xi_i \geq0
ξi?≥0为松弛变量,也代表了一种损失函数。而损失函数的具体形式有多种, 因此,可以得到软支持向量机的基本形式: 2.优化目标及求解通过拉格朗日乘子法求解,得 将各片偏导结果代入拉格朗日函数中,得到 我们可以看到软间隔和硬间隔形式一样,两者唯一的区别就在于对偶变量的约束不同:前者是 0 ≤ α i ≤ C 0\le\alpha_i\le C 0≤αi?≤C,后者是 0 ≤ α i 0\le \alpha_i 0≤αi?,于是可以采取同样的SMO算法求解。 在这里对软支持向量机,有如下KKT条件要求 于是,对任意训练样本 ( x i , y i ) (x_i,y_i) (xi?,yi?)????,总有 α i = 0 \alpha_i=0 αi?=0????或 y i f ( x i ) = 1 ? ξ i y_if(x_i)=1-ξ_i yi?f(xi?)=1?ξi?????。若 α i = 0 \alpha_i=0 αi?=0????,则该样本不会对f(x)有任何影响;若 y i f ( x i ) = 1 ? ξ i y_if(x_i)=1-ξ_i yi?f(xi?)=1?ξi?????,即该样本是支持向量:由式(6.39)可知,若 α i < C \alpha_i < C αi?<C??,则 μ i > 0 μ_i> 0 μi?>0??,进而有 ξ i = 0 \xi_i=0 ξi?=0??,即该样本恰在最大间隔边界上;若 α i = C \alpha_i=C αi?=C??,则有 μ i = 0 μ_i=0 μi?=0??,此时若 ξ i ≤ 1 \xi_i\le1 ξi?≤1??则该样本落在最大间隔内部,若 ξ i > 1 \xi_i> 1 ξi?>1?则该样本被错误分类。由此可看出,软间隔支持向量机的最终模型仅与支持向量有关,即通过采用hinge损失函数仍保持了稀疏性。 使用SMO算法继续求解得: 3.正则化对于软间隔有更一般的写法,主要考虑模型自身的表现以及衡量模型复杂度避免过拟合。 参考: |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/25 17:44:58- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |