梯度下降(BGD)、随机梯度下降(SGD)、Mini-batch Gradient Descent、带Mini-batch的SGD

2023-10-30

一、回归函数及目标函数

以均方误差作为目标函数(损失函数),目的是使其值最小化,用于优化上式。

二、优化方式(Gradient Descent)

1、最速梯度下降法

也叫批量梯度下降法Batch Gradient Descent,BSD

a、对目标函数求导

b、沿导数相反方向移动theta

原因:

(1)对于目标函数,theta的移动量应当如下,其中a为步长,p为方向向量。


(2)对J(theta)做一阶泰勒级数展开:

(3)上式中,ak是步长,为正数,可知要使得目标函数变小,则应当<0,并且其绝对值应当越大越好,这样下降的速度更快。在泰勒级数中,g代表J(theta k)的梯度,所以为了使得为负并且绝对值最大,应当使theta的移动方向与梯度g相反。


2、随机梯度下降法(stochastic gradient descent,SGD)

SGD是最速梯度下降法的变种。

使用最速梯度下降法,将进行N次迭代,直到目标函数收敛,或者到达某个既定的收敛界限。每次迭代都将对m个样本进行计算,计算量大。

为了简便计算,SGD每次迭代仅对一个样本计算梯度,直到收敛。伪代码如下(以下仅为一个loop,实际上可以有多个这样的loop,直到收敛):


(1)由于SGD每次迭代只使用一个训练样本,因此这种方法也可用作online learning。

(2)每次只使用一个样本迭代,若遇上噪声则容易陷入局部最优解。

3、Mini-batch Gradient Descent

(1)这是介于BSD和SGD之间的一种优化算法。每次选取一定量的训练样本进行迭代。

(2)从公式上似乎可以得出以下分析:速度比BSD快,比SGD慢;精度比BSD低,比SGD高。

4、带Mini-batch的SGD

(1)选择n个训练样本(n<m,m为总训练集样本数)

(2)在这n个样本中进行n次迭代,每次使用1个样本

(3)对n次迭代得出的n个gradient进行加权平均再并求和,作为这一次mini-batch下降梯度

(4)不断在训练集中重复以上步骤,直到收敛。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

梯度下降(BGD)、随机梯度下降(SGD)、Mini-batch Gradient Descent、带Mini-batch的SGD 的相关文章

随机推荐

  • delphi 硬盘特理序列号

    unit DiveID interface I CnPack inc uses Classes Windows SysUtils ExtCtrls const RelationCache 2 RelationNumaNode 1 Relat
  • 重庆思庄Linux技术分享-四种解决”Argument list too long”参数列表

    四种解决 Argument list too long 参数列表过长的办法 在linux中删除大量文件时 直接用rm会出现 bash bin rm 参数列表过长 的错误 这时可以用find命令来结合使用 例 1 rm rf 改为 find
  • linux系统下安装搜狗输入法(小白)

    第一次尝试使用linux系统 开头就被输入法困住了 记录一下安装搜狗输入法的过程 参考博客 http t csdn cn eGtX1 http t csdn cn oiV3Y 打开终端 首先要安装依赖 sudo yum install ep
  • TortoiseGit安装中文语言包无法切换语言

    TortoiseGit安装中文语言包切换不了中文 网上有很多解决方案思路 1 检查TortoiseGit版本要和语言包版本一致或语言包版本要高于TortoiseGit版本 2 查看语言包版本就莫名其妙的好了 3 主要原因是TortoiseG
  • 【你不知道的JavaScript】(01)基础+数组+字符串+数字

    本文章仅针对我自己在看书过程中对一些不太清楚的知识点进行查漏补缺 你不知道的JavaScript 中卷 第一部分类型和语法中的 第一章 第二章 JavaScript基础 JavaScript是什么类型的语言 动态类型语言 在运行期进行类型检
  • 计算机二级c语言程序题怎么评分,计算机二级编程题怎么给分

    二级考试的程序设计题没有步骤分 只有零分和满分 考计算机二级的编程题可以用c语言的编译器运行 考试一般是VC 6 0编译器运行 计算机二级成绩评定流程 1 成绩评定流程如下 各级上机考试的成绩由考生交卷后由计算机直接评分给出 机器阅卷 并由
  • JDBC-MySql基础

    JDBC MySql 概述 使用步骤 mysql为例 导入驱动jar包 注册驱动 获取数据库连接对象Connection 执行sql语句 PreparedStatement和Statement的区别 处理结果 释放资源 JDBC工具类 概述
  • Linux的常见指令

    目录 pwd命令 ls 指令 mkdir指令 touch指令 cd 指令 rmdir指令 rm 指令 man指令 nano cp指令 mv指令 cat指令 more指令 less指令 head指令 tail指令 grep指令 热键 zip
  • 【WEB】[极客大挑战2019]EasySQL WP

    0X0000000000000001 审题 其实由题目可以知道这是道SQL注入 然后看到登录 首先尝试万能密码 admin or 1 1 红色部分为切入点 其他随意 这道题的username随便 如名字所说 这是一道很ez的SQL注入
  • MATLAB实现Newton Cotes求积

    clear syms t x f x input 请输入函数f x a input 请输入区间下限 b input 请输入区间上限 n input 请输入n 即将区间几等分 h b a n for i 1 n 1 将区间n等分后 计算各节点
  • 【第 46 天】给定 q 个询问查询任意子数组的和

    本文已收录于专栏 Java入门一百练 学习指引 序 专栏前言 一 前缀和 二 例题1 1 题目描述 2 解题思路 3 模板代码 4 代码解析 三 例题2 1 题目描述 2 解题思路 3 模板代码 4 代码解析 四 例题3 1 题目描述 2
  • Xilinx FIFO RST复位

    记录在使用Xilinx的FIFO Generate的时候遇到的问题 modelsim仿真和ILA都能遇到 full empty 等信号一直keep high 直接原因 以下内容说的都是Asynchronous Reset 在手册pg057
  • storm使用(二)–使用java操作storm

    storm使用 二 使用java操作storm 文章目录 storm使用 二 使用java操作storm 一 简介 二 storm特点 2 1 元组可靠性保证 2 2 容错性 2 3 可与任何语言使用 三 storm基础接口 3 1 org
  • MQTT协议-MQTT协议解析(MQTT数据包结构)

    MQTT 目前物联网的最主要的协议之一 基本上所有的IOT云平台都使用了MQTT 比如机智云 中国移动的oneNet 百度的云平台 阿里物联网云平台 虽然MQTT很火 但是目前对MQTT的资料确实很少 尤其是在如何移植到嵌入式上来 大部分的
  • 使用chatgpt生成快速入眠笔记

    以下是使用chatgpt生成快速入眠笔记的简单过程 可以发现 增加详细两个字 可以让它表述的更明白 通过询问 还有其他方法吗 获取更多可能性 当然你也可以直接说继续 但实测继续有时候不会记住上一条提问 详细讲解一下程序员怎么快速入眠 程序员
  • 6开机白苹果一闪一灭_苹果6s开机一直显示白苹果,过会就直接黑屏,重复一直这样...

    展开全部 苹果6s开机一直显示白苹果过会就直接黑屏的原因是 1 在32313133353236313431303231363533e78988e69d8331333365643661为苹果手机更新升级时出现意外情况 2 是一些越狱的手机会遇
  • Unity实战篇:使用图片制作自己的艺术字

    本篇博客我将和大家一起从零开始根据图片制作自己的艺术字 不包括汉字 准备工作 BMFront http www angelcode com products bmfont 编写艺术字体生成工具 Author 烟雨迷离半世殇 Mail 177
  • linux查看 rsync 服务状态

    root rsync server 1 lsof i tcp 873 COMMAND PID USER FD TYPE DEVICE SIZE OFF NODE NAME rsync 10309 root 4u IPv4 94045 0t0
  • RT-Thread中AT组件连接ESP8266 模块

    应用 AT 组件连接 ESP8266 模块 本文介绍 智龙开发板 应用AT组件 连接 esp8266 模块 从而连接无线网络 参考官网 应用 AT 组件连接 ESP8266 模块 1 首先去除 lwip 2 连接硬件模块 连接到智龙开发板的
  • 梯度下降(BGD)、随机梯度下降(SGD)、Mini-batch Gradient Descent、带Mini-batch的SGD

    一 回归函数及目标函数 以均方误差作为目标函数 损失函数 目的是使其值最小化 用于优化上式 二 优化方式 Gradient Descent 1 最速梯度下降法 也叫批量梯度下降法Batch Gradient Descent BSD a 对目