ML笔记:Gradient Descent
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的更多相关文章
- 李宏毅机器学习笔记2:Gradient Descent(附带详细的原理推导过程)
李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube.网易云课堂.B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对 ...
- [机器学习] ML重要概念:梯度(Gradient)与梯度下降法(Gradient Descent)
引言 机器学习栏目记录我在学习Machine Learning过程的一些心得笔记,涵盖线性回归.逻辑回归.Softmax回归.神经网络和SVM等等,主要学习资料来自网上的免费课程和一些经典书籍,免费课 ...
- 机器学习笔记:Gradient Descent
机器学习笔记:Gradient Descent http://www.cnblogs.com/uchihaitachi/archive/2012/08/16/2642720.html
- 斯坦福机器学习视频笔记 Week1 Linear Regression and Gradient Descent
最近开始学习Coursera上的斯坦福机器学习视频,我是刚刚接触机器学习,对此比较感兴趣:准备将我的学习笔记写下来, 作为我每天学习的签到吧,也希望和各位朋友交流学习. 这一系列的博客,我会不定期的更 ...
- 深度学习课程笔记(四)Gradient Descent 梯度下降算法
深度学习课程笔记(四)Gradient Descent 梯度下降算法 2017.10.06 材料来自:http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS1 ...
- 斯坦福机器学习视频笔记 Week1 线性回归和梯度下降 Linear Regression and Gradient Descent
最近开始学习Coursera上的斯坦福机器学习视频,我是刚刚接触机器学习,对此比较感兴趣:准备将我的学习笔记写下来, 作为我每天学习的签到吧,也希望和各位朋友交流学习. 这一系列的博客,我会不定期的更 ...
- ML:梯度下降(Gradient Descent)
现在我们有了假设函数和评价假设准确性的方法,现在我们需要确定假设函数中的参数了,这就是梯度下降(gradient descent)的用武之地. 梯度下降算法 不断重复以下步骤,直到收敛(repeat ...
- # ML学习小笔记—Gradien Descent
关于本课程的相关资料http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17.html 根据前面所为,当我们得到Loss方程的时候,我们希望求得最优的Loss方 ...
- 【笔记】机器学习 - 李宏毅 - 4 - Gradient Descent
梯度下降 Gradient Descent 梯度下降是一种迭代法(与最小二乘法不同),目标是解决最优化问题:\({\theta}^* = arg min_{\theta} L({\theta})\), ...
随机推荐
- CentOS7.3安装NVIDIA-1080ti驱动、cuda、cudnn、TensorFlow
本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 Ubuntu非要换centOS...好吧... 看了很多是通过ELRepo源安装驱动,不过我没 ...
- HTML+CSS学习任务清单
HTML部分:掌握HTML的全部语法,他的主体结构,超连接及常用标记的使用 CSS部分:掌握CSS的三种选择器的使用,明白如何使用DIV+CSS进行网页布局,搞清楚浮动问题! 1,HTML的语法(包括 ...
- 实例理解mapreduce任务的串行运行过程
一.准备: eclipse,hadoop集群 注意:为了方便测试和修改,我用的是 windows 连接hadoop集群,这样在windows 下直接就能够执行 mapreduce 任务,方便程序调试. ...
- 判断回文数字 9. Palindrome Number
Determine whether an integer is a palindrome. Do this without extra space. Some hints: Could negativ ...
- 用git上传本地文件到github
1.在自己的github账号下新建仓库--------得到github仓库地址 2.本地安装git---在将要克隆的文件夹下 右击点击Git Bash Here 3.输入命令 $ git clone ...
- Spring AOP分析(3) -- CglibAopProxy实现AOP
上文探讨了应用JDK动态代理实现Spring AOP功能的方式,下面将继续探讨Spring AOP功能的另外一种实现方式 -- CGLIB. 首先,来看看类名CglibAopProxy,该类实现了两个 ...
- 将非常规Json字符串转换为常用的json对象
如下所示,这是一个已经转换为Json对象的非常规Json字符串,原来是一个Json类型的字符串,在转换为Json对象时,查询资料发现有两种转换法,.parse()和.eval()方法,但是前辈们都极其 ...
- 我是如何理解Android的Handler模型_2
对比例程说明,如: 例:在新新线程中替换TextView显示内容. 界面如下,单击按键后original data 替换为 changed data Handler Message部分实现步骤: 1. ...
- Mac上配置不同版本的JDK
Mac上JDK的版本为1.8,编译AOSP时发现需要JDK 1.7.想找一种比较容易切换JDK版本的方式,经过一番Google发现Jenv比较合适. 安装Jenv至少有三种方式: - $ git cl ...
- [转载] OAuth2.0认证和授权原理
转载自http://www.tuicool.com/articles/qqeuE3 什么是OAuth授权? 一.什么是OAuth协议 OAuth(开放授权)是一个开放标准,允许第三方网站在用户授权的前 ...
