Review: Gradient Descent

Tip 1: Tuning your learning rates

eta恰好,可以走到局部最小值点;

eta太小,走得太慢,也可以走到局部最小值点;

eta太大,很可能走不到局部最小值点,卡在某处上;

eta太太大,很可能走出去.

可以自动调节eta,

大原则是eta随更新次数的增长而减小,---time dependent

同时也要针对不同的参数设置不同的eta.---parameter dependent

有很多这样的自动调节eta的梯度下降方法,名称常以Ada开头,

其中较为简单的Adagrad:

Adagrad强化反差.

只考虑一个参数时,当前点与局部最优值点的距离与导数成正比,

考虑多个参数时,该结论不一定成立.

还需要考虑2阶导数来反映当前位置与局部最小值点的距离.

Adagrad的分母计算近似了2阶导数的计算.

没有增加额外的花费来估计2阶导数.

Tip 2: Stochastic Gradient Descent

梯度下降一次使用所有训练数据,

随机梯度下降一次使用单个训练数据.

SGD可能步伐小和散乱,但走得更快.

Tip 3: Feature Scaling

w1变化,y变化小;---w1对loss影响小

w2变化,y变化大.---w2对loss影响大

一般来说,椭圆形中不同方向的eta需求不一样,需要Ada梯度下降;

圆形中更新次数较少,因为无论椭圆形还是圆形,更新时都是沿着等高线的法线方向,

而圆形直接向着圆心走.

通过将特征归一化(均值0,方差1)实现特征缩放.

Theory

问题:

答案当然是不正确.

正式推导梯度下降能到达局部最小值点.

注意:

eta与红色半径成正比,

理论上,eta要充分小才能保证能到达局部最优值点,

实际上,eta只要小就行.

考虑泰勒二阶式的话,理论上eta值可以设得大点.---这种方式在deep learning中不见得那么普及

因为考虑二阶式会多出很多运算,deep learning中认为这样不划算.

Limitation

实际操作中,很少情况下导数会exactly为0.

所以,真正问题是,该点实际在高原处,但导数小于阈值,

停下,但此时离局部最优值点还很远.

ML笔记:Gradient Descent的更多相关文章

  1. 李宏毅机器学习笔记2:Gradient Descent(附带详细的原理推导过程)

    李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube.网易云课堂.B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对 ...

  2. [机器学习] ML重要概念:梯度(Gradient)与梯度下降法(Gradient Descent)

    引言 机器学习栏目记录我在学习Machine Learning过程的一些心得笔记,涵盖线性回归.逻辑回归.Softmax回归.神经网络和SVM等等,主要学习资料来自网上的免费课程和一些经典书籍,免费课 ...

  3. 机器学习笔记:Gradient Descent

    机器学习笔记:Gradient Descent http://www.cnblogs.com/uchihaitachi/archive/2012/08/16/2642720.html

  4. 斯坦福机器学习视频笔记 Week1 Linear Regression and Gradient Descent

    最近开始学习Coursera上的斯坦福机器学习视频,我是刚刚接触机器学习,对此比较感兴趣:准备将我的学习笔记写下来, 作为我每天学习的签到吧,也希望和各位朋友交流学习. 这一系列的博客,我会不定期的更 ...

  5. 深度学习课程笔记(四)Gradient Descent 梯度下降算法

    深度学习课程笔记(四)Gradient Descent 梯度下降算法 2017.10.06 材料来自:http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS1 ...

  6. 斯坦福机器学习视频笔记 Week1 线性回归和梯度下降 Linear Regression and Gradient Descent

    最近开始学习Coursera上的斯坦福机器学习视频,我是刚刚接触机器学习,对此比较感兴趣:准备将我的学习笔记写下来, 作为我每天学习的签到吧,也希望和各位朋友交流学习. 这一系列的博客,我会不定期的更 ...

  7. ML:梯度下降(Gradient Descent)

    现在我们有了假设函数和评价假设准确性的方法,现在我们需要确定假设函数中的参数了,这就是梯度下降(gradient descent)的用武之地. 梯度下降算法 不断重复以下步骤,直到收敛(repeat ...

  8. # ML学习小笔记—Gradien Descent

    关于本课程的相关资料http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17.html 根据前面所为,当我们得到Loss方程的时候,我们希望求得最优的Loss方 ...

  9. 【笔记】机器学习 - 李宏毅 - 4 - Gradient Descent

    梯度下降 Gradient Descent 梯度下降是一种迭代法(与最小二乘法不同),目标是解决最优化问题:\({\theta}^* = arg min_{\theta} L({\theta})\), ...

随机推荐

  1. QQ顶部的消息,联系人切换

    高仿ios SegmentView 以前做过的一个项目美工设计的页面包含这个控件,和QQ消息页面顶部的效果一样,其实,这个控件是ios7的分段控制,android没有这个控件,不过实现起来也比较简单, ...

  2. js 短信倒计时60s

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. Go语言中slice使用注意事项

    Go 语言中的slice类型可以理解为是数组array类型的描述符,包含了三个因素: 指向底层数组的指针 slice目前使用到的底层数组的元素个数,即长度 底层数组的最大长度,即容量 因此当我们定义一 ...

  4. Strtus2框架笔记

    Struts2以WebWork优秀的设计思想为核心,吸收了 Struts框架的部分优点,提供了一个更加整洁的MVC设计模式实现的Web 应用程序框架. Struts2引入了几个新的框架特性:从逻辑中分 ...

  5. Python Linear algebra

    Linear algebra 1.模块文档 NAME numpy.linalg DESCRIPTION Core Linear Algebra Tools ---------------------- ...

  6. Autofac学习之三种生命周期:InstancePerLifetimeScope、SingleInstance、InstancePerDependency

    InstancePerLifetimeScope:同一个Lifetime生成的对象是同一个实例 SingleInstance:单例模式,每次调用,都会使用同一个实例化的对象:每次都用同一个对象: In ...

  7. java语言插入数组中一个数,仍然能够实现排序

    package com.llh.demo; import java.util.Scanner; /** * * @author llh * */ public class Demo16 { /* * ...

  8. HDU1150 Machine Schedule(二分图最大匹配、最小点覆盖)

    As we all know, machine scheduling is a very classical problem in computer science and has been stud ...

  9. Queuing(以前写的没整理)

    Queuing Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  10. 一条咸鱼的梦--python

    毕业到现在已经有一年多了,或者说已经工作了一年多,这样以一个社会人的说法比较贴切吧.工作的这段时间里,我曾经有无数次的在问我该干什么,我想干什么,这好像一个深奥的哲学问题,好像并不是只有我一个毕业生思 ...