Machine Learning Chinese NLP :::: Gradient Descent Learning Rate - Chad Salinas ::: Data Scientist
Use Slidify to create motion charts to share with the world on rPubs Chad Salinas or GitHub.
Slidify, rPubs Chad Salinas, Motion Charts, Hans Rosling
1206
post-template-default,single,single-post,postid-1206,single-format-standard,qode-listing-1.0.1,qode-social-login-1.0,qode-news-1.0,qode-quick-links-1.0,qode-restaurant-1.0,ajax_fade,page_not_loaded,,qode-title-hidden,qode_grid_1300,qode-theme-ver-12.0.1,qode-theme-bridge,bridge,wpb-js-composer js-comp-ver-5.4.2,vc_responsive
a

Machine Learning Chinese NLP :::: Gradient Descent Learning Rate

Gradient Descent Learning Rate Effects

在本段视频中 我想告诉大家
一些关于梯度下降算法的实用技巧
我将集中讨论

学习率 α
具体来说 这是梯度下降算法的
更新规则
这里我想要
告诉大家
如何调试
也就是我认为应该如何确定
梯度下降是正常工作的
此外我还想告诉大家
如何选择学习率 α
也就是我平常
如何选择这个参数
我通常是怎样确定
梯度下降正常工作的

梯度下降算法所做的事情
就是为你找到
一个 θ 值
并希望它能够最小化代价函数 J(θ)
我通常会在
梯度下降算法运行时
绘出代价函数 J(θ) 的值
这里的 x 轴是表示
梯度下降算法的
迭代步数
你可能会得到
这样一条曲线
注意 这里的 x 轴

是迭代步数
在我们以前看到的
J(θ) 曲线中
x 轴 也就是横轴

曾经用来表示参数 θ 但这里不是
具体来说
这一点的含义是这样的
当我运行完100步的梯度下降迭代之后
无论我得到
什么 θ 值
总之 100步迭代之后
我将得到
一个 θ 值
根据100步迭代之后

得到的这个 θ 值
我将算出
代价函数 J(θ) 的值
而这个点的垂直高度就代表
梯度下降算法
100步迭代之后
得到的 θ
算出的 J(θ) 值
而这个点
则是梯度下降算法
迭代200次之后
得到的 θ
算出的 J(θ) 值
所以这条曲线
显示的是
梯度下降算法迭代过程中代价函数 J(θ) 的值
如果梯度下降算法
正常工作
那么每一步迭代之后
J(θ) 都应该下降
这条曲线
的一个用处在于
它可以告诉你
如果你看一下
我画的这条曲线
当你达到

300步迭代之后
也就是300步到400步迭代之间

Chad Salinas working on Plotly

Chad Salinas working on analytics project.

Chad Salinas late nighter
也就是曲线的这一段
看起来 J(θ) 并没有下降多少
所以当你
到达400步迭代时
这条曲线看起来已经很平坦了
也就是说
在这里400步迭代的时候
梯度下降算法
基本上已经收敛了
因为代价函数并没有继续下降
所以说 看这条曲线
可以帮助你判断
梯度下降算法是否已经收敛
顺便说一下

对于每一个特定的问题
梯度下降算法所需的迭代次数
可以相差很大
也许对于某一个问题

梯度下降算法
只需要30步迭代就可以收敛
然而换一个问题
也许梯度下降算法就需要3000步迭代
对于另一个机器学习问题
则可能需要三百万步迭代
实际上
我们很难提前判断

梯度下降算法
需要多少步迭代才能收敛
通常我们需要画出这类曲线
画出代价函数随迭代步数数增加的变化曲线
通常 我会通过看这种曲线
来试着判断
梯度下降算法是否已经收敛
另外 也可以
进行一些自动的收敛测试
也就是说用一种算法
来告诉你梯度下降算法
是否已经收敛
自动收敛测试
一个非常典型的例子是
如果代价函数 J(θ)
的下降小于
一个很小的值 ε
那么就认为已经收敛
比如可以选择
1e-3
但我发现
通常要选择一个合适的阈值 ε 是相当困难的
因此 为了检查
梯度下降算法是否收敛

我实际上还是
通过看
左边的这条曲线图
而不是依靠自动收敛测试
此外 这种曲线图
也可以
在算法没有正常工作时
提前警告你
具体地说
如果代价函数 J(θ)
随迭代步数
的变化曲线是这个样子
J(θ) 实际上在不断上升

Let the dataset change your mindset

– Hans Rosling
No Comments

Sorry, the comment form is closed at this time.