机器学习基石(林轩田)学习笔记:Lecture 12 & Lecture 13

Lecture 12:Nonlinear Transformation

Quadratic Hypothesis


在二分类问题中,如果我们遇到的训练集是上图所示的\(x\in \mathbb R^2\)的若干训练样本,这些样本是线性不可分的,我们只能考虑用更高阶的假设函数,如二次的假设函数\(h(x)=\mathrm{sign}(-x_1^2-x_2^2+0.6)\)

我们可以把这个二次的假设函数里每一项(常数项1、二次项\(x_1^2,x_2^2\))看作是经过某种特征变换\(\Phi\)得到的新特征\(z_i\)

这个特征变换\(\Phi\)可以看作是一个由输入特征空间\(\mathcal X\)映射到\(\mathcal Z\)的函数:\(\Phi:\mathcal X\mapsto \mathcal Z\)

在上图中,训练样本的输入特征在\(\mathcal X\)中是线性不可分的,但是经特征变换\(\Phi\)映射到\(\mathcal Z\)中后就变成线性可分的了。

更一般地,一个从\(x=(x_1,x_2)\)变换到二次特征\(z\)\(\Phi\)为:

\[\Phi_2(x)=(1,x_1,x_2,x_1^2,x_1x_2,x_2^2)\]

那么对于之前我们已经学过的线性的机器学习算法而言,只要把输入特征经过特征变换映射到二阶形式的新特征,再套用原有的线性的机器学习算法,就变成了二次的机器学习算法。

Nonlinear Transform

类似于从原始一次特征映射到二次特征,实现二次的机器学习算法一样,我们也可以从原始一次特征通过\(\Phi\)映射到更高阶的特征,然后用这些更高阶的特征作为输入特征,训练机器学习算法,之后,对于每个新的输入样本x,用\(\Phi(x)\)作输入特征提供给学习算法,从而得到预测结果。

Price of Linear Transform

假设输入特征是d+1维的,\(x=(1,x_1,\cdots,x_d)\),通过特征变换\(\Phi_Q(x)\)映射到Q阶特征

得到的新的特征的维度为\(1+\tilde d\)=\((1+x_1+\cdots+x_d)^Q\)的展开式的项数=\(C_{Q+d}^Q=C_{Q+d}^d=O(Q^d)\)
(具体证明参考https://wenku.baidu.com/view/ce95c41902d276a201292e3b.html)

可见,随着输入特征维度d与新特征阶数Q的增大,新的特征的维度会爆炸式增长,这将大大提高存储与学习算法训练过程的代价

另一方面,阶数Q很大时,Q阶的假设函数的VC维也会变得很大,不过由于Q阶的假设函数的参数个数为\(\tilde d+1\),根据Lecture 7的推导,任意\(\tilde d+2\)个数据点不能被\(\mathcal H_{\Phi_Q}\) shattered,所以我们可以保证\(d_{VC}(\mathcal H_{\Phi_Q})\leq \tilde d+1\)

Structured Hypothesis Sets

假设输入特征是d+1维的,\(x=(1,x_1,\cdots,x_d)\),通过特征变换\(\Phi_Q(x)\)映射到Q阶特征,我们发现:

设通过\(\Phi_Q\)映射到新的Q阶特征,构建出的Q阶的假设函数的集合为\(\mathcal H_Q\),显然:

由于高阶的假设函数集包含了整个低阶的假设函数集,所以显然高阶的\(\mathcal H\)\(E_{in}(g)\)比低阶的\(\mathcal H\)\(E_{in}(g)\)小(g是学习算法找到的\(E_{in}\)最小的假设函数,因为高阶\(\mathcal H\)有更多假设函数可供选择,所以它的\(E_{in}\)更小)

另外,我们还能发现,高阶的\(\mathcal H\)的VC维更高

证明:若高阶的\(\mathcal H_{Q}\)的VC维是\(d_{VC}(\mathcal H_{Q})\)),低阶的\(\mathcal H_{q}\)的VC维是\(d_{VC}(\mathcal H_{q})\)
则存在一组\(d_{VC}(\mathcal H_{q})\)个数据点,可以被\(\mathcal H_q\) shattered,而\(\mathcal H_q\subset \mathcal H_Q\),说明这些点可以被\(\mathcal H_Q\) shattered
因此,\(d_{VC}(\mathcal H_{Q})\geq d_{VC}(\mathcal H_{q})\)

于是我们可以得到:

回顾Lecture 7的图像:

可见,\(E_{out}(g)\)是先减小,后增大的,新特征的阶数(以及VC维)不是越大越好

实践中,我们应该尽量采用低阶的特征:首先尝试使用一阶特征,再采用二阶特征,以此类推,直到\(E_{in}(g)\)达到足够小

猜你喜欢

转载自www.cnblogs.com/qpswwww/p/9362409.html