机器学习入门|梯度下降

梯度:梯度的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。————百度百科

梯度下降算法本质上就是沿着负梯度方向寻找函数最小值的求解方法

梯度下降法是迭代法的一种,以逐渐逼近解为目的求出解的精确值。牛顿方法也是一种迭代法。

机器学习入门|梯度下降

上图是梯度下降的一个直观图像,从某一点开始,沿着下降最快的方向一步一步逼近最小值。(从上图也可看出,梯度下降根据初始点选择的不同,最终求出的解也可能不同,不一定会收敛到最小值,可能会收敛到某个极小值)我有几张阿里云幸运券分享给你,用券购买或者升级阿里云相应产品会有特惠惊喜哦!把想要买的产品的幸运券都领走吧!快下手,马上就要抢光了。

1.批梯度下降(耗时长)

最小二乘法求误差的最小平方和,即J(θ)J(θ)最小值

J(θ)=12i=0n(xiθiy)2J(θ)=12∑i=0n(xiθi−y)2

更新θθ:

θi=θiαJ(θ)θiθi=θi−α∂J(θ)∂θi

=θiαj=1m(hθ(x(j))y(j))x(j)i=θi−α∑j=1m(hθ(x(j))−y(j))xi(j)

其中:α控制更新幅度大小,即训练的步长,m是样本数量,n是特征数量,y是给出的样本值,h是以θ为参数的关于x的函数,也是预测值。

批梯度下降每一次更新都会考虑所有m个样本,所以花时间长。

原文链接