【发布时间】:2020-05-11 15:57:18
【问题描述】:
我是初学者,代码纯粹是实验性的,可能会给您带来不便,对此深表歉意(例如:我在 for 循环中使用了大量的连续循环)
假设形式为:- ax^2+bx+c,参数为a、b、c。
测试数据和输出
x=[10,20,30,40,50]
y=[-50,-90,-130,-170,-210]
假设函数
def h(m):
return a*(x[m]**2)+b*x[m]+c
更改参数
for i in range(1,300000000):
for j in range (0,4):
c1=c1+(h(j)-y[j])
b1=b1+(h(j)-y[j])*(x[j])
a1=a1+(h(j)-y[j])*(x[j])**2
a=a-0.00000046*0.20*a1
b=b-0.00000046*0.20*b1
c=c-0.00000046*0.20*c1
成本函数
for k in range(0, 4):
s = s + (h(k) - y[k])**2
cost=1/5*s
答案应该是 a=0、b=-4 和 c=-10 但我得到 a=0.02(每次循环后都会增加)、b=-5.4946 和 c=11 当成本约为 2 时(我没有'实际上并没有结束代码执行,很抱歉给您带来不便)
我哪里做错了?
【问题讨论】:
标签: python machine-learning linear-regression