白话机器学习算法(二十)梯度下降算法

来源:互联网 发布:extjs object转json 编辑:程序博客网 时间:2024/05/21 11:32

http://blog.csdn.net/wangxin110000/article/details/37809321

梯度下降算法是最优化中很常用的一个算法,他能找到一个局部最优解,如果目标函数是凸函数,那么他能找到全局的最优解

两个特性可以解释梯度下降法:

1:走一步看一步

2:每一步的“利益”最大化


(一)走一步看一步

学过高数的都知道,假设我在一座山峰上,如果我想最快速下山,我选择的方向应该是梯度方向的反方向,由于山峰曲面每一点的梯度都是不一样的,所以我走一小步就要重新算一下当前的梯度,以决定下一步该往哪个方向走

(二)每一步的“利益”最大化

现在我有了下一步的方向,还有了出发位置,剩下的就是解决这一步跨多远的问题了,我要找到一个距离,使得恰好走这么远,我的高度下降最多,走远了不行,走近了也不行

(三)见好就收

我在当前位置,向哪个方向走,都不能再下降了,或者下降非常非常缓慢,可以认为找到一个最优点







0 0
原创粉丝点击