我对以下代码中的变量有一个奇怪的行为。
为什么w3的输出结尾与w2相同?它在代码中从未改变过,但最终它与w2具有相同的值?
import numpy as np
inpt = np.array([[1]])
w1 = np.random.random((1,1))
w2 = np.random.random((1,1))
w3 = w2
print("First w3: ", w3)
n1 = np.dot(inpt, w1)
n2 = np.dot(n1, w2)
delta = 1 - n2
n1_d = np.dot(delta, w2.T)
w2 += np.dot(n1.T, delta)
w1 += np.dot(inpt.T, n1_d)
print("Second w3: ", w3)
print("Value of w2: ", w2)
首先w3:[[0.98377014]]
第二个w3:[[1.01105407]]
w2的值:[[1.01105407]]
我在这里做错了什么?
答案 0 :(得分:-1)
w3
只是对w2
的引用,因此当您更新w2
w2
的变化