概述
import numpy as np
a=0.01
j=0
#3个权值相加为1
th0=0
th1=1
th2=0
#实验数据(由于原数据过大会溢出,在此进行了缩减)
x1=np.array([2.104,1.600,2.400,1.416,3.000])
x2=np.array([3,3,3,2,4])
y=np.array([4.00,3.30,3.69,2.32,5.40])
#定义了预测值函数
def h(x1,x2):
return th0+th1*x1+th2*x2
for j in range(100):
for i in range(1):
#数组扩充
x1 = np.append(x1,[210.4, 160.0, 240.0, 141.6, 300.0])
x2 = np.append(x2,[3, 3, 3, 2, 4])
y = np.append(y,[4.00, 3.30, 3.69, 2.32, 5.40])
d0 = a * (h(x1[j], x2[j]) - y[j]) * 1
d1 = a * (h(x1[j], x2[j]) - y[j]) * x1[j]
d2 = a * (h(x1[j], x2[j]) - y[j]) * x2[j]
th0=th0-d0
th1=th1-d1
th2=th2-d2
if -0.01<d0<0.01 and -0.01<d1<0.01 and -0.01<d2<0.01:
print(th0, th1, th2)
break
运行结果如图所示:
.
最后
以上就是危机火车为你收集整理的梯度下降算法实现的全部内容,希望文章能够帮你解决梯度下降算法实现所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复