4.多层感知器(神经网络)与激活函数

目录

1  神经元

2  激活函数

2.1  relu

2.2  sigmoid

2.3  tanh

2.4  Leak relu


1  神经元

上次做的线性归回是单个神经元,并且再网络的最后没有使用激活函数而是直接进行输出

  • 神经元:我下面画的这个圈就是神经元

我们每一个输入我们理解为都有一定的特征,我们定义为x1,x2,x3,每一个特征我们认为都有相应的权重改变 y = ax + b 我们把这些权重求和,最终通过传递函数(激活函数)输出结果,下面这个图是单个神经元的图例

4.多层感知器(神经网络)与激活函数_第1张图片

如果有多个神经元,我们就可以得到多个输出,这个可以是中间层的神经元,也可以是最终的输出,比如我们对货物进行分类,最终判定的结果有两个,是否易碎,是否有棱角,如果满足两种条件都会有相应的输出

4.多层感知器(神经网络)与激活函数_第2张图片

单层神经元(注意是层不是个,三个神经元在一层也叫单层神经元)没有办法处理异或运算

  • 异或运算

4.多层感知器(神经网络)与激活函数_第3张图片

原因是单层神经元要求的数据必须是线性的,异或问题无法找到一条直线分割两个类

为了解决单层神经元无法解决异或问题,我们可以多加几层

4.多层感知器(神经网络)与激活函数_第4张图片

2  激活函数

激活函数的作用是筛选部分没有用的输入,我们可以使用一个图片举一个例子

在这个图中A就是被激活的信号,B就是没被激活的信号,当信号满足激活函数的条件,这个信号才可以输出给下一个神经元(或直接输出出去)

如果没有激活函数的话,我们无论有多少Dense层,我们最终的结果也是线性的,如果有激活函数,我们就摆脱了结果只为线性的约束

加入我们看电视剧判断一个人是否为正面人物,我们也是通过不同的输入来得到的这个结果,比如是否甘于奉献,是否善待他人等

下面是常用的几个激活函数

2.1  relu

4.多层感知器(神经网络)与激活函数_第5张图片

当输入小于0时,输入为0,当输入大于零时,输出与输入相等的数值

2.2  sigmoid

4.多层感知器(神经网络)与激活函数_第6张图片

是按照图中的p(x)根据输入x进行输出,输出范围为[-1,1],逻辑回归会使用sigmoid

2.3  tanh

4.多层感知器(神经网络)与激活函数_第7张图片

这个的范围也是[-1,1]之间

2.4  Leak relu

4.多层感知器(神经网络)与激活函数_第8张图片

相比relu会输出一些负值,常用于生成的网络中,比如使用对抗网络生成一张图

 

你可能感兴趣的:(tensorflow笔记,神经网络,深度学习)