机器学习基石训练与测试

Posted 桃陉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习基石训练与测试相关的知识,希望对你有一定的参考价值。


写在前面

本节首先对前面的内容进行了回顾,然后提出两个核心问题,接着讨论了对hypothesis的分类,然后引出了成长函数和break point。

本文整理自台湾大学林轩田的《机器学习基石》


1. 回顾和预览(Recap and Preview)


对于机器学习来说,当样本 M M M 足够多并且 H y p o t h e s i s Hypothesis Hypothesis 个数有限时,通过演算法 A A A 得到的 g g g 基本上会满足 E o u t ( g ) ≈ E i n ( g ) E_{out}(g)≈E_{in}(g) Eout(g)Ein(g),此时选择一个较小的 E i n ( g ) E_{in}(g) Ein(g), 机器学习会有一个好的结果。

∙ \\bullet 回顾:对于批量处理样本具有监督式学习二元分类问题来说(第三节),我们尽量要使 g ≈ f g≈f gf,此时存在 E o u t ( g ) ≈ 0 E_{out}(g)≈0 Eout(g)0(第一节),同时使得 E o u t ( g ) ≈ E i n ( g ) E_{out}(g)≈E_{in}(g) Eout(g)Ein(g)(第四节)和 E i n ( g ) ≈ 0 E_{in}(g)≈0 Ein(g)0(第二节) 成立。

∙ \\bullet 处理两个核心问题

▹ \\triangleright 我们如何确认 E o u t ( g ) E_{out}(g) Eout(g) E i n ( g ) E_{in}(g) Ein(g) 很接近?

▹ \\triangleright 我们如何使得 E i n ( g ) E_{in}(g) Ein(g) 尽可能的小?

∙ \\bullet 样本数量M的两种情况

▹ \\triangleright M比较小时:得到的 h y p o t h e s i s hypothesis hypothesis 比较少,所以得到效果差的 h y p o t h e s i s hypothesis hypothesis 的可能性也比较低;但是同样由于 h y p o t h e s i s hypothesis hypothesis 的选择比较少,不一定能得到效果好的 h y p o t h e s i s hypothesis hypothesis

▹ \\triangleright M比较大时:得到的 h y p o t h e s i s hypothesis hypothesis 比较多,所以得到效果差的 h y p o t h e s i s hypothesis hypothesis 的可能性也比较高;但是同样由于 h y p o t h e s i s hypothesis hypothesis 的选择比较多,有很大概率能得到效果好的 h y p o t h e s i s hypothesis hypothesis

∙ \\bullet 所以可以看出 M 的数量直接影响两个核心问题的结果 。当 M 无限大时,机器学习似乎已经不可行了,但是在 P L A PLA PLA 存在无数条直线,仍然可以进行很好的学习,后面我们对这一问题进行解释。当我们将无限大的 M M M 限制在一个有限的 m H m_{H} mH 内,问题就可以解决了。


2. 有效的直线数(PLA中)

上一节我们讨论过公式为:
P ( ∣ E i n ( h ) − E o u t ( h ) ∣ > ε ) ≤ 2 M e − 2 ε 2 N P(\\left | E_{in}(h) - E_{out}(h) \\right |>\\varepsilon )≤2Me^{-2\\varepsilon ^{2}N} P(Ein(h)Eout(h)ε)2Me2ε2N

M M M 取无限大时,等式右边一定会大于1,此时这个式子就没有了意义。但是在 P L A PLA PLA 中当两条直线很接近时,它们划分的部分其实会有很多的重叠,如果按照上面公式直接相加的话,实际上上界会偏大很多。

所以我们就想着将直线进行分类,将差别不大的直线划分为同一类,然后将重复的部分给去掉的话,实际上上界会得到一个有限的值,从而使机器学习变的可能。

那么具体怎么进行分类呢?我们先从只有第一个点(样本)开始看起:

∙ \\bullet 一个点:可以分为两类,它为负类或者正类。

∙ \\bullet 两个点:最多可以分为四类,分别为正正、负负、正负、负正。

∙ \\bullet 三个点:最多可以分为8类,如下图所示:

但是它不一定会生成8中结果,如果点排列成一条直线的话,最多只能分为6类:

∙ \\bullet 四个点:最多可以分成14中情况(当四个点排列围绕成圈时),其他情况下分类会更少。但是类数一定不超过 2N

∙ \\bullet 结论:当有n个点时,M最多为2N,实际情况下有效的类数用 e f f e c t i v e ( N ) effective(N) effective(N) 来表示,当该数远小于 2N时,即使 M M M 趋向无穷大我们也可以认为 P L A PLA PLA 是可行的。(2D perceptrons)


3. 有效的假设数

∙ \\bullet dichotomy(二分类):输出一个结果向量表示一个 d i c h o t o m y dichotomy dichotomy,一条直线对应一个 d i c h o t o m y dichotomy dichotomy,但是一个 d i c h o t o m y dichotomy dichotomy 至少对应一条直线,我们把所有 d i c h o t o m y dichotomy dichotomy 相同的直线视为一类,它的上界就为 2 N 2^{N} 2N

∙ \\bullet 我们以四个点为例,对 H y p o t h e s i s Hypothesis Hypothesis d i c h o t o m y dichotomy dichotomy 进行区分。

\\Hypotheses Hdichotomies H(x1,x2,…xN)
例子二维平面内的所有直线{ooxx,ooox,oooo,…}
数量无数条上限为2N

∙ \\bullet 成长函数(growth function) N N N 个点组成的而不同集合中最多有多少种 d i c h o t o m y dichotomy dichotomy,这个值用 m H m_{H} mH 来表示,它的上界为:
m H ( N ) = m a x x 1 , x 2 , . . . x N ∈ X ∣ H ( x 1 , x 2 , . . . x N ) ∣ m_{H}(N) = \\underset{x_{1},x_{2},...x_{N}∈X}{max} \\left | H(x_{1},x_{2},...x_{N}) \\right | mH(N)=x1,x2,...xNXmaxH(x1,x2,...xN)

▹ \\triangleright P o s i t i v e   R a y s :

以上是关于机器学习基石训练与测试的主要内容,如果未能解决你的问题,请参考以下文章

机器学习基石第一讲:PLA

机器学习基石笔记

机器学习基石4-在何时才能使用机器学习

机器学习基石笔记-Lecture 5-7 VC dimension

《机器学习基石》---线性回归

机器学习基础:(Python)训练集测试集分割与交叉验证