当前位置:网站首页>tansig和logsig的差异,为什么BP喜欢用tansig
tansig和logsig的差异,为什么BP喜欢用tansig
2022-07-06 17:47:00 【老饼讲解-BP神经网络】
原创文章,转载请说明来自《老饼讲解神经网络》:bp.bbbdata.com
关于《老饼讲解神经网络》:
本网结构化讲解神经网络的知识,原理和代码。
重现matlab神经网络工具箱的算法,是学习神经网络的好助手。
目录
为什么BP神经网络一般使用tansig,相信这是很多人的困惑。
我们不妨来分析tansig和logsig的属性、特性、导数等方面,
试图找出为什么倾向使用tansig的原因.
01. 公式分析
公式
tansig和logsig公式如下:
分析
从两者的公式来看,两者并无多大差异,
tansig只是在logsig的基础上进行拉伸平移操作。
两者都依赖指数计算,计算复杂度上无差异。
因此,公式层面上,并不构成倾向选择tansig的理由。
02. 特性分析
特性
当tansig自变量为一维时,它是一条S形曲线。
● 它的取值区间为 (-1,1)
● tansig非线性部分主要集中在【-1.7,1.7】之间,
● 在【-1.7,1.7】外,tansig逐渐趋向饱和。
当logsig自变量为一维时,它是一条S形曲线。
● 它的取值区间为 (0,1)
● logsig非线性部分主要集中在【-1.7,1.7】之间,
● 在【-1.7,1.7】外,logsig逐渐趋向饱和。
分析
从特性的对比,我们并没有发现两者有质的区别,
因为tansig就是将logsig进行拉伸,平移到【-1,1】的取值区间。
在特性上并没有发现太大的区别,
唯一的区别是,两者取值范围不一样。
03. 导数分析
导数
tansig的导数为:
logsig的导数为:
分析
通过导数的对比,
它们两者都可以用自身的值求得导数值,
计算量也一致,
因此,导数上tansig也没有更大的优势,
并不构成倾向使用tansig的原因
笔者的看法
通过以上方方面面的分析,我们几乎看不到tansig比logsig的优势好在哪。
那为什么要用tansig呢?
笔者的看法是,
一、统一输入范围。
二、充分利用激活函数活跃区间
我们知道,上一层的输入就是下一层的输出,
而tansig和logsig的活跃区间在【-1.7,1.7】之间,
在输入层,我们无疑把输入归一化到【-1,1】,
对利用第一个隐层的激活函数活跃区间更加有效。
而采用tansig,则在多隐层的情况下,
每层的输出,即下层的输入仍然是【-1,1】
这样每层的输入范围都是统一的,
且都是有效利用激活函数活跃区间的。
统一性是很有好处的,
至少在理论研究上,可以带来很多便利,
不然还要分别讨论输入层和隐层。
以上是笔者的看法,由于没有文献考证,仅供参考。
边栏推荐
猜你喜欢
![[Niuke] [noip2015] jumping stone](/img/9f/b48f3c504e511e79935a481b15045e.png)
[Niuke] [noip2015] jumping stone

【信号与系统】

Dynamic planning idea "from getting started to giving up"

UI控件Telerik UI for WinForms新主题——VS2022启发式主题

pytorch之数据类型tensor

2022 Google CTF SEGFAULT LABYRINTH wp

Do you understand this patch of the interface control devaxpress WinForms skin editor?

The MySQL database in Alibaba cloud was attacked, and finally the data was found

c语言—数组

Your cache folder contains root-owned files, due to a bug in npm ERR! previous versions of npm which
随机推荐
如何管理分布式团队?
Table table setting fillet
Asset security issues or constraints on the development of the encryption industry, risk control + compliance has become the key to breaking the platform
【案例分享】网络环路检测基本功能配置
2022 Google CTF SEGFAULT LABYRINTH wp
Neon Optimization: an optimization case of log10 function
Meet in the middle
THREE. AxesHelper is not a constructor
taro3.*中使用 dva 入门级别的哦
MySQL script batch queries all tables containing specified field types in the database
Openjudge noi 1.7 10: simple password
Installation and testing of pyflink
Body mass index program, entry to write dead applet project
树莓派/arm设备上安装火狐Firefox浏览器
golang中的WaitGroup实现原理
What are the differences between Oracle Linux and CentOS?
Taro中添加小程序 “lazyCodeLoading“: “requiredComponents“,
Installation of torch and torch vision in pytorch
The cost of returning tables in MySQL
域分析工具BloodHound的使用说明






