《机器学习:算法视角(原书第2版)》 —3.4.3 有用的领悟
3.4.3 有用的领悟
通过3.4.2节的讨论,你也许会认为XOR函数是不可能利用线性函数求解的。实际上,这并不正确。如果我们不在二维空间,而在三维空间中重新表述这个问题,那么完全可以找到一个能够把两个类别分开的平面(直线的二维等价物)。 图3-10 三维视图下解决XOR问题的决策边界图3-10中就有一个这样的图形。在三维空间中描述这个问题,意味着我们包含了第三个输入维度。当我们在(x,y)面中观察数据的时候,这第三个维度不会对数据造成影响,除了位于(0,0)的点沿着第三个维度移动了一段距离。位于图3-10左边的就是这个函数的真值表(其中增加了In3,并且只影响到(0,0)的点)。
为了证明这一点,下面的程序使用了相同的感知器代码:
事实上,只要你把数据映射(project)到正确维度的空间中,那么总是可以用一个线性函数来把两个类别区分开。为了较有效率地解决这个问题,有一整类的方法,它们被称为核分类器(kernel classifier),这是支持向量机(Support Vector Machine,SVM)的基础,同时也是第8章的主题。
图3-11 左图:不可分的二维数据集;右图:添加了第三个坐标x1×x2的相同数据集,使得问题成为可分的
至此,可以充分地指出,如果你想使用线性的感知器去处理非线性的问题,那么没有什么能阻止你使用非线性的变量。举个例子,图3-11给出了同一个数据集的两个版本。左图的坐标为x1和x2,而右图的坐标为x1、x2和x1×x2。现在,可以很容易地找到一个平面(直线的二维等价物)来把数据区分开。
在我们使用计算机解决困难的运算问题之前,统计学在很长一段时间内被用来解决分类和回归的问题,并且直线的方法在统计学里活跃了很多年。它给出了一种理解学习过程的不同(且有用)的方法,并且通过使用统计学和计算机科学的方法,我们能够对整个领域有很好的理解。我们将在3.5节中研究线性回归(linear regression)的统计学方法,但是首先我们将看另一个使用感知器的例子。这被认为是一个指导性的例子,所以我会给出部分相关的代码和结果,但是还有一些空白需要你去填补。
- 点赞
- 收藏
- 关注作者
评论(0)