您的位置:首页 > 其它

机器学习基石(林軒田)笔记之十二

2016-09-10 20:59 232 查看

Nonlinear Transformation(非线性转换)

回顾

在第十一讲中我们介绍了如何通过(logistic)回归来处理二分类问题,以及如何通过OVA/OVO分解来解决多分类问题。




Quadratic Hypotheses

二次假设空间
线性假设空间极其缺点:



截止目前为止,我们所介绍的机器学习模型都为线性模型,即假设空间是线性的。线性模型中使用的记分函数

为线性分数。线性模型的优点为在理论上可以使用VC维保证

。但是,当数据集为线性不可分的时候,如上图右,则会很难找到一条直线将两种类型完全分离,即

很大。下面我们讨论如何打破这种限制。
圆形可分情况:



观察上图左图,数据集为线性不可分,但是观察上图右图,发现一个圆形可以很好地将两类数据分开,我们称这种情况为圆形可分(circular separable)。



以上数据集使用一个半径为

的圆形可以很好地划分两类数据,假设函数如上图所示:将样本点到远点的距离的平方与0.6作比较,小于0.6位+1,大于0.6为-1.
下面我们据此提出新的算法模型。
首先,我们将上面得到的圆形可分模型分解成我们所熟悉的线性模型的形式:



上图中,我们将圆形可分的

数据集转换成线性可分的

数据集。我们将这种将输入空间

转换成

的过程称之为(非线性)特征转换。



那么,在新的数据集上线性可分是否就能推出在原数据及上圆形可分呢?
首先,我们要搞清,为何经过特征转换之后新的数据集就线性可分了。



上图中1式为新数据集z与原始数据集x的对应关系,2式为新假设函数与原始假设函数之间的对应关系。下面我们观察权重取不同值时,原始数据集上对应的假设函数的区别:



可以得出:通过此种转换,新的数据集上的线性模型与原始数据集上的二次曲线所对应。
如果想表示原始数据集上的所有曲线,则需要将新的空间转换成一个更大的空间,如下图:



通过上面的特征转换之后,我们将原始数据集上的所有二次曲线对应到行的数据集上的超平面:




Nonlinear Transform

非线性转换
好的二次假设空间:
在从x数据集转换而来的z数据集上得到好的线性模型对应在x数据集上得到一个好的二次曲线模型,则为一个好的二次假设空间。如下图:




我们使用之前学过的线性模型对特征转换后的新数据集进行学习找到最好的假设函数,则可以得到x空间上的最好的假设函数:



非线性转换步骤:



1.通过特征转换将原始数据集x转换到新的数据集z;
2.使用线性模型对新的数据集z进行分类,并且获取最优的权重向量值;
3.返回原始数据集x,将线性模型转换成其对应的二次曲线。
流程图如下:



理解:判断样本点属于哪个类的步骤如上图下两幅图,需要先从左往右,将原始数据集x转成新的数据集z,再根据z上得到的线性模型判断出新的样本点属于哪一类,最终再与原始数据集对应,从而得到样本点在原始数据集x上额类别。
总结:



非线性模型=特征转换+线性模型。
以上非线性模型的求解可以扩展到三次感知、三次回归...问题上。


Price of Nonlinear Transform

非线性转换的代价
Q次多项式转换



此时权重向量的维数分析如下图:



此时的权重向量的维数为1+

,1对应



对应新的数据集Z上对应的线性模型的权重。从n个不同的元素中无序可重复的抽取其中k个元素,则有

种取法。则在求取

的维度时,给定元素为

,此外还有一个1元素。因此,在求

的维度时,相当于是在d+1个元素中重复的抽取Q个元素,维度为:

,进一步表示为:

。因此,不论是特征转换还是

得湖实验都消耗了更高的时间和空间复杂度,当Q很大时,模型的计算变得相当的复杂。
另外:由之前的知识可知,模型参数的自由度与模型的VC维近似,如下图:



因此,当Q很大时,

很大。
当我们用

来近似

时,当

很小的时候,可以满足

,但是不满足

,在

变小的时候,假设函数变小,算法的选择变小,可能无法判断到

的假设。


很小的时候,不可以满足

,不好得情况出现的几率增大,但是满足

,在

变大的时候,假设函数变大,算法的选择变大,

的假设几率变大。

进一步表述为下图:



左图表示使用原始的线性模型,右图表示一个四次函数的划分,视觉上得到右图中的

,但是可能出现过拟合,从而导致,

不满足。


Structured Hypothesis Sets

结构化假设空间
不同维度的假设空间:



由上可得:



进而:



维度越高自然

越小,其中VC维与错误率的关系图如上图所示。
结论:如果选择高次多项式,可能

非常小,但是

很大,进而建议在做多项式转换的时候可以先从低次往高次测试,最好是从一次式开始。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  机器学习 林軒田