文章目录
一、梯度下降概念、算法流程
梯度下降的完整过程:
1定义代价函数
→2选择起始点
→3计算梯度
→4按学习率前进箭头
→(3计算梯度 → 4按学习率前进箭头
)重复直至找到最低点。
什么是梯度下降?先补充一个概念
均方误差:误差平均和的平均值 。
对于这个图来说:点p1的均方误差e1就为:e1=(y1-w*x1)^2。
拓展到计算每一个点就可以算出无数的e1,e2,e2…,en。
求所有点误差的平均值:(其中x,y和样本数n都是已知数,用常量a,b.c分别代替)
loss function: 得出的误差函数e = a*w^2 + b*w + c
表示了学习所需要付出的代价,该函数也是样本点拟合过程的映射(如下图)。
3 计算梯度
4 学习率
通过学习率调整权重:
5 循环迭代
二、梯度下降
1 BGD批量梯度下降——全部样本参与计算
- 左侧:样本点
- 右侧:代价函数表示的曲面
BGD批量梯度下降是梯度下降最原始的方式,可以保证算法精准度,找到全局最优点,but训练搜索过程慢,代价大
。
2 SGD随机梯度下降
SGD随机梯度下降,每下降一步只需要用一个样本进行计算。
优:提升了计算速度
缺:牺牲了一定的精准度
3 MBGD小批量梯度下降
相对快、相对精准
4 可能存在的问题
陷入局部最优解