Skip to content

Latest commit

 

History

History
35 lines (22 loc) · 1.84 KB

File metadata and controls

35 lines (22 loc) · 1.84 KB

线性模型的局限性

在线性模型中,模型的输出为输入的加权和。假设一个模型的输出 $y$ 和输入 $x_i$ 满足以下关系,那么这个模型就是一个线性模型。

$$ y=\sum_iw_ix_i+b, 其中 w_i,b \in R 为模型的参数 $$

被称为线性模型是因为当模型的输入只有一个的时候,$x$ 和 $y$ 形成了二维坐标系上的一条直线。类似地,当模型有 $n$ 个输入时,$x$ 和 $y$ 形成了 $n+1$ 维空间中的一个平面。而一个线性模型中通过输入得到输出的函数被称为一个线性变换。上面的公式就是一个线性变换。线性模型的最大特点是任意线性模型的组合仍然还是线性模型。

对于下面的两层神经网络模型公式:

$$ a^{(1)}=xW^{(1)}, y=a^{(1)}W^{(2)} $$

其中 $x$ 为输入, $W$ 为参数。整理一下上面的公式可以得到整个模型的输出为:

$$ y=(xW^{(1)})W^{(2)} $$

根据矩阵乘法的结合律可得:

$$ y=x(W^{(1)}W^{(2)})=xW' $$

其中, $W‘$ 是个新的参数。这个前向传播的算法完全符合线性模型的定义。从这个例子可以看到,虽然这个神经网络有两层(不算输入层),但是它和单层的神经网络并没有区别。以此类推,只通过线性变换,任意层的全连接神经网络和单层神经网络模型的表达能力没有任何区别,而且它们都是线性模型。然而线性模型能够解决的问题是有限的,这就是线性模型最大的局限性。

在线性可分问题中,线性模型能够很好地解决问题。但是在现实世界中,绝大部分问题都不是线性可分问题,所以在深度学习的定义中特意强调它的目的是解决更为复杂的问题。


参考文献:《TensorFlow:实战Google深度学习框架(第二版)