入门机器学习之前要懂得运用numpy的一些数组函数进行操作,今天就学习三个深度学习相关的函数
一个是阶跃函数,一个是sigmoid函数,还有一个是relu函数,用matplotlib显示出来,这三个个都是生成阶跃函数,但是两个个是折线,另一个是平滑的曲线,先来看看代码。
import numpy as np
import matplotlib as plt
def function(x):
return np.array(x>0,dtype = np.int)
Ty =np.arange(-5.0,5.0,0.1) # 生成 -5.0 到5.0 步进为0.1 的矩阵
T = function(Ty)
plt.plot(Ty,T)
plt.ylim(-0.1,1.1)
plt.show
1
2
def function(x):
3
return np.array(x>0,dtype = np.int)
4
Ty =np.arange(-5.0,5.0,0.1) # 生成 -5.0 到5.0 步进为0.1 的矩阵
5
T = function(Ty)
6
plt.plot(Ty,T)
7
plt.ylim(-0.1,1.1)
8
plt.show
Out[27]:
!阶跃函数](https://img-blog.csdnimg.cn/20190311213559393.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMwMDc4NzUx,size_16,color_FFFFFF,t_70)
1
def sigmoid_fun(x):
2
return 1/(1+np.exp(-x))
3
R_l = np.arange(-5.0,5.0,0.1)
4
5
R_y = sigmoid_fun(R_l)
6
7
plt.plot(R_l,R_y)
8
9
plt.ylim(-0.1,1.1)
10
plt.show()
11
12

13
14
def Relu_function(x): # 输入一个数,如果小于等于0,则输出0,如果大于0,则返回该数
return np.maximum(0,x)
R_x = np.arange(-1.2,2.5,0.05) # 生成 -1.2 到2.5 步进为0.1的数组
R_Y = Relu_function(R_x)
plt.plot(R_x,R_Y)
plt.ylim(-2.0,3)
plt.show()
输出 :

函数中的exp(-x) 其实就是e^(-x) , e就是纳皮尔常数 2.7182。。。。