Mini-batch gradient

原创 2015年07月09日 19:59:22

Mini-batchgradient

1 gradient descent又可以被称为steepest descent

2 梯度下降算法误差曲线:一般的梯度下降算法误差曲线是椭圆形的,这样就会存在问题,例如,实际要跨的步子可                能很小,但是梯度算法求解出来的步子很大;实际要跨的步子可能很大,但是梯度下降算                法求解出来的步子很  小。所以,好的做法是将椭圆形的误差面转化成为圆形的误差面,                 这也是下面的改进所要完成的事情。

3 如果数据集中存在大量的冗余,那么使用前一半数据得到的梯度下降结果和使用另一半的结果相同,那么此时就不需要使用全部的数据进行权重的训练,可以先使用一半数据训练得到一组权重,然后再使用另一半,更新上述得到的权重。这种极端情况就是随机梯度学习。

4   mini-batchgradient 优点:

(1)在权重更新的过程中,计算量要少于使用随机梯度下降算法

(2)梯度下降算法在计算的过程中会涉及到矩阵间乘法,这个可以通过并行计算完成

5 mini-batchgradient 的注意点:以分类问题为例:提取的数据中应该要尽可能的包含所有的分类情况。

6 mini-batchgradient处理的小技巧:

(1)初始化权重:

如果初始化权重相同,然后输入也相同,那么就会导致结果也相同,这样就没有办法了解数据之间的差异性。所以采用随机初始化的方法。同时如果输入项个数很多时,要减小权重,以防止学习过程中迭代过度。

(2)改变输入项数据:shifting inputs(数据整体进行缩放,不同坐标轴上数据的缩放是一致的),scaling                   inputs(坐标轴整体的缩放,不同坐标轴上的数据缩放比例可以不一样)

(3)主成分分析方法:当输入项彼此之间存在很强的关联性时,得到最优值的过程是漫长的,所以降低输入项彼此               间的相关性是必要的。所以,采用PCA(主成分分析方法)可以将输入项转变为彼此不相关。

7 提高mini-batch gradient学习的速度

(1)  动量梯度下降算法(mpmentum method)

    梯度下降算法的目标是最终获得一个全局最优值,以抛物线为例,最终会停在最低点不动,从动量的角度来说,每次在权重更新的过程中都会存在能量的流失,到最后就会彻底停在某个点上。

   动量梯度下降算法的过程是,一开始根据梯度下降算法指定的方向运动,当获得一定的速度以后,就不会再按照梯度下降算法的方向运行




(2)  学习效率自适应:


(1)  Rmsprop:




神经网络算法学习---mini-batch

Batch_Size(批尺寸)是机器学习中一个重要参数,涉及诸多矛盾,下面逐一展开。 首先,为什么需要有 Batch_Size 这个参数? Batch 的选择,首先决定的是下降的方向。如果...
  • fuwenyan
  • fuwenyan
  • 2016年12月28日 21:48
  • 9542

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

一、回归函数及目标函数 以均方误差作为目标函数(损失函数),目的是使其值最小化,用于优化上式。 二、优化方式(Gradient Descent) 1、最速梯度下降法 a、对目标函数求导 b、沿...
  • llx1990rl
  • llx1990rl
  • 2015年03月01日 12:05
  • 16073

深度学习—加快梯度下降收敛速度(一):mini-batch、Stochastic gradient descent

在深层神经网络那篇博客中讲了,深层神经网络的局部最优解问题,深层神经网络中存在局部极小点的可能性比较小,大部分是鞍点。因为鞍面上的梯度接近于0,在鞍面上行走是非常缓慢的。因此,必须想办法加速收敛速度,...
  • hdg34jk
  • hdg34jk
  • 2017年12月21日 15:14
  • 67

Mini-Batch Gradient Descent介绍以及如何决定Batch Size

Mini-Batch Gradient Descent介绍以及如何决定Batch Size 随机梯度下降是目前训练深度学习模型主流的方法。 有三种主要的梯度下降方法,如何决定使用哪一种可能让人困惑...
  • xiang_freedom
  • xiang_freedom
  • 2017年10月30日 17:23
  • 419

mini-batch 梯度下降

梯度下降(BGD)、随机梯度下降(SGD)、Mini-batch Gradient Descent、带Mini-batch的SGD 标签: 神经网络梯度下降随机梯度下降 2015-03-01 12...
  • kebu12345678
  • kebu12345678
  • 2017年02月07日 22:49
  • 2327

深度学习优化函数详解(3)-- mini-batch SGD 小批量随机梯度下降

上一篇我们说到了SGD随机梯度下降法对经典的梯度下降法有了极大速度的提升。但有一个问题就是由于过于*自由* 导致训练的loss波动很大。那么如何可以兼顾经典GD的稳定下降同时又保有SGD的随机特性呢?...
  • tsyccnh
  • tsyccnh
  • 2017年07月26日 11:58
  • 3201

[Deeplearning]mini-batch大小的选择

内容来在 A Practical Guide to Training Restricted Boltzmann Machines mini-batch 的大小通常选为10-100。 为了避免在改变...
  • qian2729
  • qian2729
  • 2016年01月20日 16:51
  • 2327

机器学习算法中如何选取超参数:学习速率、正则项系数、minibatch size

本文是《Neural networks and deep learning》概览 中第三章的一部分,讲机器学习算法中,如何选取初始的超参数的值。(本文会不断补充)学习速率(learning rate,...
  • u012162613
  • u012162613
  • 2015年03月14日 23:49
  • 26062

浅析深度学习mini_batch的BP反传算法

在深度学习中,如果我们已经定义了网络,输入,以及输出,那么接下来就是损失函数,优化策略,以及一般由框架完成的BP反传。这篇博文我们主要探讨一下深度的BP反传算法(以梯度下降为例),尤其是mini_ba...
  • helei001
  • helei001
  • 2016年11月25日 09:19
  • 2298

faster rcnn源码解读(六)之minibatch

faster rcnn用python版本的https://github.com/rbgirshick/py-faster-rcnn minibatch源码:https://github.com/rb...
  • u010668907
  • u010668907
  • 2016年07月18日 21:57
  • 5114
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Mini-batch gradient
举报原因:
原因补充:

(最多只允许输入30个字)