import numpy as np
import tensorflow as tf
import matplotlib.pyplot as plt

# 导入数据
x=np.array([137.97,104.50,100.00,124.32,79.20,99.00,124.00,114.00,106.69,138.05,53.75,46.91,68.00,63.02,81.26,86.21])
y=np.array([145.00,110.00,93.00,116.00,65.32,104.00,118.00,91.00,62.00,133.00,51.00,45.00,78.50,69.65,75.69,95.30])
# 设置超参数
learn_rate=0.0001
iter=10
display_step=1
# 随机初始化参数
np.random.seed(6)
w=tf.Variable(np.random.randn())
b=tf.Variable(np.random.randn())
# 梯度下降
mse=[]

for i in range(0,iter+1):
    
    with tf.GradientTape() as tape:
        pred=w*x+b
        Loss=0.5*tf.reduce_mean(tf.square(y-pred))
    mse.append(Loss)
    
    dL_dw,dL_db=tape.gradient(Loss,[w,b])
    
    w.assign_sub(learn_rate*dL_dw)
    b.assign_sub(learn_rate*dL_db)
    
    if i % display_step==0:
        print('i: %i,Loss: %f,w: %f, b: %f' % (i,Loss,w.numpy(),b.numpy()))
    
# 可视化
plt.plot(mse)

plt.xlabel('Iteration',fontsize=14)
plt.ylabel('Loss',fontsize=14)
plt.show()

 

原文地址:http://www.cnblogs.com/ljq20204136/p/16867650.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性