台湾大学机器学习基石Lecture12

12-1:Quadratic Hypothesis

二次规划的假设
之前我们介绍的都是线性假设,即用一条线将数据分隔开,例如下面的情形:
这里写图片描述
直观的第一感受就是可以用一条直线将O和X分隔开,由此也引入了得分函数 s=wTx 。但是如果数据集的分布是下面这个样子呢?
这里写图片描述
如果你想用一条直线将圈圈和叉叉分开,除非是数据是存在noise的,不然不可能分得开,换个角度想,分开两类数据未必需要直线,例如:
这里写图片描述
这个黑色的圆圈正好perfect的分开了两类数据,但是这就不是线性的边界啦。由此我们也得到了这个边界是Circular Separable(圆形可分),例如上面的例子,它就可以用一个半径为 0.6 的圆来区分两种数据,它的hypothesis就可以用下面的式子定量表示了:
hSEP(x)=sign(x21x22+0.6)
但是我们不熟悉这种非线性假设,能不能将其转换为线性假设呢?我们对上面的式子做下面的转换:
这里写图片描述
首先令 z1=x21,z2=x22 ,当然为了和PLA一样,补充 z0=1 ,同样的,令 w˘0=0.6,w˘1=1,w˘2=1 (这里的 w˘ 是为了区分之前线性假设中的权重w),那么我们就得到了 z0,z1,z2 以及权重 (w˘0,w˘1,w˘2) ,原来的假设h就变成了:
h(x)=sign(wT˘z)
这就是我们很熟悉的线性假设了,这里就是把原来是圆形可分的资料 (xn,yn) 变成了线性可分的资料 (zn,yn) ,相当于作了一个非线性特征变换 ϕ ,直观的对比如下所示:
这里写图片描述
从图中可以看出,就是把圆内的数据点变换为线性可分中直线下面的数据点,黑色的圆圈变为右边黑色的直线。
上面是已知在x域中是圆形可分的,对应到z域中就是线性可分的,那么反过来,在z域中线性可分,转换为x域中一定是圆形可分吗?答案不是的,因为转换回x域可以有很多种情形,
考虑下面的情形:
z=z0,z1,z2=ϕ(x)=(1,x21,x22)
h(x)=sign(wT˘z)=sign(w˘0+w˘1x21+w˘2x22) ,其中 w˘=(w˘0,w˘1,w˘2)
我们分别取不同的 w˘ ,看转为x域是否有不同?
1. 取 (w˘0,w˘1,w˘2)=(0.6,1,1) ,这个就是上面介绍的例子了,x域中是圆形可分的。
2. 取 (w˘0,w˘1,w˘2)=(0.6,+1,+1) ,当然这也是圆形可分的,和上面不同的是,在圆外的数据点是O,圆内的数据点是X。
3. 取 (w˘0,w˘1,w˘2)=(0.6,1,2) ,即 (0.6x212x22) ,令这个式子为0,在x域中,你会很容易发现这是一个椭圆而非圆形可分,这也就验证了上面的结论。
4. 再举最后一个特例, 取 (w˘0,w˘1,w˘2)=(0.6,+1,+1) ,即 (0.6+x21+x22) ,平方项+0.6,无论怎么样都会是正的啊,对应回x域也就是所有O了。
综上,我们应该可以得到下面的结论:
Z空间的直线 <=> <script type="math/tex" id="MathJax-Element-24"><=></script> X空间的二次曲线
上面的例子是圆心在原点的情况,这是一个特例。我们考虑一般情形,一般情形的非线性转换应该是下面这个样子的:
ϕ2(x)= { 1,x1,x2,x21,x1x2,x22 }(个人理解就是比如原来是2个输入特征 x1,x2 ,但是现在转换出来了6项,也就是增加更多的特征,而这个增加的特征是通过已知的特征之间组合而来的,所以就能够在Z空间线性可分。)
从上面我们就可以推出一般的Z空间中的hypothesis为:
这里写图片描述

说了这么多,我们举一个具体的实例:
例如在X空间中有椭圆 2(x1+x23)2+(x1x24)2=1 ,由这个式子,怎么推出Z空间中的权重 w˘
将上式化解开,合并相同的项后得到下面的式子:
3320x14x2+3x21+2x1x2+3x22=0
对比 ϕ2(x)= { 1,x1,x2,x21,x1x2,x22 },我们就能得到权重 w˘=[33,20,4,3,2,3] .


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

非线性变换的代价
非线性变换确实可以转换为线性来做,但是要付出很大的代价,其一就是计算复杂度的提高,比如输入 (x1,x2) ,转为一般的Z空间来计算的话就是 ϕ2(x)= { 1,x1,x2,x21,x1x2,x22 },更一般的式子就是:
对于特征是二维的来说,原X空间有d个特征,那么对应的Z空间(我们也称之为特征)的数量为 1+c1d+c2d+d=d(d+3)2+1 (即常数项+单个项+不同的x相乘的项+平方项)。
这里写图片描述
如果像上面的那副图那样子呢?也就是阶数更高呢?假设阶数为Q,且原X空间为维度为d,那么对应的Z空间特征维度是 CQQ+d=CdQ+d ,也就是其复杂度为 O(Qd) ,可以看出来,随着Q和d的变大,其计算复杂度以及空间复杂度是很可怕的。
另一方面,我们考虑一下自由度的问题,Lecture7中,我们知道对于d个输入,其 dvc=d+1 ,那么推广到Z空间,其 dvc 应该有类似的结论,即 dvc=d˘+1 ,这里的 d˘ 是区分d的表示形式,上面我们知道了复杂度为 O(Qd) ,也就表明权重 w˘ 的自由度也会增大,即模型复杂度就会提高,那么由此得到的模型泛化能力就会很差。
Q=>dvc
下面我们从视觉角度说明一下这个问题:
这里写图片描述
上面图中两种分类假设你会选择哪一个?毫无疑问,坑定左边的,虽然左边有误差,但是模型复杂度很低,模型的泛化能力更好,右边的图虽然 Ein(g)=0 ,但是其 Eout(g) 肯定是很大的,因为 E(out)Ein+ ,那么模型复杂的话,泛化能力就没法保证了。
我们由此又想起了两个老朋友:
1. 我们能否保证 EoutEin 是足够接近的?
2. 我们能否保证 Ein 足够小?
对比不同的结果,我们可以得到类似的结论如下表:

d˘(Q) 12
不能保证,模型复杂度高能保证,选择更多
能保证,因为模型复杂度低,由霍夫丁不等式可以得出不能保证,选择太少了

现在有到了关键的问题,那么如何选择Q呢?
我们可以像上面一样继续用眼睛来选择Q吗?如果这样子你会犯了很大的错误。
例如:一般X空间中2个特征的转换到Z空间为 ϕ2(x)= { 1,x1,x2,x21,x1x2,x22 },我们能不能减少它的复杂度,比如只用 ϕ2(x)= { 1,x21,x22 },这时候 dvc=3 了,减少了吧?貌似还可以继续减少,比如用 ϕ2(x)= { 1x21+x22 },现在 dvc=2 了,或者更甚, ϕ2(x)=sign(0.6x21x22) ,哇,现在 dvc=1 了,事实上这还是ML吗?你加入了人脑的作用,人脑的复杂度可比公式什么的高太多,实际上这个模型的复杂度特别高。
综上,为了VC安全,一般是保留原来的多项式特征,避免人为的影响。


12-4:Structured Hypothesis Sets

结构化的假设集合
我们考虑从X空间转换到Z空间的多项式变换,那么当变换为0次的时候,那么对应的多项式变换函数:
ϕ0(x)=1
当变换为1次的时候,对应的多项式变换函数:
ϕ1(x)=(ϕ0(x),x1,x2,xd)
当变换为2次的时候,对应的多项式变换函数:
ϕ2(x)=(ϕ1(x),x21,x1x2,x2d)
当变换为Q次的时候,对应的多项式变换函数:
ϕQ(x)=(ϕQ1(x),xQ1,xQ11x2,xQd)
将上面的 ϕQ(x) 定义为 HϕQ ,那么我们可以得到下面的关系式:
Hϕ0Hϕ1HϕQ
更简单的将 Hϕ0 记为 H0 ,那么即
H0H1HQ
我们把这种结构称为Structured Hypothesis Sets,即如下图所示:
这里写图片描述
对于这种结构,其对应的VC维数呢?应该有:
dVC(H0)dVC(H1)
当然对应的错误 Ein 就应该和VC维相反了,即:
Ein(H0)Ein(H1)
我们考虑下面的情形:
这里写图片描述
举个例子,我们是否一定可以得出多项式变换Q阶数越高越好?其实从上图可以看出, Eout 最小点的时候存在且为 dvc ,并且它是处于模型复杂度差不多的位置,所以比如像 H1126 的模型其效果并不会很好,因为模型复杂度太高了,所以并不是 Ein 越小,模型越优秀。
现实中如何选择一个比较好的模型呢?
实际上我们可以使用 H1 ,即从低阶开始,然后判断 Ein 是否足够好了,不是很好就尝试 H2 ,依次类推。。。
这样子虽然浪费了计算,但是它是一种足够安全的做法,能够有效的防止过拟合。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值