李宏毅机器学习课程---4、Gradient Descent (如何优化)

一、总结

一句话总结:

调整learning rates:Tuning your learning rates
随机Gradient Descent:Stochastic Gradient Descent
特征缩放:Feature Scaling

stochastic
英 [stə'kæstɪk]  美 [sto'kæstɪk]
adj. [数] 随机的;猜测的

1、如何调整 Learning Rates?

比如先大后小:Popular & Simple Idea: Reduce the learning rate by some factor every few epochs.
单一适应:Learning rate cannot be one-size-fits-all

2、在求Learning Rates的时候,如何粗略反应现在点和最低点的距离?

|First derivative| / Second derivative

derivative
英 [dɪ'rɪvətɪv]  美 [də'rɪvətɪv]
n. [化学] 衍生物,派生物;导数
adj. 派生的;引出的

3、Stochastic Gradient Descent 和 一般Gradient Descent的区别是什么?

Gradient Descent:Update after seeing all examples
Stochastic Gradient Descent:【Update for each examples】,If there are 20 examples, 20 times faster.

stochastic
英 [stə'kæstɪk]  美 [sto'kæstɪk]
adj. [数] 随机的;猜测的

4、Gradient Descent中的Feature Scaling(特征缩放)的好处是什么?

易找最低点:特征缩放之后变成圆,比较容易找到最低点,任意方向都会向着圆心走:Make different features have the same scaling

5、Taylor Series 是什么?

泰勒展开式

6、梯度下降算法的限制?

局部最优解:梯度下降算法求得的解可能是局部最优解
不是最优解:梯度下降算法可能收敛在驻点,求得的解不是最优解
停止于偏微分很小的点:由于梯度下降算法的收敛条件是参数变化小于一个给定的误差,因此算法可能停止于一个偏微分很小的点

梯度下降属于线性回归的一个重要的部分。但是这种方法具有局限性,在一般的情况下,并不能保证找到的局部最小就是全局最小。所以这种方法适用于目标函数是凸函数的情况(local minimum == global minimum)。即使是在凸函数中也不能保证最后找到的点就是最小值,这取决于算法的中止条件(即变化率小于一个定值)和所取的参数λ。所以算法很可能在找到一个相对平滑而并非最小值的地方以后就终止。

7、自动调整学习速率 算法的核心思想是什么?

先大后小:每个参数设置不同学习速率,学习速率随着参数调整次数的增大而减少,因为通常初始点距离最优点远,步伐可以设置大一点,随着参数的调整逐渐逼近最优点,此时步伐应该调小,避免跨过最优点。

如果学习速率适合,那么优化Loss function的路径应该如红色线段;如果学习速率过大,那么优化Loss function的路径将如绿色、黄色线段;如果学习速率过小,那么优化Loss function的路径将如蓝色线段。由此,衍生出自动选择学习速率的方法(Adaptive Learning Rates),核心思想:每个参数设置不同学习速率,学习速率随着参数调整次数的增大而减少,因为通常初始点距离最优点远,步伐可以设置大一点,随着参数的调整逐渐逼近最优点,此时步伐应该调小,避免跨过最优点。

8、梯度下降和随机梯度下降 算法的区别是什么?

Update after seeing all examples:梯度下降的算法遍历所有样本之后才更新参数,走的方向比较稳定;
Update for each examples:随机梯度下降的算法不稳定,但是相同的时间内速度大大增加。

9、Adagrad是什么?

自动调整学习速率:一种常见的自动调整学习速率算法

最终可以得到Adagrad算法的参数更新:wt+1←wt−η∑ti=0(gi)2gt,Adagrad算法考虑gt的反差效应,gt表示一阶导数,∑ti=0(gi)2 反映二阶导数。

10、为什么在梯度下降中,λ的选择尤为重要?

λ偏大易陷入死循环:λ偏大的话,算法会一直徘徊在最小值左右的两个点而陷入死循环;
λ偏小速率偏慢:λ偏小的话,会导致梯度下降的速率偏慢。
λ要变化,先快后慢:基于这种情况,我们不再将λ设置成为一个定值,而是随着算法不断变化。一般来说,我们选择先快后慢,即初始的λ较大,而第k次更迭的λ与k-1次的λ成正比,与1+k的开方成反比。

二、内容在总结中

 

李宏毅机器学习课程---4、Gradient Descent (如何优化 )的更多相关文章

  1. 李宏毅机器学习课程---2、Regression - Case Study

    李宏毅机器学习课程---2.Regression - Case Study 一.总结 一句话总结: 分类讨论可能是比较好的找最佳函数的方法:如果 有这样的因素存在的话 模型不够好,可能是因素没有找全 ...

  2. 李宏毅机器学习课程笔记-2.5线性回归Python实战

    本文为作者学习李宏毅机器学习课程时参照样例完成homework1的记录. 任务描述(Task Description) 现在有某地空气质量的观测数据,请使用线性回归拟合数据,预测PM2.5. 数据集描 ...

  3. 机器学习笔记:Gradient Descent

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

  4. 李宏毅机器学习课程---3、Where does the error come from

    李宏毅机器学习课程---3.Where does the error come from 一.总结 一句话总结:机器学习的模型中error的来源是什么 bias:比如打靶,你的瞄准点离准心的偏移 va ...

  5. 李宏毅老师机器学习课程笔记_ML Lecture 3-1: Gradient Descent

    引言: 这个系列的笔记是台大李宏毅老师机器学习的课程笔记 视频链接(bilibili):李宏毅机器学习(2017) 另外已经有有心的同学做了速记并更新在github上:李宏毅机器学习笔记(LeeML- ...

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

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

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

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

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

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

  9. 李宏毅老师机器学习课程笔记_ML Lecture 1: 回归案例研究

    引言: 最近开始学习"机器学习",早就听说祖国宝岛的李宏毅老师的大名,一直没有时间看他的系列课程.今天听了一课,感觉非常棒,通俗易懂,而又能够抓住重点,中间还能加上一些很有趣的例子 ...

随机推荐

  1. cocos2D-X Download

    { http://cocos2d-x.org/download https://github.com/cocos2d/cocos2d-x https://github.com/fusijie/Coco ...

  2. MySQL常用操作2

    MySQL常用操作2 判断函数 IF(expr, value1, value2)  --  如果表达式expr为true,则返回value1,否则返回value2 IFNULL(value1, val ...

  3. Vue学习笔记【19】——Vue中的动画(使用第三方 CSS 动画库)

    导入动画类库:  <link rel="stylesheet" type="text/css" href="./lib/animate.css& ...

  4. 导出EXCEL(带数据)

    /* * 导出EXCEL * @param req * @param resp * @param model * @param info * @return */ @RequestMapping(va ...

  5. luoguP2148 [SDOI2009]E&D [sg函数][组合游戏]

    题目描述 小E 与小W 进行一项名为“E&D”游戏. 游戏的规则如下: 桌子上有2n 堆石子,编号为1..2n.其中,为了方便起见,我们将第2k-1 堆与第2k 堆 (1 ≤ k ≤ n)视为 ...

  6. 【LeetCode 19】删除链表的倒数第N个节点

    题目链接 [题解] 经典的一道题. 让p1指向链表的第一个元素. 让p2指向链表的第二个元素. 然后让他们俩同时往后移动. 直到p2到达链表的尾巴. 这时p1和p2之间总是隔了n-1个元素. 所以p1 ...

  7. ORACLE动态sql在存储过程中出现表或视图不存在的解决方法

    Oracle动态sql在存储过程中出现表或视图不存在的解决方法 CREATE OR REPLACE PROCEDURE P_test is strsql varchar2(2000); BEGIN   ...

  8. delphi动态创建控件

    动态创建控件 其实动态创建控件很简单,相信看过本文后你会全明白的. 1 先在单元的initialization 部分注册它,(这样在单元使用时会自动注册的)如: RegisterClass( TBut ...

  9. html标签中的 MIME 类型

    1.<script type="text/x-template">  MIME 类型 2.MIME类型是什么 : http://www.w3school.com.cn/ ...

  10. Golang(Go语言)内置函数之copy用法

    该函数主要是切片(slice)的拷贝,不支持数组 将第二个slice里的元素拷贝到第一个slice里,拷贝的长度为两个slice中长度较小的长度值 示例: s := []int{1,2,3} fmt. ...