梯度下降算法 (Gradient Descent)

1.梯度下降算法的理解

1)预测函数:线性回归表达式中Y = WiX + B(Wi=W1,W2……WN),Wi表示权重,Y表示输出值,也成为预测值。而X表示输入值,也成为样本特征值。B在此处称为截距项,目的在于使得训练出的模型必定通过定点,提升了模型的适用范围。
2)损失函数:用于评估训练出的模型的拟合程度。在机器学习中,梯度下降法的根本目是在迭代中寻找损失函数的最小值,并通过反向传播的方式调整各个权重的大小,知道模型拟合程度达到指定要求。
3)步长:步长决定了在梯度下降的过程中沿梯度负方向移动的距离,也就是对应于上文中所提到的两次测量最陡路径之间的距离,在机器学习中也被成为学习率。

2.运用梯度下降算法:
 

        First:  确认预测函数。本例设定的预测函数为Y (X1.X2,……XN)= W1X1 + W2X2……WNXN +B(其中W为模型参数)。如果加入特征项B,也就是截距,使预测函数在一定的范围内

        Second: 确认损失函数。确定了预测函数之后,此处使用均方损失函数 :

L(Wi,B)=1/2N*(Yi-Y) ^2 . 其中Yi表示预测值,Y表示标准值。在1/2N中,1/2目的在于对L进行求导是使得导数的系数为1,因为N代表输入个数并且已知,所以此处1/2N  是求损失函数损失数值的平均值

         Third:初始化参数。上式中我们设置初始化参数Wi设置为1,步长为0.1。这些参数会在后续的迭代中不断进行优化

         End:  进行梯度下降计算。也就是求损失函数的偏导数。对于Wi,其梯度表达式为:dL/dWi
 学习率与损失梯度的乘积。每次迭代都要更新参数Wi(权重),B(截距项)。最后所求的局部最小值或即为较小的损失值,模型的拟合率也越高

3.梯度下降算法的分类:
 

        1)SGD:  小批量梯度下降法则是在每次迭代中传入固定小批量的样本,这也是梯度下降法中使用较为广泛的一种方法,它介于批量梯度下降算法与随机梯度下降算法之间。现在通常将它们简单地成为随机(stochastic)方法。对于深度学习模型而言,人们所说的“随机梯度下降, SGD”,其实就是基于小批量(mini-batch)的随机梯度下降

        2)AdaGrad:  该算法的思想是独立地适应模型的每个参数:具有较大偏导数的参数相应有一个较大的学习率,而具有小偏导数的参数则对应一个较小的学习率。这种方法的一个问题是频繁更新参数的学习率有可能会过小,以至逐渐消失。为了解决这个问题,又涌现出RMSProp ——优化动态学习率算法,以及不需要设置参数的AdaDelta算法,还有融合了RMSProp算法和AdaDelta算法的Momentum算法

        3)RMSProp算法主要解决了AdaGrad中学习率过度衰减的问题。RMSProp 通过使用指数衰减平均(递归定义)以丢弃遥远的历史,使其能够在找到某个“凸”结构后快速收敛


        4)Momentum:  动量算法,在寻找全局最优点的时候为点加上动量,是一种带动量的SGD方法。Momentum算法就是在SGD的基础上将纸团换成铁球,那么铁球在下山的过程中因为碰撞所受到的震荡较小,在遇到平地时因为动量较大,离开平地继续下降的机率大大提升

        5)Adam: 是一种梯度下降算法,用于优化神经网络的参数。它是一种自适应学习率算法,结合了动量法和RMSProp算法的优点。在Adam算法中,每个参数都有自己的自适应学习率。它通过计算移动平均值来调整学习率,以便在训练过程中对学习率进行自适应调整。这使得Adam算法能够在不同参数的更新速度差异较大的情况下表现良好。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值