你好同学,这个神经网络比较简单哦
from math import *
a = 0.5
b = 0.5
y_t = 1.
x_1, x_2 = 6, 2
# 正向传播
y1 = a*x_1 + b* x_2
y2 = 1/(1+exp(-y1))
y_p = y2
L = (y_t-y_p)**2
# 求导数然后链式法则
dLdy_p = 2*(y_t-y_p)*(-1)
dy_pdy1 = y_p*(1-y_p)
dy1da = x_1
dy1db = x_2
dLda = dLdy_p*dy_pdy1*dy1da#反向传播
dLdb = dLdy_p*dy_pdy1*dy1db#反向传播
r = 0.001
a = a - r*dLda
b = b - r*dLdb
print("a={}, b={}".format(a,b))
结果:
a=0.5000038122217094, b=0.5000012707405698
如有帮助,还请题主给个采纳支持一下答主答题哟