想了解更多好玩的人工智能应用,请关注公众号“机器AI学习 数据AI挖掘”,”智能应用"菜单中包括:颜值检测、植物花卉识别、文字识别、人脸美妆等有趣的智能应用。。
梯度下降法作为机器学习中较常使用的优化算法,其有着三种不同的形式:批量梯度下降(Batch Gradient Descent)、随机梯度下降(Stochastic Gradient Descent)以及小批量梯度下降(Mini-Batch Gradient Descent)。其中小批量梯度下降法也常用在深度学习中进行模型的训练。接下来,我们将对这三种不同的梯度下降法进行理解。
为了便于理解,这里我们将使用只含有一个特征的线性回归来展开。此时线性回归的假设函数为:
hθ(x(i))=θ1x(i)+θ0" role="presentation" style=" box-sizing: border-box; display: inline-block; line-height: 0; font-size: 19.04px; overflow-wrap: normal; word-spacing: normal; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border-width: 0px; border-style: initial; border-color: initial; padding-top: 1px; padding-bottom: 1px; ">hθ(x(i))=θ1x(i)+θ0hθ(x(i))=θ1x(i)+θ0
其中,i=1,2,…,m" role="presentation" style=" box-sizing: border-box; display: inline-block; line-height: 0; font-size: 19.04px; overflow-wrap: normal; word-spacing: normal; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border-width: 0px; border-style: initial; border-color: initial; padding-top: 1px; padding-bottom: 1px; ">i=1,2,…,mi=1,2,…,m 表示样本数。
对应的目标函数(代价函数) 即为:
J(θ0,θ1)=12m∑i=1m(hθ(x(i))−y(i))2" role="presentation" style=" box-sizing: border-box; display: inline-block; line-height: 0; font-size: 19.04px; overflow-wrap: normal; word-spacing: normal; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border-width: 0px; border-style: initial; border-color: initial; padding-top: 1px; padding-bottom: 1px; ">J(θ0,θ1)=12mm∑i=1(hθ(x(i))−y(i))2J(θ0,θ1)=12m∑i=1m(hθ(x(i))−y(i))2
一、批量梯度下降(Batch Gradient Descent,BGD)
批量梯度下降法是最原始的形式,它是指在每一次迭代时使用所有样本来进行梯度的更新。从数学上理解如下:
(1)对目标函数求偏导:
∇J(θ0,θ1)=1m∑i=1m(hθ(x(i))−y(i))xj(i)" role="presentation" style=" box-sizing: border-box; display: inline-block; line-height: 0; font-size: 19.04px; overflow-wrap: normal; word-spacing: normal; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border-width: 0px; border-style: