台湾大学机器学习基石Lecture12
12-1:Quadratic Hypothesis
二次规划的假设
之前我们介绍的都是线性假设,即用一条线将数据分隔开,例如下面的情形:
直观的第一感受就是可以用一条直线将O和X分隔开,由此也引入了得分函数
如果你想用一条直线将圈圈和叉叉分开,除非是数据是存在noise的,不然不可能分得开,换个角度想,分开两类数据未必需要直线,例如:
这个黑色的圆圈正好perfect的分开了两类数据,但是这就不是线性的边界啦。由此我们也得到了这个边界是Circular Separable(圆形可分),例如上面的例子,它就可以用一个半径为
但是我们不熟悉这种非线性假设,能不能将其转换为线性假设呢?我们对上面的式子做下面的转换:
首先令
这就是我们很熟悉的线性假设了,这里就是把原来是圆形可分的资料
从图中可以看出,就是把圆内的数据点变换为线性可分中直线下面的数据点,黑色的圆圈变为右边黑色的直线。
上面是已知在x域中是圆形可分的,对应到z域中就是线性可分的,那么反过来,在z域中线性可分,转换为x域中一定是圆形可分吗?答案不是的,因为转换回x域可以有很多种情形,
考虑下面的情形:
我们分别取不同的
1. 取
2. 取
3. 取
4. 再举最后一个特例, 取
综上,我们应该可以得到下面的结论:
Z空间的直线
上面的例子是圆心在原点的情况,这是一个特例。我们考虑一般情形,一般情形的非线性转换应该是下面这个样子的:
从上面我们就可以推出一般的Z空间中的hypothesis为:
说了这么多,我们举一个具体的实例:
例如在X空间中有椭圆
将上式化解开,合并相同的项后得到下面的式子:
对比
12-2:Nonlinear Transform
非线性变换
从上一节中看出,我们的目标就是在Z空间中找到一条最佳的分类线。并且X空间和Z空间存在下面的诸多联系:
具体的就不细说了,那么如何才能得到这条最佳的分类线呢?
- 首先把原始的数据
(xn,yn) 通过非线性变换ϕ(x) 变为Z空间的数据(zn=ϕ(xn),yn) - 可以使用你想要的任何分类算法(比如PLA),使用数据点
(zn,yn) 来得Z空间的权重w˘ - 我们将得到的
w˘ 返回,就能得到最终的假设g(x)=sign(w˘Tϕ(x))
即非线性模型=非线性转换+线性模型,具体流图如下:
12-3:Price of Nonlinear Transform
非线性变换的代价
非线性变换确实可以转换为线性来做,但是要付出很大的代价,其一就是计算复杂度的提高,比如输入
对于特征是二维的来说,原X空间有d个特征,那么对应的Z空间(我们也称之为特征)的数量为
如果像上面的那副图那样子呢?也就是阶数更高呢?假设阶数为Q,且原X空间为维度为d,那么对应的Z空间特征维度是
另一方面,我们考虑一下自由度的问题,Lecture7中,我们知道对于d个输入,其
即
下面我们从视觉角度说明一下这个问题:
上面图中两种分类假设你会选择哪一个?毫无疑问,坑定左边的,虽然左边有误差,但是模型复杂度很低,模型的泛化能力更好,右边的图虽然
我们由此又想起了两个老朋友:
1. 我们能否保证
2. 我们能否保证
对比不同的结果,我们可以得到类似的结论如下表:
|
1 | 2 |
---|---|---|
大 | 不能保证,模型复杂度高 | 能保证,选择更多 |
小 | 能保证,因为模型复杂度低,由霍夫丁不等式可以得出 | 不能保证,选择太少了 |
现在有到了关键的问题,那么如何选择Q呢?
我们可以像上面一样继续用眼睛来选择Q吗?如果这样子你会犯了很大的错误。
例如:一般X空间中2个特征的转换到Z空间为
综上,为了VC安全,一般是保留原来的多项式特征,避免人为的影响。
12-4:Structured Hypothesis Sets
结构化的假设集合
我们考虑从X空间转换到Z空间的多项式变换,那么当变换为0次的时候,那么对应的多项式变换函数:
当变换为1次的时候,对应的多项式变换函数:
当变换为2次的时候,对应的多项式变换函数:
当变换为Q次的时候,对应的多项式变换函数:
将上面的
更简单的将
我们把这种结构称为Structured Hypothesis Sets,即如下图所示:
对于这种结构,其对应的VC维数呢?应该有:
当然对应的错误
我们考虑下面的情形:
举个例子,我们是否一定可以得出多项式变换Q阶数越高越好?其实从上图可以看出,
现实中如何选择一个比较好的模型呢?
实际上我们可以使用
这样子虽然浪费了计算,但是它是一种足够安全的做法,能够有效的防止过拟合。