1、随机梯度下降法步长的选择

以前网上有看到过,说是最好按3倍来调整,也就是0.00001、0.00003、0.0001、0.0003、0.001、0.003、0.01、0.03、0.1、0.3……然后确定范围之后再微调。

如果α取值过大,可能会导致迭代不收敛,从而发散。所以,一开始α的取值也要比较小心才行。

随着迭代次数的增加,一般需要慢慢减小α,因为这样能得到一个更好的结果。至于怎么减小α,也是有很多种策略,可以每次迭代都更新α的值,如α *= 0.96, 也可以 α*=α, 也可以每迭代几次更新一次α的值,方法很多,什么方式更好呢?实验吧……这跟数据有很大关系。

关于正则化参数λ的取值,因为才疏学浅,了解得不多,所以不便多说。不过一般来说λ不会取太小,我的感觉是0.001和1之间吧,也可以每次迭代都更新λ的值。比如一开始取比较小的值,然后随着迭代次数的增加,慢慢增加λ。

总结下,学习速率α越大,收敛越快,正则化参数λ越大,收敛越慢。收敛速度太快,可能一下子就越过极值点,导致发散;太慢则可能需要迭代非常多次,导致时间成本非常高。所以,α和λ取到一个合适的值,还是非常重要的。

***********2013年5月26日13:58:07*************

刚看到一种调整α的方法,就是 \(\alpha_{k} = \alpha_{0} \frac{\tau}{\tau+k}\) , 当然,α的初始值也不能太大,不然还是会发散。

这个策略一个不好的地方就是 \(\tau\) 的取值问题,糟糕的取值可能会导致收敛非常慢。

原文地址:http://ju.outofmemory.cn/entry/31137

2、梯度下降法步长的取值范围

在梯度下降法中,我们往往需要设置一个合适的步长。但是有时步长设置太大,使得我们要估计的系数在迭代过程中不断增大,最后趋于无穷大,程序陷入死循环或溢出。下面的讨论给出了步长上限的一个估计,其中参数的迭代公式是(使用矩阵表示):

其中是步长。将这个公式变形一下,得到

可以看出,对的每个分量,都是相同的。因此后面我们可以用分量来进行讨论,这时候上面的公式就是一个标量公式。

对于这个迭代,要么发散,要么收敛于一个稳定点,要么在多个稳定点中做周期震荡(即周期N)。因此我们可以计算其收敛点,并计算其收敛条件。

收敛时,它是一个稳定点,即,解出,与最小二乘法给出的结果一致。

按照非线性理论中的稳定性条件要求:,即,因此(这里使用了标量来求解)。

所以,当步长超出这个范围,是不稳定的,很容易导致发散。

原文地址:http://blog.sciencenet.cn/blog-477629-822983.html

随机梯度下降法步长的选择相关推荐

  1. 【数据挖掘】神经网络 后向传播算法 ( 梯度下降过程 | 梯度方向说明 | 梯度下降原理 | 损失函数 | 损失函数求导 | 批量梯度下降法 | 随机梯度下降法 | 小批量梯度下降法 )

    文章目录 I . 梯度下降 Gradient Descent 简介 ( 梯度下降过程 | 梯度下降方向 ) II . 梯度下降 示例说明 ( 单个参数 ) III . 梯度下降 示例说明 ( 多个参数 ...

  2. 梯度下降法和随机梯度下降法

    1. 梯度 在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度.比如函数f(x,y), 分别对x,y求偏导数,求得的梯度向量就是(∂f/∂x, ∂f/∂y) ...

  3. 梯度下降法、随机梯度下降法、批量梯度下降法及牛顿法、拟牛顿法、共轭梯度法

    http://ihoge.cn/2018/GradientDescent.html http://ihoge.cn/2018/newton1.html 引言 李航老师在<统计学习方法>中将 ...

  4. 随机梯度下降法(stochastic gradient descent,SGD)

    梯度下降法 大多数机器学习或者深度学习算法都涉及某种形式的优化. 优化指的是改变 特征x以最小化或最大化某个函数 f(x)  的任务. 我们通常以最小化 f(x) 指代大多数最优化问题. 最大化可经由 ...

  5. 机器学习:随机梯度下降法

    1.梯度下降 1)什么是梯度下降? 因为梯度下降是一种思想,没有严格的定义,所以用一个比喻来解释什么是梯度下降. 简单来说,梯度下降就是从山顶找一条最短的路走到山脚最低的地方.但是因为选择方向的原因, ...

  6. 随机梯度下降法概述与实例

    机器学习算法中回归算法有很多,例如神经网络回归算法.蚁群回归算法,支持向量机回归算法等,其中也包括本篇文章要讲述的梯度下降算法,本篇文章将主要讲解其基本原理以及基于Spark MLlib进行实例示范, ...

  7. 梯度下降法and随机梯度下降法

    1. 梯度下降法 梯度下降法的原理可以参考:斯坦福机器学习第一讲. 我实验所用的数据是100个二维点. 如果梯度下降算法不能正常运行,考虑使用更小的步长(也就是学习率),这里需要注意两点: 1)对于足 ...

  8. 随机梯度下降法、牛顿法、冲量法、AdaGrad、RMSprop以及Adam优化过程和理解

    在神经网络的训练中我们会遇到一个问题,那就是如何有效的对损失函数求梯度.在我另一篇文章中有讲过关于梯度下降的过程和为什么负梯度方向是下降的最快方向[也就是我们希望损失函数下降],大家可以看看这篇文章, ...

  9. 局部最优、梯度消失、鞍点、海森矩阵(Hessian Matric)、批梯度下降算法(btach批梯度下降法BGD、小批量梯度下降法Mini-Batch GD、随机梯度下降法SGD)

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) BATCH_SIZE大小设置对训练耗时的影响:1.如果当设置B ...

最新文章

  1. J2EE持久层持久化上下文传播总结(续)
  2. 深入浅出Node.js(一):什么是Node.js(转贴)
  3. CentOS 上安装MYSQL+Apache+PHP
  4. 【LeetCode笔记】143. 重排链表(Java、链表、栈、快慢指针)
  5. CVPR 2022 | 旷视研究院入选论文亮点解读
  6. StratoVirt在x86_64下的初体验
  7. java char数组查找_我爱java系列---【在字符数组中查询某个字符串是否存在】
  8. python阅读wtfbook疑问和验证
  9. 嵌入式 Linux 设备的“瑞士军刀” BusyBox 受多个漏洞影响
  10. go 公众号 关注 监听_golang微信公众平台之消息接入
  11. java的if else if_java,if else和if else if else区别?
  12. WEB标准布局(DIV+CSS)学习笔记(二)--DIV的布局基础
  13. AWS DeepRacer 强化学习RL,工作流程
  14. R语言期末试题-重庆工商大学-统计学课程
  15. 如何换ip ,最简单有效的换ip方法在这里
  16. 插入排序和迭代归并排序以及复杂度分析
  17. 用github写开源书籍
  18. MX25上SD卡的插拨检测机制
  19. c++头文件:stdio.h ,cstdio ,iostream
  20. ListView接收另一个页面的数值显示

热门文章

  1. Vue技术栈(全家桶)
  2. Redis过期策略---实现原理
  3. 大数卢卡斯求组合数板子
  4. 计算机新建用户如何删除,win10系统如何添加和删除用户?windows10删除用户教程...
  5. iar编译器添加c语言标准库,用IAR编译器开发DS80C400
  6. and5.1PowerManagerService深入分析(三)updatePowerStateLocked函数
  7. 2023北京影视技术设备展览会
  8. Xcode的一种编译问题:Error: building could produce unreliable results
  9. linux 开启 键盘的背光灯
  10. mysql 生成id函数_MySQL ID生成策略