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

Generating Random vectors and matrices for weights and bias

我正在尝试根据传感器 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)

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

答案在错误中 - 您正在尝试将矩阵 w2x 相乘,它们的相乘维度无效。

矩阵w2有1行4列:

>>> w2 = np.random.rand(1,4)
>>> w2.shape
(1, 4)

矩阵 x 有 2 个条目:

>>> x = np.array([0.4, 0.32])
>>> x.shape
(2,)

因此,您不能将这些矩阵相乘 - 只有当且仅当第一个矩阵 w2 中的列数等于第二个矩阵 x。在这里,正如错误所说,4 (dim 1) != 2 (dim 0).

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

希望这对您有所帮助。