1.阶跃函数
,值域{0,1}
1 def step\_function(x):
2 return np.array(x>0,dtype=np.int)
2.sigmoid函数
,值域(0,1)
1 def sigmoid(x):
2 return 1/(1+np.exp(-x))
3.relu函数
,值域[0,+∞)
1 def relu(x):
2 return np.maximum(0,x)
4.leaky relu函数
,值域R
1 def leaky\_relu(x):
2 value = \[i if i >= 0 else 0.01\*i for i in x\]
3 return np.array(value)
5.tanh函数
,值域(-1,1)
1 def tanh(x):
2 e\_a = np.exp(-2\*x)
3 y=(1-e\_a)/(1+e\_a)
4 return y
6.softmax函数
,值域[0,1]
1 def softmax(x): 2 e\_a = np.exp(x) 3 sum\_e\_a = np.sum(e\_a) 4 y=e\_a/sum\_e\_a
5 return y 6 #或者,考虑可能出现内存溢出问题,减去一个常数
7 def softmax(x): 8 c=np.max(x)
9 e\_a = np.exp(x-c)
10 sum\_e\_a = np.sum(e\_a)
11 y=e\_a/sum\_e\_a
12 return y
7.画图程序
1 x=np.arange(-5,5,0.1)
2 y=softmax(x)#可替换为其它函数
3 plt.plot(x, y)
4 plt.ylim(-1.1, 1.1)
5 plt.show()