首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >激励函数的作用之sigmoid

激励函数的作用之sigmoid

作者头像
全栈程序员站长
发布2022-07-20 15:28:45
发布2022-07-20 15:28:45
5800
举报

大家好,又见面了,我是全栈君。

首先看一下这个sigmoid函数的图像,以x值的0值做为区分点,在0值范围左右的y轴数据为0~1范围内的数据。

python实现:

代码语言:javascript
复制
from math import e

from matplotlib import pyplot as plt

xs = []
ys = []

def sigmoid(x):
    y = 1. / (1. + e **(-x))
    return y;

for x in range(-1000,1001):
    x = x * 0.1
    y = sigmoid(x)
    xs.append(x)
    ys.append(y)

print(xs)
print(ys)

plt.plot(xs,ys)
plt.show()

核心思想是公式:

以上我所展示的是sigmoid函数以及函数所产生的图像,以下我来说一下一般来说我们所希望激励函数应该是什么样子的。

通常来说,我们希望一个数据做了激励后,应该能明确的知道结果应该是true或false,但是对于这种函数,如:

代码语言:javascript
复制
def f(x):
    if(x < 0):
    return 0;
    if(x > 0):
    return 1;

所产生的函数是不连续且不可求导的,那么在计算过程中就会非常的不方便,sigmoid其实相当于做了折中处理。且在具体的计算过程中,根据实际情况,也许产生的S(x)可能取值在0~0.5以及0.5~1分别分成两类。也有可能是0~0.8,0.8~1。在具体的计算过程中可能会更灵活。

以上就当一个笔记,后续理解如果有出入,再做修改。 

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/107807.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年3月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档