这一章的开头以一个很有趣的例子(XOR)解释了线性模型(linear model)的局限性。
线性模型的局限
假设现在我们要使用线性模型构造与或门(XOR),即对如下几组输入:
$$x_1 = [0, 0] \qquad x_2 = [0, 1] \qquad x_3=[1, 0] \qquad x_4=[1, 1] $$
我们希望$y$值分别是:
$$[0, 1, 1, 0]$$
按照线性函数的平方损失/线性模型,最后参数$w$为0,$b$为0.5,即对任何输入$x$,其预测结果均为1/2。为什么会这样?
线性模型的一大问题在于它是输入特征的线性加权,无法学习“两个特征之间的交互作用”。我们将输入数据展示出来:
线性模型的困境:
- 当$x_1=0$时,$y$随着$x_2$的增大而增大(从0->1)
- 当$x_1=1$时,$y$随着$x_2$的增大而减小(从1->0)
如果我们能有一种非线性变换(为何必须是非线性?因为线性矩阵的线性变换,结果仍然是线性的),使上图的点变成这样:
此时这些点又变得线性可分了。那么如何寻找这样一个变换函数,且最终学习参数将它们分开呢?
引入神经网络
这里采用的非线性变换函数叫Rectified linear activation function,它有几个好处:
- 很像线性但实际上做的非线性变换
- 类线性特质使其在梯度下降中十分简单
我们构建一个神经网络:
并引入变换函数:
此时,构造的假设函数为:
$$f(xx;W,c,w,b) = w^Tmax\{0, W^Tx+c\} +b$$
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。