(1)np.random.randn()函数
语法:
np.random.randn(d0,d1,d2……dn)
1)当函数括号内没有参数时,则返回一个浮点数;
2)当函数括号内有一个参数时,则返回秩为1的数组,不能表示向量和矩阵;
3)当函数括号内有两个及以上参数时,则返回对应维度的数组,能表示向量或矩阵;
4)np.random.standard_normal()函数与np.random.randn()类似,但是np.random.standard_normal()的输入参数为元组(tuple).
5)np.random.randn()的输入通常为整数,但是如果为浮点数,则会自动直接截断转换为整数。
作用:
通过本函数可以返回一个或一组服从标准正态分布的随机样本值。
应用场景 :
在神经网络构建中,权重参数W通常采用该函数进行初始化,当然需要注意的是,通常会在生成的矩阵后面乘以小数,比如0.01,目的是为了提高梯度下降算法的收敛速度。
如: W = np.random.randn(2,2)*0.01
(2)np.random.seed(参数)
是为了生成随机数 里面的参数相同,则生成的随机数相同
np.random.seed(1)
a = np.random.randn(1, 2)
print(a)
print("------------------------")
np.random.seed(2)
a = np.random.randn(1, 2)
print(a)
print("------------------------")
np.random.seed(1)
a = np.random.randn(1, 2)
print(a)
输出结果 :
[[ 1.62434536 -0.61175641]]
------------------------
[[-0.41675785 -0.05626683]]
------------------------
[[ 1.62434536 -0.61175641]
3 range()函数
range(first, last, step)函数 里面有三个参数 可以 看出来 里面有三个参数 最后一个参数为步长 看代码:
L = len(layer_dim)
for l in range(1, L):
print(l)
print("------")
L = 2
for l in range(L):
print(l)
print("------")
L = 4
for l in range(1,L, 2):
print(l)
输出结果为:
1
2
------
0
1
------
1
3
(4)np.sqrt(x) : 计算数组各元素的平方根
layer_dim = [5, 4, 3]
L = len(layer_dim)
a = np.sqrt(layer_dim[1])
输出结果为:2.0