我是靠谱客的博主 美丽彩虹,最近开发中收集的这篇文章主要介绍神经网络——sigmod函数、激活函数、损失函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

sigmod函数通常作为激活函数

sigmod函数

这里写图片描述
这里写图片描述
导数
这里写图片描述

sigmod函数作用

这个看了很久一直不明白,但是多看几次总没错,因为在看了n次之后的现在我明白了。
简单的理解就是:将输入的值收敛起来(光滑和约束)。
如果是发散的,那就没有规律了
让一些没有规律的数字展现出规律来,
而函数的作用就是将输入转为另外一种输入,将问题转为另一个问题
这就是我的理解,暂时也不知道对不对,有新的理解了再来更新

有点

求导容易
数据在传递(从原始输入到最终输出)的过程中不易发散
输出范围为(0,1)可以表示概率

不足

sigmoid 的软饱和性,使得深度神经网络在二三十年里一直难以有效的训练,是阻碍神经网络发展的重要原因。具体来说,由于在后向传递过程中,sigmoid向下传导的梯度包含了一个 f′(x) 因子(sigmoid关于输入的导数),因此一旦输入落入饱和区,f′(x) 就会变得接近于0,导致了向底层传递的梯度也变得非常小。此时,网络参数很难得到有效训练。这种现象被称为梯度消失。一般来说, sigmoid 网络在 5 层之内就会产生梯度消失现象

导数的作用

导数也可以理解为梯度,导数越小,表示越接近(猜测,未定)

激活函数(AF activate function)

relu、sigmod、tanh、softplus、softMax(算概率)
这里写图片描述
这里写图片描述
sigmod常用来做激活函数,那么激活函数的作用是什么呢?
主要作用是:提供网络的非线性建模能力
当神经网络只有2、3层的时候,对于隐藏层,任意激活函数都可以,影响不大。
当神经网络有很多层的时候,不能随意选择激活函数,因为有可能会产生梯度爆炸,梯度消失等问题
也可以自己创建自己的激励函数,不过激励函数必须是可以微分的。
因为只有可微分的激励函数才能把误差反向传递回去。
常用规则:
普通的神经网络,可以使用任意的
卷积神经网络的卷积层,推荐使用relu
循环神经网络,推荐使用tanh或者relu

损失函数(cost)

cost是价值的意思,大概理解为所需要付出的价值,即损失

是用来计算预测值与实际值之间的差的,通常用平方差函数
这里写图片描述
a表示我们预测的值,也就是输出,y表示实际的值。
输出与我们的期望(实际值,正确值)相差越大,则损失越大

平方差函数的不足

依然是饱和性,不如交叉熵函数

暂时先这样


欢迎关注我的微信公众号:云端看大地
正准备写一个预测彩票的系列文章,敬请期待

pagetan

最后

以上就是美丽彩虹为你收集整理的神经网络——sigmod函数、激活函数、损失函数的全部内容,希望文章能够帮你解决神经网络——sigmod函数、激活函数、损失函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部