机器学习 Chapter Two
降低损失 梯度下降算法的主要概念
- 确定往参数空间的哪个方向前进
- 沿着这个方向,可以知道每组新的超参数
超参数,就是在训练模型中,在开始训练之前设置的参数,而不是通过训练得到的参数,通常,需要对超参数进行优化,给模型选择一组最优超参数,以提高学习的性能和效果,举例来讲,如深层神经网络中的隐藏层数,梯度下降算法中的学习速率(又称步长)。超参数是根据训练优化的,所以叫做新的超参数。 - 获得具体方向就要计算梯度(模型参数相关的误差函数的导数)
- 梯度是偏导数的矢量,包含
方向
大小
两个特征,梯度始终指向损失函数中增长最为迅猛的方向,梯度下降算法会沿着负梯度的方向走一步
而这一步,移动的距离为 梯度x学习速率(标量)=移动距离 寻找下一个点的位置 - 梯度也有负值,他告诉我们方向,突然转向就是有极小值(但是目前教程还没有说,是否所有的模型都有极小值或极大值,而不是计算误差的函数是无极值的)
- 学习速率选择,超参数设置一开始不是最优,但尽量避免太大或太小,太小迭代时间长,太大,以学习速率为例,则有可能在负梯度方向迈出一大步,有可能会超过局部
具体的产生了 随机梯度下降算法 SGD
由于每一次迈步都会计算损失函数,然后再算其导数,因此,再样本数量较大时,效率会比较低。
计算单个样品的误差函数称为随机梯度下降算法,进行足够的迭代计算,SGD也可以发挥作用,但过程会比较杂乱。
使用一小部分样本(不是一个样本,也不是整个数据集)进行误差计算,则称为小批量梯度下降算法
网友评论