梯度下降是机器学习中常用的优化参数的方法,过程是通过优化目标函数,得到最优参数。
首先说明一点,例如把目标函数记做:f(w,b),其中的w和b便是目标函数的参数。这和中学学的函数如f(x)是一样一样的。在f(x)中,x是自变量。在f(w,b)中,w和b是自变量。并没有什么不一样。
例如,y=x^2,这是抛物线,函数值随着自变量的改变而改变。
同理,f(w,b),是高维函数,函数值随着自变量w和b的改变而改变。
梯度下降的目标是找到使得函数值最小(在一定条件下,如最大循环次数或者阈值)的自变量的值。
这里,以最大循环次数举例来说明梯度下降算法,
for i 小于 最大循环次数
for j 小于 所有训练样本数
计算所有样本在当前自变量下的梯度之和
更新自变量的值
得到使得函数最小的自变量的值
以上是梯度下降算法。