(斯坦福机器学习公开课)梯度算法
来源:互联网 发布:java递归获取子节点 编辑:程序博客网 时间:2024/06/06 03:39
梯度下降背后的思想是:开始时我们随机选择一个参数的组合(θ0,θ1,...,θn),计算代价函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。我们持续这么做直到到到一个局部最小值(local minimum),因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是全局最小值(global minimum),选择不同的初始参数组合,可能会找到不同的局部最小值。
想象一下你正站立在山的这一点上,站立在你想象的公园这座红色山上,在梯度下降算法中,我们要做的就是旋
转 360 度,看看我们的周围,并问自己要在某个方向上,用小碎步尽快下山。这些小碎步需要朝什么方向?如果我们
站在山坡上的这一点,你看一下周围,你会发现最佳的下山方向,你再看看周围,然后再一次想想,我应该从什么方
向迈着小碎步下山?然后你按照自己的判断又迈出一步,重复上面的步骤,从这个新的点,你环顾四周,并决定从什
么方向将会最快下山,然后又迈进了一小步,并依此类推,直到你接近局部最低点的位置
批量梯度下降(batch gradient descent)算法的公式为:
其中 α 是学习率(learning rate),它决定了我们沿着能让代价函数下降程度最大的方向向下迈出的步子有多大
,在批量梯度下降中,我们每一次都同时让所有的参数减去学习速率乘以代价函数的导数(就是向下山最快的方向迈了一步,因为曲线延切线方向变化最快)。
在梯度下降算法中,还有一个更微妙的问题,梯度下降中,我们要更新 θ0 和 θ1 ,当 j=0 和 j=1 时,会产生更新,所以你将更新 Jθ0 和 Jθ1。实现梯度下降算法的微妙之处是,在这个表达式中,如果你要更新这个等式,你需要同
时更新 θ0 和 θ1,我的意思是在这个等式中,我们要这样更新: θ0:= θ0 ,并更新 θ1:= θ1。 实现方法是:你应该计
- (斯坦福机器学习公开课)梯度算法
- 斯坦福机器学习公开课4-3 4-4 特征缩放和验证梯度下降算法
- 斯坦福机器学习公开课#02.梯度下降
- 斯坦福机器学习公开课(2)
- 斯坦福机器学习公开课(3)
- 斯坦福机器学习公开课(4)
- 机器学习,斯坦福公开课
- 斯坦福机器学习公开课
- 斯坦福机器学习: 网易公开课系列笔记(二)——线性回归、梯度下降算法和最小二乘公式
- 斯坦福机器学习公开课学习笔记(2)—监督学习 梯度下降
- 斯坦福机器学习课学习笔记(一)-梯度下降
- 机器学习斯坦福公开课学习笔记
- 斯坦福机器学习公开课笔记
- 斯坦福机器学习公开课随笔3
- 斯坦福机器学习公开课随笔5
- 斯坦福机器学习公开课随笔6
- 斯坦福机器学习公开课随笔7
- 斯坦福机器学习公开课随笔8
- Spring原理(一)IoC容器的初始化过程之BeanFactory
- Mybaties日期时间显示问题
- yii 2.0 操作 增删改查 两种方法 ajax 批删
- HDU-5901-Count primes(大素数模板)
- LeetCode #32: Longest Valid Parentheses
- (斯坦福机器学习公开课)梯度算法
- 1min使用AutoCompleteTextView
- ReactNative兼容64位Android手机
- Linux基本知识记录
- android studio测试安装APK出现INSTALL_PARSE_FAILED_MANIFEST_MALFORMED
- java就业前需要掌握的专业技能
- Android样式的开发
- ubuntu14.04忘记管理员密码
- ZCC loves straight flush