激励函数的作用之sigmoid
首先看一下这个sigmoid函数的图像,以x值的0值做为区分点,在0值范围左右的y轴数据为0~1范围内的数据。
python实现:
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,但是对于这种函数,如:
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。在具体的计算过程中可能会更灵活。
以上就当一个笔记,后续理解如果有出入,再做修改。

阅读 4k
Kumfo的杂货铺
做一些经验总结和一些学习心得分享,主要围绕PHP。 现在正在学习机器学习,会增加一些机器学习的思考分享。
kumfo
SegmentFault 后端工程师
程序生存法则:ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎...
6.2k 声望
4k 粉丝
0 条评论
得票最新
kumfo
SegmentFault 后端工程师
程序生存法则:ฏ๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎๎...
6.2k 声望
4k 粉丝
文章目录
宣传栏