Python 为权重和偏差生成随机向量和矩阵

Python 为权重和偏差生成随机向量和矩阵,python,numpy,sigmoid,Python,Numpy,Sigmoid,我正试图通过传感器x1和x2来了解起火的可能性 y=1 为此,我试图为权重和偏差生成随机向量和矩阵,但我得到了一个错误 import numpy as np np.random.seed(seed=123) w1 = np.random.rand(4,2) b1 = 4*1 x = np.array([0.4, 0.32]) z1 = np.dot(w1,x) + b1 a1 = 1 / (1+np.exp(-z1)) np.random.seed(seed=123) w2 = np.

我正试图通过传感器x1和x2来了解起火的可能性

y=1 
为此,我试图为权重和偏差生成随机向量和矩阵,但我得到了一个错误

import numpy as np

np.random.seed(seed=123)
w1 = np.random.rand(4,2)
b1 = 4*1
x = np.array([0.4, 0.32])

z1 = np.dot(w1,x) + b1
a1 = 1 / (1+np.exp(-z1))

np.random.seed(seed=123)
w2 = np.random.rand(1,4)
b2 = 1*1

z2 = np.dot(w2,x) + b2
a2 = 1 /(1+np.exp(-z2))
但我得到的错误如下:

----> 1 z2 = np.dot(w2,x) + b2
      2 a2 = np.tanh(Z1)
      3 print(a2)

ValueError: shapes (2,4) and (2,) not aligned: 4 (dim 1) != 2 (dim 0)

我不知道如何解决这个问题。

答案在错误中-您试图将矩阵
w2
x
相乘,这两个矩阵的维数无效

矩阵
w2
有1行4列:

>>> w2 = np.random.rand(1,4)
>>> w2.shape
(1, 4)
矩阵
x
有两个条目:

>>> x = np.array([0.4, 0.32])
>>> x.shape
(2,)
因此,不能将这些矩阵相乘-只有当且仅当第一个矩阵
w2
中的列数等于第二个矩阵
x
中的行数时,才能将矩阵相乘。这里,正如错误所说,
4(dim1)!=2(尺寸0)

您可以通过给出
x
四行或
w2
两列来解决此问题


希望这有帮助。

答案在错误中-您正在尝试将矩阵
w2
x
相乘,这两个矩阵的维数无效

矩阵
w2
有1行4列:

>>> w2 = np.random.rand(1,4)
>>> w2.shape
(1, 4)
矩阵
x
有两个条目:

>>> x = np.array([0.4, 0.32])
>>> x.shape
(2,)
因此,不能将这些矩阵相乘-只有当且仅当第一个矩阵
w2
中的列数等于第二个矩阵
x
中的行数时,才能将矩阵相乘。这里,正如错误所说,
4(dim1)!=2(尺寸0)

您可以通过给出
x
四行或
w2
两列来解决此问题

希望这有帮助