Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
hands-on-ml-zh
提交
ebc8fb32
H
hands-on-ml-zh
项目概览
OpenDocCN
/
hands-on-ml-zh
通知
13
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
H
hands-on-ml-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
ebc8fb32
编写于
4月 24, 2018
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ch5 pic
上级
8f0596da
变更
14
隐藏空白更改
内联
并排
Showing
14 changed file
with
12 addition
and
12 deletion
+12
-12
docs/5.支持向量机.md
docs/5.支持向量机.md
+12
-12
images/chapter_5/5-10.jpg
images/chapter_5/5-10.jpg
+0
-0
images/chapter_5/5-11.jpg
images/chapter_5/5-11.jpg
+0
-0
images/chapter_5/5-12.jpg
images/chapter_5/5-12.jpg
+0
-0
images/chapter_5/5-13.jpg
images/chapter_5/5-13.jpg
+0
-0
images/chapter_5/5-2.jpg
images/chapter_5/5-2.jpg
+0
-0
images/chapter_5/5-3.jpg
images/chapter_5/5-3.jpg
+0
-0
images/chapter_5/5-4.jpg
images/chapter_5/5-4.jpg
+0
-0
images/chapter_5/5-5.jpg
images/chapter_5/5-5.jpg
+0
-0
images/chapter_5/5-6.jpg
images/chapter_5/5-6.jpg
+0
-0
images/chapter_5/5-7.jpg
images/chapter_5/5-7.jpg
+0
-0
images/chapter_5/5-8.jpg
images/chapter_5/5-8.jpg
+0
-0
images/chapter_5/5-9.jpg
images/chapter_5/5-9.jpg
+0
-0
images/chapter_5/5-hinge.jpg
images/chapter_5/5-hinge.jpg
+0
-0
未找到文件。
docs/5.支持向量机.md
浏览文件 @
ebc8fb32
...
...
@@ -216,7 +216,7 @@ svm_poly_reg.fit(X, y)
线性 SVM 分类器通过简单地计算决策函数 $w
\c
dot x+b = w_1 x_1 + ... + w_n x_n + b$ 来预测新样本的类别:如果结果是正的,预测类别
`ŷ`
是正类,为 1,否则他就是负类,为 0。见公式 5-2
![](
../images/chapter_5/eq-5-2.
jpg
)
![](
../images/chapter_5/eq-5-2.
gif
)
图 5-12 显示了和图 5-4 右边图模型相对应的决策函数:因为这个数据集有两个特征(花瓣的宽度和花瓣的长度),所以是个二维的平面。决策边界是决策函数等于 0 的点的集合,图中两个平面的交叉处,即一条直线(图中的实线)
...
...
@@ -235,7 +235,7 @@ svm_poly_reg.fit(X, y)
因此,我们可以将硬间隔线性 SVM 分类器表示为公式 5-3 中的约束优化问题
![](
../images/chapter_5/eq-5-3.
jpg
)
![](
../images/chapter_5/eq-5-3.
gif
)
> 注
>
...
...
@@ -243,14 +243,14 @@ svm_poly_reg.fit(X, y)
为了获得软间隔的目标,我们需要对每个样本应用一个松弛变量(slack variable)$
\z
eta^{(i)}
\g
e 0$。$
\z
eta^{(i)}$ 表示了第
`i`
个样本允许违规间隔的程度。我们现在有两个不一致的目标:一个是使松弛变量尽可能的小,从而减小间隔违规,另一个是使
`1/2 w·w`
尽量小,从而增大间隔。这时
`C`
超参数发挥作用:它允许我们在两个目标之间权衡。我们得到了公式 5-4 的约束优化问题。
![](
../images/chapter_5/eq-5-4.
jpg
)
![](
../images/chapter_5/eq-5-4.
gif
)
## 二次规划
硬间隔和软间隔都是线性约束的凸二次规划优化问题。这些问题被称之为二次规划(QP)问题。现在有许多解决方案可以使用各种技术来处理 QP 问题,但这超出了本书的范围。一般问题的公式在公式 5-5 给出。
![](
../images/chapter_5/eq-5-5.
jpg
)
![](
../images/chapter_5/eq-5-5.
gif
)
注意到表达式
`Ap ≤ b`
实际上定义了 $n_c$ 约束: $p^T a^{(i)}
\l
e b^{(i)}, for i = 1, 2, ..., n$,$a^{(i)}$ 是个包含了
`A`
的第
`i`
行元素的向量,$b^{(i)}$是
`b`
的第
`i`
个元素。
...
...
@@ -272,11 +272,11 @@ svm_poly_reg.fit(X, y)
给出一个约束优化问题,即原始问题(primal problem),它可能表示不同但是和另一个问题紧密相连,称为对偶问题(Dual Problem)。对偶问题的解通常是对原始问题的解给出一个下界约束,但在某些条件下,它们可以获得相同解。幸运的是,SVM 问题恰好满足这些条件,所以你可以选择解决原始问题或者对偶问题,两者将会有相同解。公式 5-6 表示了线性 SVM 的对偶形式(如果你对怎么从原始问题获得对偶问题感兴趣,可以看下附录 C)
![](
../images/chapter_5/eq-5-6.
jpg
)
![](
../images/chapter_5/eq-5-6.
gif
)
一旦你找到最小化公式的向量
`α`
(使用 QP 解决方案),你可以通过使用公式 5-7 的方法计算
`w`
和
`b`
,从而使原始问题最小化。
![](
../images/chapter_5/eq-5-7.
jpg
)
![](
../images/chapter_5/eq-5-7.
gif
)
当训练样本的数量比特征数量小的时候,对偶问题比原始问题要快得多。更重要的是,它让核技巧成为可能,而原始问题则不然。那么这个核技巧是怎么样的呢?
...
...
@@ -285,11 +285,11 @@ svm_poly_reg.fit(X, y)
假设你想把一个 2 次多项式变换应用到二维空间的训练集(例如卫星数据集),然后在变换后的训练集上训练一个线性SVM分类器。公式 5-8 显示了你想应用的 2 次多项式映射函数
`ϕ`
。
![](
../images/chapter_5/eq-5-8.
jpg
)
![](
../images/chapter_5/eq-5-8.
gif
)
注意到转换后的向量是 3 维的而不是 2 维。如果我们应用这个 2 次多项式映射,然后计算转换后向量的点积(见公式 5-9),让我们看下两个 2 维向量
`a`
和
`b`
会发生什么。
![](
../images/chapter_5/eq-5-9.
jpg
)
![](
../images/chapter_5/eq-5-9.
gif
)
转换后向量的点积等于原始向量点积的平方:$
\p
hi(a)^T
\p
hi(b) = (a^T b)^2$
...
...
@@ -297,7 +297,7 @@ svm_poly_reg.fit(X, y)
函数 $K(a, b) = (aT b)^2$ 被称为二次多项式核(polynomial kernel)。在机器学习,核函数是一个能计算点积的函数,并只基于原始向量
`a`
和
`b`
,不需要计算(甚至知道)转换
`ϕ`
。公式 5-10 列举了一些最常用的核函数。
![](
../images/chapter_5/eq-5-10.
jpg
)
![](
../images/chapter_5/eq-5-10.
gif
)
> Mercer 定理
>
...
...
@@ -307,11 +307,11 @@ svm_poly_reg.fit(X, y)
我们还有一个问题要解决。公式 5-7 展示了线性 SVM 分类器如何从对偶解到原始解,如果你应用了核技巧那么得到的公式会包含 $
\p
hi(x^{(i)})$。事实上,
`w`
必须和 $
\p
hi(x^{(i)})$ 有同样的维度,可能是巨大的维度或者无限的维度,所以你很难计算它。但怎么在不知道
`w`
的情况下做出预测?好消息是你可以将公式 5-7 的
`w`
代入到新的样本 $x^{(n)}$ 的决策函数中,你会得到一个在输入向量之间只有点积的方程式。这时,核技巧将派上用场,见公式 5-11
![](
../images/chapter_5/eq-5-11.
jpg
)
![](
../images/chapter_5/eq-5-11.
gif
)
注意到支持向量才满足
`α(i)≠0`
,做出预测只涉及计算为支持向量部分的输入样本 $x^{(n)}$ 的点积,而不是全部的训练样本。当然,你同样也需要使用同样的技巧来计算偏置项
`b`
,见公式 5-12
![](
../images/chapter_5/eq-5-12.
jpg
)
![](
../images/chapter_5/eq-5-12.
gif
)
如果你开始感到头痛,这很正常:因为这是核技巧一个不幸的副作用
...
...
@@ -320,7 +320,7 @@ svm_poly_reg.fit(X, y)
在结束这一章之前,我们快速地了解一下在线 SVM 分类器(回想一下,在线学习意味着增量地学习,不断有新实例)。对于线性SVM分类器,一种方式是使用梯度下降(例如使用
`SGDClassifire`
)最小化代价函数,如从原始问题推导出的公式 5-13。不幸的是,它比基于 QP 方式收敛慢得多。
![](
../images/chapter_5/eq-5-13.
jpg
)
![](
../images/chapter_5/eq-5-13.
gif
)
代价函数第一个和会使模型有一个小的权重向量
`w`
,从而获得一个更大的间隔。第二个和计算所有间隔违规的总数。如果样本位于“街道”上和正确的一边,或它与“街道”正确一边的距离成比例,则间隔违规等于 0。最小化保证了模型的间隔违规尽可能小并且少。
...
...
images/chapter_5/5-10.jp
e
g
→
images/chapter_5/5-10.jpg
浏览文件 @
ebc8fb32
文件已移动
images/chapter_5/5-11.jp
e
g
→
images/chapter_5/5-11.jpg
浏览文件 @
ebc8fb32
文件已移动
images/chapter_5/5-12.jp
e
g
→
images/chapter_5/5-12.jpg
浏览文件 @
ebc8fb32
文件已移动
images/chapter_5/5-13.jp
e
g
→
images/chapter_5/5-13.jpg
浏览文件 @
ebc8fb32
文件已移动
images/chapter_5/5-2.jp
e
g
→
images/chapter_5/5-2.jpg
浏览文件 @
ebc8fb32
文件已移动
images/chapter_5/5-3.jp
e
g
→
images/chapter_5/5-3.jpg
浏览文件 @
ebc8fb32
文件已移动
images/chapter_5/5-4.jp
e
g
→
images/chapter_5/5-4.jpg
浏览文件 @
ebc8fb32
文件已移动
images/chapter_5/5-5.jp
e
g
→
images/chapter_5/5-5.jpg
浏览文件 @
ebc8fb32
文件已移动
images/chapter_5/5-6.jp
e
g
→
images/chapter_5/5-6.jpg
浏览文件 @
ebc8fb32
文件已移动
images/chapter_5/5-7.jp
e
g
→
images/chapter_5/5-7.jpg
浏览文件 @
ebc8fb32
文件已移动
images/chapter_5/5-8.jp
e
g
→
images/chapter_5/5-8.jpg
浏览文件 @
ebc8fb32
文件已移动
images/chapter_5/5-9.jp
e
g
→
images/chapter_5/5-9.jpg
浏览文件 @
ebc8fb32
文件已移动
images/chapter_5/5-hinge.jp
e
g
→
images/chapter_5/5-hinge.jpg
浏览文件 @
ebc8fb32
文件已移动
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录