神经网络中**函数的作用总结

神经网络中**函数用来引入非线性因素,用来解决模型不能解决的问题。

基于二分类问题展开讨论。

神经网络中**函数的作用总结

利用单层感知机模型,可以生成一条直线,将空间内的三角形与圆形分开

神经网络中**函数的作用总结

       对于新的样本(x1,x2),将其带入这个线性模型,得到y>0或者y<0分别对应圆形或者三角形,但是实际上这种思路是假设样本分布是线性可分的,当线性不可分时,便会效果不理想。于是我们试图组合几个不同的这种线性模型来获得更好的分类效果,思路如下图:

神经网络中**函数的作用总结

       但是将上图中的模型进行同类项合并后发现,其本质还是个线性模型,与单个感知单元组成的感知机似乎没有什么区别,对于线性不可分的样本效果仍然不理想。

神经网络中**函数的作用总结

如上图,将一条直线无论怎么旋转都无法将样本完全分离,出现这种现象的本质是因为这是个非线性问题。

      那么抛开神经网络中神经元需不需要**函数这点不说,如果没有**函数,仅仅是线性函数的组合解决的问题太有限了,碰到非线性问题就束手无策了.那么加入**函数是否可能能够解决呢?

    上述思想中,我们实际上是在做三条直线的线性组合

神经网络中**函数的作用总结

下面我们开始讨论**函数以及他怎么引入非线性因素(**函数有很多种,sigmod只是其中的一种)

神经网络中**函数的作用总结

通过这个**函数映射之后,输出很明显就是一个非线性函数!能不能解决一开始的非线性分类问题不清楚,但是至少说明有可能啊,上面不加入**函数神经网络压根就不可能解决这个问题

神经网络中**函数的作用总结

线性组合结果如下图:

神经网络中**函数的作用总结

最后通过不断的训练便可以逼近下图效果,达到预想。

神经网络中**函数的作用总结