本文介绍了非线性变换的整体流程:通过非线性变换,将非线性模型映射到另一个空间,转换为线性模型,再来进行线性分类。
之后介绍了非线性变换存在的问题:时间复杂度和空间复杂度的增加。
最后证明了非线性变换的一般做法:尽可能使用简单的模型,而不是模型越复杂越好。
文章目录
- 系列文章
- 12. Nonlinear Transformation
- 12.1 Quadratic Hypotheses
- 12.2 Nonlinear Transform
- 12.3 Price of Nonlinear Transform
- 12.4 Structured Hypothesis Sets
- summary
12. Nonlinear Transformation
12.1 Quadratic Hypotheses
在之前的章节中,学习的机器学习模型都为线性模型,即假设空间都为线性的(2D平面中为一条直线,3D空间为一个平面),使用的得分为线性得分(linear scores) 。其中, 为特征值向量,
线性模型的优点是理论上可以使用VC限制进行约束(假设是非线性的各种曲线或者超平面,则每种假设都可以完全二分,即有 种二分类。),这保证了 (VC-Dimension比较小)。但是对于线性不可分(non-linear separable)的问题(如下图), 很大,从而导致
为了解决线性模型的缺点,我们可以使用非线性模型来进行分类。基于这种非线性思想,之前讨论的PLA、Regression问题也可以通过非线性的形式进行求解。例如可以使用一个半径为
该公式的含义为将样本点到原点距离的平方与数值0.6作比较,圆形将样本集分离,圆形内部是正类,标记为+1,外部是负类,标记为-1,此种方式称作圆形可分(circular separable)。如下图所示:
将公式(12-01)做如下转换,变为熟悉的线性模型:
原公式中, 的权重为 , ,,但是 的特征不是线性模型的 ,而是 。通过令 ,这种 的变换可以看作将 空间中的点映射到 空间中去,即从 空间的圆形可分映射到 空间的线性可分。 域中的直线对应于 域中的圆形。其背后的思想是通过非线性的特征变换 (feature transform) 将圆形可分(非线性可分)变为线性可分。
那么问题来了,已知在 域中圆形可分,在 域中线性可分;反过来,如果在 域中线性可分,是否在 答案是否定的。由于权重向量 取值不同, 域中的hypothesis可能是圆形、椭圆、双曲线等等多种情况。
通过这种形式转换的 空间的直线对应着原 空间中特殊的二次曲线(quadratic curves)。说“特殊”是因为表示的圆只能是圆心过原点的圆,不能随意表示各种情况的圆。如果想要表示 空间中所有的二次曲面,应设计一个更大的 空间,其特征转换如公式为:
通过以上特征转换, 空间中的每个超平面就对应 空间中各种不同情况的二次曲线(圆、椭圆、双曲线)。则 空间中的假设空间H为:
上式中, 表示
习题01:
12.2 Nonlinear Transform
从 空间转换到 空间,则在Z空间中获得的好的线性假设函数,相当于在X空间中获得了好的二次假设函数,即在 空间中存在线性可分的直线对应于在 中(非线性)可分的二次曲线。目标就是在
利用映射变换的思想,通过映射关系,把 空间中的最高阶二次的多项式转换为 空间中的一次向量 z,即从二次假设转换成了感知器问题。用 z 值代替 x 多项式,其中向量 z 的个数与 空间中 x 的多项式的个数相同(包含常数项)。这样就可以在
- 空间中的数据为 , 空间的数据集为 ;
- 通过特征变换函数 将 空间中线性不可分的数据集 变换为 空间中线性可分的数据集
- 使用线性分类算法和 空间的数据集 获得表现良好的感知器模型 (最优权重向量) ;
- 最后得到最优的假设函数 。
上图中,最下边两幅图表达了该思路的核心思想。判断某个样本属于哪个类别,只需要将 空间中的数据变换到 空间;然后使用 空间中的假设函数(线性分类器)对样本进行分类;最后反变换到
这类模型由两部分构成:
- 非线性变换函数
- 线性模型:包括之前学习的二分类、线性回归和Logistic回归等;
使用以上求解非线性分类的思路可以解决二次PLA,二次回归,三次回归,…,多项式回归等多种问题。
特征变换(feature transform) 的思想非常常见,比如我们熟知的手写数字识别任务中,从原始的像素值特征转换为具体的特征,比如密度、对称性等:
习题2:
12.3 Price of Nonlinear Transform
如果 的特征维度为 维,也就是包含 个特征,那么二次多项式个数,即
如果 特征维度是2维的,即 ,那么它的的二次多项式为 ,有六项。
如果阶数为 , 空间的特征维度为 d 维,则它的
由上式可以看出,计算 空间特征维度个数的时间复杂度是 的 次方,随着 和
特征转换还带来另一个问题。在前面的章节中讲述过,模型参数的自由度大概是该模型的VC维度。z域中特征个数随着Q和d增加变得很大,同时权重w也会增大,即自由度增加,VC-Dimension 增大。令z域中的特征维度为 ,在 域中,任何 的输入都不能被 shattered,同样,在 域中,任何 的输入也不能被 shattered; 是 VC-Dimension 的上界,如果 很大,相应的 VC-Dimension 也会很大。根据之前章节课程的讨论,VC-Dimenslon 过大,模型的泛化能力会比较差。
下例解释了 VC-Dimension 过大,导致分类效果不佳的原因:
上图中,左边用直线进行线性分类,有部分点分类错误;右边用四次曲线进行非线性分类,所有点都分类正确,那么哪一个分类效果好呢?单从平面上这些训练数据来看,四次曲线的分类效果更好,但是四次曲线模型很容易带来过拟合的问题,虽然它的 比较小;泛化能力上,左边的分类器更好。也就是说,VC-Dimension 过大会带来过拟合问题,那么如何选择合适的Q,避免过拟合,提高模型泛化能力呢?一般情况下,为了尽量减少特征自由度,会根据训练样本的分布情况,人为地减少、省略一些项。但是,这种人为地删减特征会带来一些“自我分析”代价,虽然对训练样本分类效果好,但是对训练样本外的样本,不一定效果好。所以,一般情况下,还是要保存所有的多项式特征,避免对训练样本的人为选择。
习题3:
12.4 Structured Hypothesis Sets
下面讨论 空间到
如果特征维度是一维的,变换多项式只有常数项:
如果特征维度是两维的,变换多项式包含了一维的 :
如果特征维度是三维的,变换多项式包含了二维的 :
以此类推,如果特征维度是Q维的,则它的变换多项式为:
这种结构称为 Structured Hypothesis Sets:
对于这种 Structured Hypothesis Sets ,VC-Dimention 和 满足如下关系:
VC-Dimention 与错误率之间的关系如下:
由上图易知,随着变换多项式的阶数增大,虽然 逐渐减小,但模型复杂度会逐渐增大,造成
如果选择的阶数很大,能使 ,但泛化能力很差,这种情况叫做tempting sin。所以,一般做法是先从低阶开始,如先选择一阶假设,看看 是否很小,如果
习题4:
summary
本节课介绍了非线性变换的整体流程(通过非线性变换,将非线性模型映射到另一个空间,转换为线性模型,再来进行线性分类。
之后介绍了非线性变换存在的问题:时间复杂度和空间复杂度的增加。
最后介绍了在付出代价的情况下,使用非线性变换的最安全做法:尽可能使用简单的模型,而不是模型越复杂越好。
参考:
https://github.com/RedstoneWill/HsuanTienLin_MachineLearning