为何Neural Network的Node要用Sigmoid Function?

本文探讨了Sigmoid函数在神经网络节点中的使用原因,对比Step函数,详细介绍了Sigmoid函数的数学推导过程及其特性,如平滑连续性及微分性质等,这些特性使得梯度下降算法得以有效实施。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Sigmoid Function, 公式如下:


画成x-y平面座标图,如下:



问题是, Neural Network的Node为何要用Sigmoid Function, 而不用Step Function?我猜原因是, Neural Network本来是用来研究人类大脑神经元的运作, 发现神经元的Input和Output, 用x-y表示, 就是像这张图。 而数学家想要找一个简单的公式, 代表这张图。 如何找?过成如下:


先把 y = 0, 1/2, 1 放到表格的第一列,从这一列开始生出公式。经过步骤1和2之后,产生表格的第3列,公式就快浮出水面了。于是这个问题,就简化为,找∞, 1, 0的公式,这就是经由步骤3后,产生表格的第4列。


印象中,很像之前学过的y = e^x,不过它的值倒过来,是0, 1, ∞。这就是经由步骤4,产生的第5列。而符合第5列的公式,就是e^x,这就是步骤5的结果。为何选e?不选其它的数字?这是因为e有些有趣的特性, 微分后还是自己。 Neural Network的Gradient Descent会用到微分,我会在另一篇说明。 


接下来,我们就往表格的上方走。经由步骤6,产生e^(-x),因为它是左右对称的。最后是步骤7,将e^(-x)放进右下角那块存放∞, 1, 0值的区域。于是,Sigmoid Function就生出来了。


在“Make Your Own Neural Network”这本书提到,Step Function有Threshold,可是Sigmoid Function似乎没有考虑到Threshold?这是我的疑点,下次再去研究它。

-Count

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值