首先看一下这个sigmoid函数的图像,以x值的0值作为区分点,在0值范围左右的y轴数据为0~1范围内的数据。python
python实现:app
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函数以及函数所产生的图像,如下我来讲一下通常来讲咱们所但愿激励函数应该是什么样子的。spa
一般来讲,咱们但愿一个数据作了激励后,应该能明确的知道结果应该是true或false,可是对于这种函数,如:code
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。在具体的计算过程当中可能会更灵活。blog
以上就当一个笔记,后续理解若是有出入,再作修改。
ip