經常使用的激活函數

1.階躍函數函數

,值域{0,1}spa

1 def step_function(x):
2     return np.array(x>0,dtype=np.int)

2.sigmoid函數3d

,值域(0,1)code

1 def sigmoid(x):
2     return 1/(1+np.exp(-x))

3.relu函數blog

,值域[0,+∞)內存

1 def relu(x):
2     return np.maximum(0,x)

4.leaky relu函數io

,值域Rfunction

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函數class

,值域(-1,1)bfc

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()
相關文章
相關標籤/搜索