首页 > 其他分享 >使用梯度下降法求解线性回归

使用梯度下降法求解线性回归

时间:2022-11-07 22:13:26浏览次数:42  
标签:Loss dL plt 求解 梯度 random np tf 线性

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()

 

标签:Loss,dL,plt,求解,梯度,random,np,tf,线性
From: https://www.cnblogs.com/ljq20204136/p/16867650.html

相关文章

  • 1 线性表
    1.线性表(list):零个或多个数据元素的有限序列2.线性表的顺序存储结构优点:(1)无须为表示表中元素之间的逻辑关系而增加额外存储空间;(2)可快速存取表中任一位置元素缺点:(1)......
  • 深度学习基础课:全连接层的梯度检查
    大家好~我开设了“深度学习基础班”的线上课程,带领同学从0开始学习全连接和卷积神经网络,进行数学推导,并且实现可以运行的Demo程序线上课程资料:本节课录像回放1加QQ群,获......
  • 在二分类问题中Sigmoid函数是否越训练梯度越小。
    背景二分类问题,最后一层的输出函数为sigmoid函数。随着训练是否会出现梯度衰减的情况。训练时模型为了降低损失函数,会尽可能提高正类的置信度降低负类的置信度。代码:f......
  • 梯度衰减调大学习率管用吗?
    不管用。因为学习率乘以梯度是步长,而梯度衰减返回的梯度是0所以调大学习率不管用。fromenumimportautofromscipy.ioimportloadmatimportnumpyasnpimporttor......
  • 线性DP
    线性DP例题1:TakandCardsAtCoderARC060ATakandCards有\(n\)个整数。第\(i\)个数的值为\(x_i\)。从这些整数中挑选\(1\)个及以上,使选择的整数的平均数等......
  • 回归分析 3.X 多元线性回归
    多元线性回归模型参数估计模型表示我们先将模型\[y_{i}=\beta_{0}+\beta_{1}x_{i1}+\cdots+\beta_{p}x_{ik}+\epsilon_{i},\quadi=1,\cdots,n\]表示为下列矩......
  • 拓端数据tecdat|R语言多项式回归拟合非线性关系
     多项式回归是独立x变量和因果y变量之间的非线性关系。当我们分析有一些弯曲的波动数据时,拟合这种类型的回归是很关键的。 在这篇文章中,我们将学习如何在R中拟合和绘制多......
  • 原来输入值过大导致非线性梯度衰减是10年前他们解决的问题
    论文:BatchNormalization:AcceleratingDeepNetworkTrainingby ReducingInternalCovariateShiftInpractice,thesaturationproblemandtheresultingvani......
  • R语言分布滞后线性和非线性模型(DLM和DLNM)建模|附代码数据
    全文下载链接:http://tecdat.cn/?p=18700本文说明了R语言中实现分布滞后线性和非线性模型(DLM和DLNM)的建模。首先,本文描述了除时间序列数据之外的DLM/DLNM的一般化方法,在G......
  • 【线性代数】抽丝剥茧系列汇总篇
    耗时两周,说长不长,说短不短,总算肝完了。ProfessorStrang讲的线代真的深入浅出,这次算是真正线性代数入了门,看到与线代相关的东西不会怯了!目录:【线性代数】抽丝剥茧系列......