深度学习笔记-优化算法


概述

深度学习模型是作用在大型数据集上进行训练,选择好的优化算法不仅可以节省你的时间问题,还可以帮助你找到最优解进而解决你的问题。今天来了解一下常用的优化算法:Mini-batch Gradient descent、Momentum、RMSprop、Adam和Learning rate decay

优化算法

SGD

SGD随机梯度下降算法主要是通过BP使损失函数最小化,进而求解超参数。只不过SGD是针对每个instance进行遍历寻找最合适的超参数。SGD常用的方式为batch SGD和mini-batch SGD。其中batch SGD的batch size=m是对整个数据集进行处理。公式如下:

mini-batch是对数据集进行划分为n即batchsize,例如你有50万个实例,我们取batchsize为1000,则每次epoch会有50万/batchsize(1000)=n个迭代,一般在选取数据时会对数据按照zero-center处理并对数据集进行shuffle。此时公式为:

根据每个batch后的JLoss更新超参数即为:

随着迭代次数的增加我们能看到两个优化算法的cost function为如下图所示:

我们能看到mini-batch会产品一些噪音在图像上并不是每次都是下降的随着迭代次数的增加cost会下降,但是总的趋势是朝着minicost方向不断下降。

博客更新中 下面一起看一下Momentum、RMSprop、Adam和Learning rate decay

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张鹏宇的专栏

深度学习基础概念笔记

学习 tensorflow,caffe 等深度学习框架前,需要先了解一些基础概念。本文以笔记的形式记录了一个零基础的小白需要先了解的一些基础概念。

1.2K1
来自专栏WD学习记录

机器学习 学习笔记(2)拉格朗日乘子法 拉格朗日对偶性

拉格朗日乘子法是一种寻找多元函数在一组约束下的极值的方法,通过引入拉格朗日乘子,可将有d个变量与k个约束条件的最优化问题转化为具有d+k个变量的无约束优化问题的...

921
来自专栏机器人网

机器学习十大算法:新手看了变老手

在机器学习中,有一种叫做「没有免费的午餐」的定理。简而言之,它指出没有任何一种算法对所有问题都有效,在监督学习(即预测建模)中尤其如此。

1474
来自专栏开心的学习之路

神经网络体系搭建(一)——神经网络

本篇是神经网络体系搭建的第一篇,解决体系搭建的前四个问题,详见神经网络体系搭建(序) 神经网络 ? 最简单的神经网络 神经网络的定义就不再赘述,直接从最简单的神...

33210
来自专栏YoungGy

ISLR_StatisticalLearning

Statistical Learning why estimate f 用来预测 预测的时候可以将f̂ \hat{f}当成一个black box来用,目的主...

1966
来自专栏计算机视觉战队

深度判别和共享特征学习的图像分类

秋雨思童年,落花念爱霖!一场秋雨的洗礼,让我们进入了真正能感觉得到的秋季。秋季是丰收的季节,不知朋友您收获如何?但是我相信您一定硕果累累,满载着各种成果、业绩和...

3357
来自专栏大数据挖掘DT机器学习

梯度下降法求解逻辑回归

梯度下降法(Gradient Descent)是优化问题中一种常用的手段,一般用于凸函数问题(或者可以转换为凸函数的问题)的求解,而逻辑回归问题就可以转换为一...

4275
来自专栏MelonTeam专栏

深度学习基础概念笔记

导语 学习tensorflow,caffe等深度学习框架前,需要先了解一些基础概念。本文以笔记的形式记录了一个零基础的小白需要先了解的一些基础概念。 ...

1767
来自专栏奇点大数据

最新训练神经网络的五大算法

作者: Alberto Quesada 译者: KK4SBB 神经网络模型的每一类学习过程通常被归纳为一种训练算法。训练的算法有很多,它们的特点和性能各不相同...

4024
来自专栏新智元

训练神经网络的五大算法:技术原理、内存与速度分析

【新智元导读】 训练神经网络的算法有成千上万个,最常用的有哪些,哪一个又最好?作者在本文中介绍了常见的五个算法,并从内存和速度上对它们进行对比。最后,他最推荐莱...

4709

扫码关注云+社区

领取腾讯云代金券