import numpy as np
import matplotlib.pyplot as plt
import random
data=np.loadtxt("1.txt",delimiter=",")
print(data)
_xs=data[:,0]
_ys=data[:,1]
# print(_xs)
# print(_ys)
plt.scatter(_xs,_ys,c="red",marker="*")
# plt.show()
w=random.random()
b=random.random()
for _ in range(1000):
for x,y in zip(_xs,_ys):
o=x*w+b
e=o-y
loss=e**2
#学习率或步长
l=0.01
dw=-2*e*x
db=-2*e
w=w+dw*l
b=b+db*l
print(w,b)
a=list(range(10))
b=[w*i+b for i in a]
plt.plot(a,b,c="green")
plt.show()
梯度下降法的代码实现
最新推荐文章于 2024-03-15 15:07:35 发布