共计 623 个字符,预计需要花费 2 分钟才能阅读完成。
多层感知机顾名思义,相比于单层感知机多了很多网络层,可以参考下图:
上面图中中间插入了两层网络,在DL中又称之为隐层,与之相关的名词就是输入层和输出层。
感知机输出的结果非0即1,对于结果的判断存在很大的跳跃,这中间没有任何的过度。
从数据层面来说,你的数据特征如果波动一点可能输出的结果就会从0到1,所以在做推理预测的时候有的时候会发现一些case预测的就是不太好,这就与感知机本身有很大的关系,所以这就是感知机在预测的时候不可避免遇到的问题,所幸我们还是有解决它的方法,下面可以直观的看一下感知器的问题。
可以从下面的图中可以说明
所以如何让机器学习更好的学习样本的权重,在面临上述描述的问题时也会“平缓”的看待这些样本,因此出现了类似sigmoid函数,函数的定义如下
y=\frac{1}{1+e^{-x}}
函数的曲线如下所示
可以发现函数两边是饱和区,中间是线性区,总体数值变换较为平缓,符合我们刚才所说的。
上面所说的sigmoid是激活函数,也是后面会讲到激活函数的时候会将当前常用的激活函数列举出来并且对比一下。
引入sigmoid之类的函数不光是解决上述问题,还有非线性等理论的支撑。
如果你要想实现多层感知机的代码其实就是在上一篇文章中多加几层Dense层,代码整体上没有太多的差异。
在这篇文章中由感知机面临的问题引到了激活函数的问题,后面就会从神经网络的每个细节入手(网络层\激活函等),然后在回到全局说明(使用具体的实例来说明应用)。