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. 实现响应式——Bootstrap的删格系统详解

    Bootstrap 今天和大家一起学习如今很流行的前端框架之一,Bootstrap框架. 前言 今天带大家看看Bootstrap框架,其实我呢主要还是用里面的删格系统,单单这个删格系统就比较强大了.其 ...

  2. LeetCode 606. Construct String from Binary Tree (建立一个二叉树的string)

    You need to construct a string consists of parenthesis and integers from a binary tree with the preo ...

  3. LeetCode 153. Find Minimum in Rotated Sorted Array (在旋转有序数组中找到最小值)

    Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. (i.e. ...

  4. UWP Popup 弹出

    一:需求 做一个类似于安卓的弹出消息框,如图.当用户点击下载或者选择时,能够从底部弹出一个提示框,用于提示用户. 二:Popup 类 不需要我们自己额外去写一个弹窗类,微软自己有一个Popup 弹窗类 ...

  5. python 生成器和迭代器

    迭代器协议 1.迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么就引起一个Stoplteration异常,以终止迭代(只能往后走不能往前退) 2.可迭代对象:实现了 ...

  6. 用css属性画出一棵圣诞树

    对于学习前端的童鞋,css的掌握是必须的.今天就来实现用css画出一棵圣诞树. 主要练习的是css里面border的练习与掌握程度. 在body创建一个主区域<div></div&g ...

  7. How to change your password of your mysql account in WampServer

    #1. use phpmyadmin to login mysql and click the account menu, and then click "Change the passwo ...

  8. 前端开发:如何写一手漂亮的 Vue

    前几日听到一句生猛与激励并存,可怕与尴尬同在,最无奈也无解的话:"90后,你的中年危机已经杀到".这令我很受触动.显然,这有些夸张了,但就目前这日复一日的庸碌下去,眨眼的功夫,那情 ...

  9. Problem L

    Problem Description 在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数. 例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图: L&qu ...

  10. code force 401B. Game of Credit Cards

    B. Game of Credit Cards time limit per test 2 seconds memory limit per test 256 megabytes input stan ...