梯度下降

梯度下降是一种优化方法。当我第一次见到梯度下降这个名词的时候,有种好奇感,可是在我阅读了很多相关的博客之后,仍然是一头雾水,现在我终于明白了什么是梯度下降,结合一些博客和我自己的一点点理解,整理出这样一篇有关梯度下降的文章,用最通俗的语言表达什么是梯度下降。

1、 通俗理解梯度下降

梯度下降,就是在当前位置寻找一个最佳的行动方向,使得在这个位置沿着这个方向可以最快的,每次沿着当前位置的切线方向前进一小段,前进的距离称为步长,步长也称为学习率。前进一小段之后,如果在那一点的斜率不为0,继续前进一小段。就这样不断重复,直到切线的斜率是0。当步长(也就是学习率)固定时,随着梯度下降算法不断进行,在斜率不断减小的情况下,每次下降的越来越小。

可以把上面的描述看作是一个人在一座山坡上,人要选一条路径下坡,使下坡的速度最快,这时候,下坡的方向就相当于切线的方向,人每次向下行走一段,就会按照当前位置重新选择一个方向继续前进,这就相当于每次更新斜率,直到人到达了最低点。

2、 梯度下降可能存在的问题

(1)  梯度下降需要选择学习率(也就是步长),这个值表示下降的快慢。当这个值太大了的时候,可能可以很快的到达最低点,也可能永远不能到达最低点(因为当选择的步长太大了的时候,可能在离最低点很近的地方,经过一步又上升到另一侧的位置,这就越过了最低点,然后就这样每次都越过最低点,如此反复,永远不能到达最低点)

(2)  当选择的学习率太小的时候,可能会导致到达最低点的时间很长。

3、 与梯度下降相关的概念

(1)  假设函数:假设函数是为了拟合输入的样本点使用的函数,这个函数一般使用:hθ(x) = θ01x表示。可以说这个函数是梯度下降存在的原因,之所以引入梯度下降,就是为了使得这个拟合函数可以更好的拟合样本点;

(2)  特征:就是样本点,如:(xi,yi),是假设函数需要拟合的点;

(3)  代价函数:有些地方也称为损失函数,是为了度量假设函数能否很好的拟合样本点的一种方式,一般使用


来表示。当然还有另一种方式使用最小二乘的方式。

(4)  步长:有的地方也称为学习率。用通俗的话说就是每次移动的时候移动多长,也就是步子多大,反映在公式上就是一个(0,1)的参数。

4、 梯度上升

梯度上升与梯度下降相似,只不过,梯度上升用于求最大值,梯度下降用于求最小值,两种方法很类似,都是每次行动一点就以新的点为起点,求这个点处的切线,然后沿着切线的方向继续移动一小段,随后重复。

5、 梯度下降家族

5.1 随机梯度下降(SGD)

随机梯度下降是从n个样本中随机选择一个样本点更新参数。这样的更新方式因为只选择一个样本更新参数,所以训练速度比较快,但是因为只选择一个样本进行更新参数,所以导致了梯度下降的方向不一定是最佳的,所以收敛速度可能很慢。

5.2 批量梯度下降(BGD)

批量梯度下降与随机梯度下降相反,这种方式在参数更新的时候采用所有的样本点进行更新,所以叫做批量梯度下降。当数据量很大的时候,训练的速度可能很慢,但是由于这种方式采用了所有的样本点,所以每次更新之后一般选择的是最佳的梯度。

5.3 小批量梯度下降(MBGD)

小批量梯度下降是综合了批量梯度下降和随机梯度下降两种方式得到的梯度下降方案,既不选择全部的样本数据,也不是只使用一个样本数据,而是从全集样本中选择多个(不是全部)样本进行参数更新,这种方案因为选择了多个样本,所以最终得到的梯度与最佳梯度方向相差不是太大,没有使用全部的样本数据,所以训练的时间比批量梯度下降的训练时间短。


参考:

(1)点击打开链接

(2)点击打开链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值