目录
老饼讲解:一步一步上手学习

【介绍】BP神经网络-激活函数

作者 : 老饼 发表日期 : 2025-11-16 15:00:07 更新日期 : 2026-05-14 14:48:06
老饼讲解-简单易懂,干货满满,爽过嗦螺!


好了,这节我们来更详细地说说BP神经网络的激活函数,它也是BP神经网络里的一个重要元素,我们一起来正式地了解下BP神经网络用什么激活函数。

一、matlab神经网络工具箱-激活函数

在matlab里呢,它提供了许多的激活函数给我们,我整理了如下:

matlab-提供的激活函数

当年我玩BP神经网络呢,看到这么多激活函数,爽死了,然后就逐个激活函数去尝试效果怎么样,后来才知道,好家伙!原来上面只有tansig,logsig和purelin三个才是BP神经网络的激活函数,其余的是别的神经网络的激活函数!所以大家就不要浪费时间来干我这样的傻事了。

二、BP神经网络-激活函数

好了,下面我们就来说说matlab提供给BP神经网络的这三个激活函数:tansig,logsig和purelin,它们实际对应的是数学上的tanh、sigmoid和恒等函数,tansig,logsig和purelin只是matlab的函数名称。

2.1. tansig(tanh)-激活函数

matlab的tansig激活函数就是tanh函数,它的函数表达式为:

tansig是一个s型函数,tansig的函数图象如下 :

 tansig的函数图像

可以看到,当x为一维时tansig是一条S形曲线,相对地,在二维时就是一个S形曲面,更高维时就是S形超曲面。

tansig函数的特性如下:

【1】它的取值区间为(-1,1)。
【2】tansig非线性部分主要集中在【-1.7,1.7】之间,在区间之外,tansig逐渐趋向饱和。

tansig的导数为:

 

可以看到,tansig的导数可以用自身表示,这是一个非常重要的特性,它使tansig的导数计算更加方便。

2.2. logsig-激活函数

matlab的logsig激活函数就是sigmoid函数,它的函数表达式为:

logsig也是一个s型函数,logsig的函数图象如下 :

 logsig的函数图像

与tansig一样,当x为一维时logsig是一条S形曲线,在二维时就是一个S形曲面,更高维时,就是S形超曲面。

logsig函数的特性如下:

【1】它的取值区间为(0,1)。
【2】logsig非线性部分主要集中在【-1.7,1.7】之间,在区间之外,logsig逐渐趋向饱和。

logsig的导数也可以用自身表示,logsig的导数为:

 

大家可能已经发现,tansig和logsig其实大部分都是相似的,只是tansig的输出范围为(-1,1),而logsig的输出范围为(0,1),除此之外,其它都差不多。

2.3. purelin-激活函数

好了,最后是purelin激活函数,它的表达式为:

 

可以看到,purelin就是恒等映射,BP神经网络的激活函数设为purelin时,跟没有激活函数是一样的,BP神经网络为了保持"都有激活函数",所以仍然会使用purelin作为激活函数,而不是"没有激活函数"。

总结

这节其实我们就是看了一下tansig、logsig、purelin激活函数,了解它们的特性,而在激活函数的选择上,其实根本没得选,就是隐层用tansig,输出层用purelin,初学者先按照这一套来就行了。入门阶段,我们就简单地知道、了解有这样的东西就好了,在part-2中我们会更深入的去了解,这样选择的背后原理。



图标 评论
添加评论