梯度下降
在梯度下降这一节中我们主要介绍了两个概念(参数):学习速率和终止条件
学习速率
一般来讲,学习速率不能太大,也不能太小
- 太大可能导致下降过程中来回震荡,无法准确找到几值点(最大值或最小值)
- 如果太小可能会导致:
- 梯度下降在某一个值的区段中无法跳出
- 迭代的次数过多而导致学习时间变长
那么到底什么值才是最正确的学习速率呢?这个一般是根据经验来选取的,比如从…0.0001,0.001,.0.01,0.1,1.0…这些参数中选,看那个参数使得损失值和迭代次数之间的函数曲线下降速度最快
终止条件
设置正确的终止条件也是机器学习的重要部分,一般情况下我们会综合恶来选择,例如:
- 指定学习次数(上限:1000次等)
- 相连两次梯度下降值的差值的上下限
使用梯度下降更新参数的计算
使用梯度下降更新参数的主要方法如下(推理过程略):
参数更新时一定要注意同步更新,不然会产生参数的值不正确的问题
线性回归的梯度下降
经过以上整个推理过程,我们可以分析出一个线性回归问题的最优化值的求解过程了
- 对cost function求解权重向量(二次函数情况下使用偏导即可)
- 非二次函数的的情况也是比较多见,所以我们要使用梯度下降的方法求解全局极值
根据以上函数的关系,我们可以得到计算线性回归的梯度下降表达式如下:
有了以上的理论基础之后,我们就可以在对应的参数调整情况下得到cost function函数局部极值对应的值了