梯度下降方法(上)
1 详解梯度下降算法
1.1梯度下降的相关概念复习
在详细了解梯度下降的算法之前,我们先复习相关的一些概念。
步长(Learning rate):
步长决定了在梯度下降迭代的过程中,每一步沿梯度负方向前进的长度。用前面下山的例子,步长就是在当前这一步所在位置沿着最陡峭最易下山的位置走的那一步的长度。
特征(feature):
指的是样本中输入部分,比如2个单特征的样本则第一个样本特征为,第一个样本输出为。
假设函数(hypothesis function):
在监督学习中,为了拟合输入样本,而使用的假设函数,记为。比如对于单个特征的m个样本,可以采用拟合函数如下: 。
损失函数(loss function):
- 为了评估模型拟合的好坏,通常用损失函数来度量拟合的程度。损失函数极小化,意味着拟合程度最好,对应的模型参数即为最优参数。
- 在线性回归中,损失函数通常为样本输出和假设函数的差取平方。比如对于m个样本,采用线性回归,损失函数为:
1.2 梯度下降法的推导流程
1) 先决条件: 确认优化模型的假设函数和损失函数。
比如对于线性回归,假设函数表示为,其中为模型参数,为每个样本的n个特征值。这个表示可以简化,我们增加一个特征 ,这样
同样是线性回归,对应于上面的假设函数,损失函数为:
2) 算法相关参数初始化,
主要是初始化,算法终止距离ε以及步长a 。在没有任何先验知识的时候,我喜欢将所有的 初始化为0, 将步长初始化为1。在调优的时候再 优化。
3) 算法过程:
3.1) 确定当前位置的损失函数的梯度,对于,其梯度表达式如下:
3.2) 用步长乘以损失函数的梯度,得到当前位置下降的距离,即
对应于前面登山例子中的某一步。
3.3) 确定是否所有的,梯度下降的距离都小于ε,如果小于ε则算法终止,当前所有的即为最终结果。否则进入步骤4.
4)更新所有的,对于,其更新表达式如下。更新完毕后继续转入步骤1。
- 点赞
- 收藏
- 关注作者
评论(0)