首页 > 其他分享 >3-随机梯度下降

3-随机梯度下降

时间:2024-08-12 18:39:06浏览次数:6  
标签:return 梯度 下降 data epoch 随机 grad


随机梯度下降可以跨越鞍点
对每一个样本的梯度进行更新

点击查看代码
import numpy as np
import matplotlib.pyplot as plt

x_data = [1.0, 2.0, 3.0]
y_data = [2.0, 4.0, 6.0]

w = 1.0

def forward(x):
    return x * w

def loss(x,y):
    y_pred = forward(x)
    return (y_pred - y) ** 2

def gradient(x, y):
    return 2 * x * (w*x - y)

for epoch in range(100):
    for x, y in zip(x_data, y_data):
        grad = gradient(x, y)
        w = w - 0.01*grad
        l = loss(x, y)

    print('epoch:', epoch, 'loss:', l, 'grad:', grad)

注意随机梯度下降w的更新是不可以并行的,所以运算性能不是很高

为了平衡随机梯度下降和梯度下降算法各自的缺点,我们可以使用批量梯度下降算法

标签:return,梯度,下降,data,epoch,随机,grad
From: https://www.cnblogs.com/morehair/p/18355526

相关文章

  • 8.11 随机组题,随机做题
    8.11EpicRoundAugest2024(Div.1+Div.2)Solve:A~C+E+F1(4.5/8)Rank:463Rating:\(2116+58=2174\)Perf:2348发挥评价:Normal这场排名比上次低,但是Perf比上次高,怎么回事呢。不过还是降智了没搞出来D,但凡冲出来D1都可以进300名并获得Grandmaster的P......
  • 2-梯度下降算法
    梯度下降算法只能保证找到的是局部最优,不是全局最优平常我们经过大量实验,发现局部最优点不是很多,所以可以使用梯度下降算法。但是还要提防鞍点下面进行实现梯度下降算法点击查看代码importnumpyasnpimportmatplotlib.pyplotaspltx_data=[1.0,2.0,3.0]y_......
  • 递归下降语法分析
    递归下降本质递归下降使用递归推导方式来解析语法,其要求文法能够使用递归方法追个推导,最终达到文法匹配的目的。例如如下计算逻辑表达式的BNF文法: <expr>::=<term><expr_tail> <expr_tail>::='&'<term><expr_tail> |'|'<term><expr_t......
  • [软件工具]随机地址生成工具极速版使用教程
    【极速版随机地址生成器】——您的便捷生活小助手!在快节奏的生活中,无论是填写问卷、注册账号还是保护个人隐私,一个安全、快速的地址生成工具都是不可或缺的。我们精心打造的“极速版随机地址生成器”,一键快速生成随机地址,支持导出TXT或者excel格式,可以方便后续处理和二次加工......
  • 随机图片又双叒叕炸啦
    原因自从上次使用sealosCloud重新搭建随机图片后,没过多久就发现随机图片又炸了,检查后发现上次部署时我是拉取了php:7.4-apache镜像然后直接在容器里加入我的代码,但是这样的后果就是如果容器炸了,它重启后就会使用镜像重新起一个容器,所以我之前加入的代码就没了。所以这次我决定自......
  • 编写一个函数接受这些参数:内含int类型元素的数组名,数组的大小和一个代表选取次数的值
    /编写一个函数接受这些参数:内含int类型元素的数组名,数组的大小和一个代表选取次数的值。该函数从数组中随机指定数量的元素,并打印他们。每个元素只能选择一次(模拟抽奖数字或挑选陪审团成员)。另外,如果你的实现有time()或类似的函数,可以在srand()中使用这个函数的输出来初始化......
  • 【mysql随机获取3条不重复数据】最佳实践
    需求:从商品库中随机获取3个不重复的商品,推荐给用户。假设product表数据为10000行。方案一【最佳实际】1.mysql数据库中获取所有商品数据的IDselectidfromproduct;2.通过Java获取随机3个商品ID//假设List中存的为上述数据库ID值List<Integer>productIdList=newA......
  • openvslam 优化误差问题 随机一致性 核函数 信息矩阵(高斯牛顿)
     优化问题  我们的目标就是找到一组a,b,λa,b,\lambdaa,b,λ的解,使得式(1)整体值最小,也就是各个点到曲线的距离在y方向的和最小。 鲁棒核函数假设现在散点中一个很离谱的错误点由于右上角那个离谱的点,导致优化时将整个函数被拉偏了(可以对比图3)。那么怎么解决......
  • C语言随机数的生成
    目录前言一、 随机数⽣成1.rand2.srand 3.time4.设置随机数的范围 总结前言我们在前面已经学到了分支和循环结果,掌握了前面的知识,我们已经可以写一点有趣的代码了一、 随机数⽣成要想完成猜数字游戏,⾸先得产⽣随机数,那怎么产⽣随机数呢?1.randC语⾔提供了⼀......
  • 梯度累计讲解-支持更大的batch
    在对比学习(ContrastiveLearning)中,梯度累计(GradientAccumulation)是一种技术,用于在内存有限的情况下实现大批量(LargeBatch)训练。这个操作通过将多个小批次的梯度累加起来,再进行一次权重更新,从而模拟大批次训练的效果。以下是梯度累计的基本操作步骤:初始化:在训练开始时,初始化......