梯度下降推导过程
首先理解什么是梯度?
通俗来说,梯度就是表示某一函数在该点处的方向导数沿着该方向取得较大值,即函数在当前位置的导数。
其中,θo是自变量参数,即下山位置坐标,η是学习因子,即下山每次前进的一小步**(步进长度)**,θ是更新后的θo,即下山移动一小步之后的位置。
一阶泰勒展开式
这里需要一点数学基础,对泰勒展开式有些了解。简单地来说,一阶泰勒展开式利用的就是函数的局部线性近似这个概念。我们以一阶泰勒展开式为例
最后得到的梯度下降公式:
BGD,SGD,MBGD的区别
BGD(批量梯度下降):更新每一参数都用所有样本更新,m=all,更新100次遍历多有数据100次
SGD(随机梯度下降):更新每一参数都随机选择一个样本更新,m=1
**MBGD(小批量梯度下降):**更新每一参数都选m个样本平均梯度更新,1<m<all
总结:SGD训练速度快,大样本选择;BGD能得到全局最优解,小样本选择;MBGD综合二者选择