numpy广播
(m,n) +,-,*,/ (m,1)
先将(m,1)复制n次,构成(m,n)矩阵,然后再进行+,-,*,/运算
(m,n) +,-,*,/ (1,n)
先将 (1,n)复制m次,构成(m,n)矩阵,然后再进行+,-,*,/运算
(m,1) +,-,*,/ real(一个实数)
先将实数复制m次,构成(m,1) 矩阵,然后再进行+,-,*,/运算
(1,n) +,-,*,/ real(一个实数)
先将实数复制n次,构成(1,n)矩阵,然后再进行+,-,*,/运算
demo1
import numpy as np
A=np.array([[56.0,0.0,4.4,68.0],
[1.2,104.0,52.0,8.0],
[1.8,135.0,99.0,0.9]])
print(A)
# 每列求和
cal=A.sum(axis=0) # axis=0:垂直方向(求和)
# axis=1:水平方向(求和)
print(cal)
percentage=100*A/cal.reshape(1,4) # 这里,reshape(1,4)其实可以不必使用;但使用可以确保矩阵(向量)的维数是我们想要的大小
# A是一个3*4的矩阵,而cal是一个1*4的矩阵,这里,用到了广播
print(percentage)
demo2
# logistic regression中,前向传播
z(i)=wT*x(i)+b
Z=wT*X+b # b也是一个广播