越不懂的越爱装
大家都同等:IT世界没有难不难,只有是否了解过
挑战目录
什么是多层神经网络MLP?
由之前介绍的感知器可知,感知器最终通过训练获取一根线(或超平面)。但是有些情况是一根线分不开的。对于这种情况是训练不出可以使用的模型的。比如下面典型的异或问题。
异或问题
无论如何画线的位置,w1...wn和b都不能将结果分开。所以训练不出目标结果想要的结果模型。
对于这种情况就需要增加线来区分。由前面可知。一个感知器可以训练出来一根线。所以这里多加几个感知器就可以训练出可以区分结果的模型了。
增加线来区分异或问题
那么现在的神经网络图就类似如下:
image.png
如何训练出四个感知器的w1...和b?
训练出上图四个感知器的w1...和b有很多方式。比如 反向传播梯度下降、遗传算法、粒子群算法等等....
这里先介绍:反向传播梯度下降的方法。
回忆感知器可知:先随机取感知器的w...和b然后通过计算随机取的w...和b算出来的结果和真实的结果做比较。即可获得两个输出的差值,然后来调整w1...和b。经过不停的调整最终获取合适的w1...和b。
最后一个输出的差值容易得到。但是,中间三个感知器的两个输出在哪里呢?又如何能获取到他们的差值?
占位
网友评论