不同的梯度下降算法
来源:互联网 发布:f.lux for mac下载 编辑:程序博客网 时间:2024/04/27 16:22
参考http://www.cnblogs.com/richqian/p/4549590.html
梯度下降(Gradient Descent)算法只需要计算损失函数的一阶导数,计算代价小,适合训练数据量大的应用。
梯度下降法是沿着当前点的梯度方向搜索,找到下一个迭代点。
不同的梯度下降算法如batch,mini-batch,SGD,online等区别在于训练数据的选择上。
1.batch GD
每次迭代的梯度方向计算由所有训练样本共同投票决定。
batch GD算法是计算损失函数在整个训练集上的梯度方向,然后沿着该方向搜索下一个迭代点。batch的含义是训练样本中每一个样本都参与每一轮迭代。
2.mini-batch GD
batch GD需要所有样本参与每一轮迭代,计算复杂度比较高。为此产生mini-batch。
假设训练集有m个样本,每次取mini-batch(训练集的子集)b个样本。相当于训练集分为m/b个 mini-batch。每次迭代需要的样本数是一个mini-batch。
3.Stochastic GD(SGD)
sgd相当于mini-batch在b=1的时候的特例。也就是每次只有一个训练样本参与迭代。
4.online GD
online GD和sgd/mini-batch GD的区别在于,所有训练数据只用一次。这样的好处是可以实时最终模型的变化趋势。
0 0
- 不同的梯度下降算法
- 梯度下降算法的实质
- 梯度下降的算法笔记
- 深度学习:基于梯度下降不同优化算法的比较总结
- 梯度下降算法的python实现
- 梯度下降算法的matlab实现
- 梯度下降算法的C++实现
- 关于梯度下降算法的理解
- 一个梯度下降算法的例子
- 梯度下降算法的Python实现
- 梯度下降及其改进算法的比较
- python:简单的梯度下降算法
- 梯度下降算法的python实现
- 梯度下降算法数据的标准化预处理
- 梯度下降算法与随机梯度下降
- 批量梯度下降算法BGD,小批量梯度下降法MBGD,随机梯度下降算法SGD的比较
- 随机梯度下降算法
- 梯度下降算法
- Docker构建镜像
- Python3 中文文件读写
- javascript的基本概念
- iTunes Connect
- 【复习linux的使用】(四)——权限/进程
- 不同的梯度下降算法
- 【Java NIO的深入研究6】JAVA NIO之Scatter-Gather
- IE浏览器拖放事件e.dataTransfer.setData(key,value)报错
- SSM框架搭建及源码解析--spring容器Bean的注册(二)
- 使用flask-sqlalchemy创建一对多的关系表
- 购物车
- WOW! Cool X-Men Slot Game in Newtown Casino
- 更改Linux终端中用户名的显示颜色
- Surface、SurfaceView、SurfaceHolder详解