梯度下降算法是利用梯度下降的方向迭代寻找目标函数的参数的最优值。
它遵循LMS(Least Mean Square是)准则,该准则是通过使似然函数最大推导得出,即得出的参数使得样本数据集出现的概率最大。
常用的迭代方法有两种:批量梯度下降法(Batch Gradient Descent)和随机梯度下降法(Stochastic Gradient Descent)。
批量梯度下降法(Batch Gradient Descent):
随机梯度下降法(Stochastic Gradient Descent):
梯度下降算法对局部极值敏感,但是对于线性回归问题只有整体极值,没有局部极值,所以在这种情况下,算法总是收敛的。
对于随机梯度下降算法,其收敛速度要快于批量梯度下降算法,但是它在最小值附近震荡的幅度较大,所以可能不会收敛于true minimum[1]。
算法实现如下:
样本数据集输入特征x[M][N]={ {1,1}, {2,1}, {1,6}, {3,4}, {5,2}, {7,9}, {8,3}, {1.5,6}, {10,11},},输出y[M]={3,4,13,11,9,25,14,13.5,32}。