梯度下降原理
什么是梯度
梯度是微积分中一个很重要的概念,在单变量的函数中,梯度其实就是函数的微分,代表着函数在某个给定点的切线的斜率;在多变量函数中,梯度是一个向量,向量有方向,梯度的方向就指出了函数在给定点的上升最快的方向;在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度
梯度下降的目的
根据定义的损失函数计算t时刻的梯度:
更新t+1时刻参数wt+1:
其中 wt代表的是时刻t模型的参数,n表示下降的步长(也称学习率),wt+1表示t+1时刻的参数,
最终梯度下降的目的在于,通过不断更新参数w,从而使得损失函数L的值不断变小,最终得到模型最优参数w
梯度下降法的推导
- 梯度的方向是函数在给定点上升最快的方向,那么梯度的反方向就是函数在给定点下降最快的方向
以线性回归为例:
- 确认优化模型的目标函数和损失函数
- 以线性回归为例,目标函数表示为hθ(x1,x2…xn)=θ0+θ0xθ+…θnxn 其中θi=(0,1,2,3,n)为模型参数,xi=(0,1,2,3,n)表示每个样本的n个特征值,
目标函数:
损失函数:
- 参数初始化
初始化参数θ0,θ1,θn,步长α - 参数更新过程
- 确定当前位置的损失函数的梯度对于θi,其梯度表达式如下
- 用步长乘以损失函数的梯度,得到当前位置下降的距离
- 更新所有的θ,对于θi,更新表达式为