Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
ml-book-100-zh
提交
8275e0d8
M
ml-book-100-zh
项目概览
OpenDocCN
/
ml-book-100-zh
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
ml-book-100-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
8275e0d8
编写于
12月 17, 2019
作者:
飞
飞龙
提交者:
GitHub
12月 17, 2019
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #14 from PEGASUS1993/master
更新完第一章
上级
52abcef2
308d074e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
25 addition
and
3 deletion
+25
-3
doc/1.md
doc/1.md
+25
-3
未找到文件。
doc/1.md
浏览文件 @
8275e0d8
...
...
@@ -7,7 +7,7 @@
机器学习也可以定义为通过收集数据集来解决实际问题的过程。假设这个统计模型是用来解决实际问题的。
我
交替使用“学习”和“机器学习”这两个术语。
本书
交替使用“学习”和“机器学习”这两个术语。
## 1.2学习类型
学习可以是监督的、半监督的、非监督的和强化的。
...
...
@@ -82,22 +82,44 @@ SVM将每个特征向量看作高维空间中的一个点(在我们的例子中
学习算法 (本例中为 SVM)的目标是利用数据集并查找参数w
<sup>
星号
</sup>
和b
<sup>
*
</sup>
的最佳值w和b。
一旦学习算法确定然后,将模型f(x)定义为:
f(x) = sign(w
<sup>
*
</sup>
x − b
<sup>
星
</sup>
)
f(x) = sign(w
<sup>
*
</sup>
x − b
<sup>
*
</sup>
)
因此,要使用SVM模型预测电子邮件是垃圾邮件还是非垃圾邮件,您必须获取消息的文本,将其转换为特征向量,然后将其相乘
w
<sup>
*
</sup>
的向量,减去b
<sup>
*
</sup>
,并取符号作为结果。 这将给我们预测(+1表示“垃圾邮件”,-1表示“ 非垃圾邮件”)。
现在,机器如何找到w
<sup>
*
</sup>
和b
<sup>
*
</sup>
? 它解决了优化问题。 机器是擅长在约束下处理优化问题的。
那么我们要在这里满足哪些约束? 首先,我们希望模型能够正确预测10,000个示例的标签。 请记住,每个示例i = 1。 。 。 ,10000由一对(x
<sub>
i
</sub>
,y
<sub>
i
</sub>
)给出,其中x
<sub>
i
</sub>
是示例i的特征向量,而y
<sub>
i
</sub>
是其标签,其标签使用值-1或+1。 因此,约束自然是:
wx
<sub>
i
</sub>
− b ≥ +1 当 y
<sub>
i
</sub>
= +1,
wx
<sub>
i
</sub>
− b ≤ −1 当 y
<sub>
i
</sub>
= −1。
我们也希望超平面将具有最大限量的正例与负例分开。
**决策**
距离是两个类别的最接近示例之间的距离,由决策边界定义。 较大的决策距离有助于更好的泛化,这就是模型将来对新示例进行分类的程度。为此,我们需要
最小化w的欧几里得范数,表示为||w||,由!
[](
https://i.imgur.com/RoHUALP.png
)
计算得来。
因此,我们要机器解决的优化问题看起来像这样:
最小化||w||, 服从 y
<sub>
i
</sub>
(wx
<sub>
i
</sub>
-b)≥1,i=1,...N。表达式y
<sub>
i
</sub>
(wx
<sub>
i
</sub>
-b)≥1只是上面两个约束的一种紧凑方式。
由w
<sup>
*
</sup>
和b
<sup>
*
</sup>
给出的此优化问题的解决方案称为统计模型,或简称为模型。 建立模型的过程称为训练。
对于二维特征向量,问题和解决方案如图1.1所示。蓝色和橙色圆圈分别表示正例和负例,并且wx-b = 0给出的线是决策边界。
为什么通过最小化w的范数来找到两个类别之间的最大边界范围?如图1.1所示,从几何上讲,方程wx-b = 1和wx-b = -1定义了两个平行的超平面,这些超平面之间的距离为2/||w||,因此,范数||w||越小,这两个超平面之间的距离越大。
支持向量机就是这样工作的。该算法的特定版本建立了所谓的线性模型。之所以称为线性,是因为决策边界是直线(或平面或超平面)。 SVM还可以合并内核,这些内核可以使决策边界任意非线性化。在某些情况下,由于数据中的噪声,标注错误或离群值(示例与数据集中的“典型”示例截然不同),可能无法完全分离两组点。 SVM的另一个版本也可以包含惩罚超参数,用于对特定类别的训练示例进行错误分类。我们将在第3章中更详细地研究SVM算法。
此时,您应该保留以下内容:任何隐式或显式构建模型的分类学习算法都会创建决策边界。决策边界可以是直的或弯曲的,或者可以具有复杂的形式,也可以是某些几何图形的叠加。决策边界的形式决定了模型的准确性(即正确预测了标签示例的比例)。决策边界的形式(基于训练数据进行算法或数学计算的方式)将一种学习算法与另一种学习算法区分开。
在实践中,还需要考虑学习算法的其他两个基本区别:模型构建的速度和预测处理时间。 在许多实际情况下,您可能希望使用一种学习算法,该算法可以快速建立不太准确的模型。 此外,您可能更喜欢精度较低的模型,该模型可以更快地进行预测。
## 1.4 模型为什么适用于新数据
为什么机器学习模型能够正确预测以前新示例看不到的标签?要理解这一点,请查看图 1.1 中的图。如果两个类通过决策边界彼此分离,则属于每个类的示例显然位于决策边界创建的两个不同的子空间中。
如果用于训练的示例是随机选择的,彼此独立,并遵循相同的过程,那么,从统计上看,新的负例更有可能位于离其他负例不远的图上。同样,新的正例它很可能围绕在自其他正例。在这种情况下,我们的决定边界仍然极有可能将新的正负两方面的例子分开。对于其他不太可能的情况,我们的模型会出错,但由于此类情况的可能性较小,因此错误数可能小于正确预测的数量。
直观地说,训练示例集越大,
**新示例与用于训练的示例,
不同的可能性就越小
。**
(还需校对)。
直观地说,训练示例集越大,
**新示例与用于训练的示例,
相同的可能性就越大
。**
(还需校对)。
为了尽可能降低在新示例中出错的可能性,SVM 算法通过查找最大的边距,精确试图绘制决策边界,使它尽可能远离从两个类的示例。
有兴趣更多地了解可学习性和了解模型误差之间的密切关系,训练集的大小,数学方程的形式定义模型,构建模型所需的时间的读者,鼓励阅读有关PAC的内容。PAC("可能近似正确")学习理论有助于分析学习算法在什么条件下或者说可能在什么条件下输出一个近似正确的分类器。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录