我正在编写一些基本的神经网络方法--特别是激活函数--并且触及了我数学知识的极限。我理解各自的范围(-1/1) (0/1)等等,但不同的描述和实现使我感到困惑。
特别是乙状结肠,物流,双极乙状结肠,塔纳等。
乙状结肠是否只是简单地描述函数的形状,而不考虑范围?如果是这样的话,那么tanh是'sigmoid函数‘吗?
我在一篇文章中看到了“双极乙状结肠”与“tanh”的比较,但是我看到了用相同的代码实现的两个函数(在不同的库中):
(( 2/ (1 + Exp(-2 *n))- 1)它们是完全一样的吗?
同样,我也看到逻辑和乙状结肠激活是用相同的代码实现的:
( 1 / (1+ Exp(-1 *n))这些也是等价物吗?
最后,在实践中,这有多重要?我在wiki上看到了一个非常相似的sigmoid函数的图 --它们中的任何一个能被使用吗?有些看起来比其他的要快得多。
发布于 2014-08-22 23:48:49
通常最重要的差异是a.光滑的连续可微性,如tanh和logistic对step或截断b.竞争对转移c.乙状结肠对径向d.对称(-1,+1) vs不对称(0,1)
通常,隐藏层需要可微性的需求,而tanh通常被推荐为更加平衡。对于tanh,0位于最快点(最高梯度或增益),而不是陷阱,而对于logistic 0,则是最低点,对于任何深入到负域的东西都是陷阱。径向(基)函数是关于与典型原型的距离,对于神经元的凸圆形区域是好的,而乙状结肠函数是关于对半空间的线性和良好的分离-它将需要许多对一个凸区域的良好逼近,圆/球面区域是最差的乙状结肠和最好的径向。
通常,推荐在中间层上进行+/-平衡,并使输出层适合于任务(具有阈值、逻辑或竞争性输出的布尔/二分类决策(例如softmax,logistic的自规范化多类泛化);回归任务甚至可以是线性的)。输出层不需要连续可微性。输入层应该以某种方式规范化,或者以0,1或更好的方式标准化或规范化,降级为-1,+1。如果您包含一个虚拟输入1,那么将so _如果对示例进行规范化,这在技术上会干扰您的测试数据,否则它们可能超出了范围,如果您不这样做的话。但是,如果这些变化或错误是自然分布或错误的影响,则这些变化或错误应该接近正态分布。这意味着,他们的高概率,他们不会超过原来的范围(可能约2标准差)超过一个小的因素(即。这种超限值被视为异常值,而不是显着性)。
因此,我建议在输入层(可能是用SVD进行数据约简)、隐层上的tanh和输出分类的阈值函数、逻辑函数或竞争函数进行无偏实例规范化或有偏倚模式标准化,但对于非归一化目标或归一化目标,建议采用线性或对数回归。
发布于 2015-02-02 02:44:20
这个词是(我已经测试过),在某些情况下,使用tanh可能比使用logistic更好。
Y = 0上输出logistic上的权值w时,在0附近产生的值对其影响的上层影响不大(尽管缺勤也会影响),而上的Y = -1值乘以权值w产生的值可能会产生更多的数值效应。1 - y^2)的导数值大于logistic (y (1 -y) = y - y^2)。例如,当z = 0时,logistic函数生成y = 0.5和y' = 0.25,用于tanh y = 0但y' = 1 (一般只通过查看图表就可以看到这一点)。的意思是,由于梯度的大小,tanh层可能比逻辑层学习得更快。发布于 2015-09-23 09:23:05
双极乙状结肠=(1-e^(-x)/(1+ e^(-x))
详细解释可在这里上找到
https://stackoverflow.com/questions/11847133
复制相似问题