深度学习(batch,mini-batch,其它算法)

192 阅读3分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第8天,点击查看活动详情 对影响力函数进行学习

Hello,非常感谢你的关注~ 我是机器学习与风控,一名末流985的本硕,无顶会、无大厂核心部门实习,拥有多个比赛的竞赛经历,秋招刷了leetcode500题,在秋招提前批中收获字节跳动,腾讯,阿里,美团等大厂offer,最终选择入职字节风控,从事与黑产对抗的工作。我会定期分享我的春招、秋招亲身求职体验;算法岗日常工作;数据挖掘比赛,经典图模型等日常学习等有料也有趣的内容~秋招到了,欢迎各位私信找我内推!!!部门缺少开发,算法等岗位验证缺人。

1 .batch vs mini-batch

2.理解mini-batch

分成几份,,,遍历做回归与反省回归。 若size=m,才相当于batch。 若size=1 ,随机梯度下降法(stochastic gradient descent)每个样本样本都是独立Mini_batch. 随机梯度下降法有很多的 噪声。指错方向。往往不会到达最小值,而是在附近波动.很显然,一个样本求一次梯度,没有用到向量,速度慢.若1 < size < m,学习速率最快。1 实现了向量化。2.不需要等待整个训练集处理完 Vectoration fast总的来说比随机梯度下降 更持续的接近最小值,也不一定在很小的范围内波动,如果出现波动,可以减小学习率 3How to choose size? 1 . small training set (m<=2000):use batch gradient descent 2 . bigger training set:64 to 512.consider computer memory,(2 to nth) attention: make sure your mini-batch size fits in GPU/CPU memory

3.指数加权平均(exponentially weighted average):

4.理解指数加权平均

5.偏差修正

6.动量梯度下降法(Momentum): 这里写图片描述 这里写图片描述

  1. 这种上下波动,不可能使用更大的学习率,会偏离函数范围,所以我们希望使用更小的学习率。 1 2 3
  2. 你希望横轴上加快,纵轴上变慢,

7.RMS

8.adam算法:

2个结合 Alpha:调试选择 Belta1:0.9 Belta:0.999 Epsilon:10-8 Adam作者这么认为 通常使用默认值,只调整alpha Adaptive moment Estimation

  1. 学习率衰减:

前期能承受较大的步伐,开始的alpha比较大。 学习率下降的方法: 1、 Decay rate: 衰减率 Epoch-num 第几代 2. exponentially decay : 3还有各种方法: 4. manual decay 手动衰减 模型数量小的时候

  1. local optima in neural network

不太可能困在极差的局部最优中。(有很多的参数,J被定义在极大的维度空间) 局部最优这不是个问题。 平稳段 是最严重的问题。导数长时间未0。这也就是momentum 原因。 如果梯度为0,那么他在各个方向可能是凸函数,凹函数。 在20000维当中,维度都为0 的概率很小。。 很可能遇到上面的鞍点。 这点的梯度为0 。。 实际上,在低纬度的一些直觉 不能应用到高wei度上去。