作者:糖甜甜甜
经管人也可以学Python。
个人公众号: 经管人学数据分析
基本介绍
梯度下降法(gradient descent),又名最速下降法(steepest descent)是求解无约束最优化问题最常用的方法,它是一种迭代方法,每一步主要的操作是求解目标函数的梯度向量,将当前位置的负梯度方向作为搜索方向。
梯度下降法特点:越接近目标值,步长越小,下降速度越慢。下面将通过公式来说明梯度下降法。
建立模型为拟合函数h(θ) :
接下来的目标是将该函数通过样本的拟合出来,得到最佳的函数模型。因此构建损失函数J(θ)(目的是通过求解min J(θ),得到在最优解下的θ向量),其中的每一项
都表示在已有的训练集上我们的拟合函数与 y之间的残差,计算其平方损失函数作为我们构建的风险函数(这里采用最小二乘法构造损失函数,在逻辑回归中也可采用最大似然估计构造损失函数从而估计参数)。
要使得最小J(θ),则对其J(θ)求导等于零。
在处理以下步骤时,可以用批量梯度下降算法(BGD)与随机梯度下降算法(SGD)。
批量梯度下降算法(BGD)
单个特征 的迭代如下:
a为步长,如果太小,则找到函数最小值的速度就很慢,如果太大,则可能会错过最小值,而使得函数值发散。初始点不同,获得的最小值也不同,因此梯度下降求得的只是局部最小值。
多个特征的迭代如下:
Repeat until convergence{
(for every )
}
<