为权重和偏差生成随机向量和矩阵
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)
我不知道如何解决这个问题。
答案在错误中 - 您正在尝试将矩阵 w2
和 x
相乘,它们的相乘维度无效。
矩阵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
两列来解决此问题。
希望这对您有所帮助。
我正在尝试根据传感器 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
有 2 个条目:
>>> x = np.array([0.4, 0.32])
>>> x.shape
(2,)
因此,您不能将这些矩阵相乘 - 只有当且仅当第一个矩阵 w2
中的列数等于第二个矩阵 x
。在这里,正如错误所说,4 (dim 1) != 2 (dim 0)
.
您可以通过给定 x
四行或 w2
两列来解决此问题。
希望这对您有所帮助。