np.newaxis的功能:插入新维度
目前经常用在机器学习numpy中的矩阵运算
这样改变维度的作用往往是将一维的数据转变成一个矩阵,与代码后面的权重矩阵进行相乘, 否则单单的数据是不能呢这样相乘的哦。
举个简单的例子介绍一下吧。
栗子1:
a=np.array([1,2,3,4,5])
print(a.shape)
print (a)
输出:
(5,)
[1 2 3 4 5]
栗子2:
a=np.array([1,2,3,4,5])
aa=a[:,np.newaxis]
print(aa.shape)
print (aa)
输出:(5, 1)
[[1]
[2]
[3]
[4]
[5]]
栗子3:
a=np.array([1,2,3,4,5])
aa=a[np.newaxis,:]
print(aa.shape)
print (aa)
输出
(1, 5)
[[1 2 3 4 5]]
看明白了吧,原来np.newaxis的作用是增加一个维度。
对于[: , np.newaxis] 和 [np.newaxis,:]
是在np.newaxis这里增加1维。
真实案例
gradient_w在执行np.mean后会成为一维数组,由于后续需要梯度下降计算
必须将gradient_w转换为二维矩阵。