作者:
Sam(甄峰) sam_code@hotmail.com
梯度下降法:
梯度下降法是一种寻找目标函数最小化的常用算法。不光用于线性回归上,还被广泛应用于机器学习的众多领域。
3.1:梯度:
梯度是衡量一个函数特性----稍微改变输入,输出的改变率。
也就是函数的斜率。也就是微积分中的导数。
3.2:步骤:
A. 给定θ0 ,
θ1初始值。
B. 不断改变θ0 ,
θ1,让J(θ0 ,
θ1 )不断变小。直到找到最小值或者局部最小值。(theta0和theta1要同时变化)
3.3:数学原理:
代价函数:为J(θ0 ,
θ1 ):
重复做以下动作,直到收敛。
其中: α为学习率。可以看做步长。
后面跟的其实是导数。
注意: θ0 ,
θ1要同步更新。
3.4:学习率:
学习率太大太小都不好。
梯度下降不一定能找到全局最优解,有可能是一个局部最优解。起始点不同时,可能到达的局部最小值也不同。
当损失函数是凸函数的时候,梯度下降法所求的解就是全局最优解。
线性回归代价函数是凸函数,无局部最优解,只有一个最优解。所以用梯度下降法很适合。