机器学习-梯度下降

目录

一.什么是梯度下降?

二.什么是梯度?

三.梯度下降法分类


一.什么是梯度下降?

       1. 沿着梯度下降的方向求解极小值.梯度下降过程和下山场景类似的微分的损失函数,代表着一座山寻找函数的最小值,也就是山底.

        

2.步骤:

输入:初始化位置,每步的距离为a,输出从位置s到达山底

步骤1:令初始化的位置为山的任意位置s

步骤2:在当前位置环顾四周,如果四周都比s高返回s

步骤3:在当前位置环顾四周,寻找坡度最陡的方向,令其为x方向

步骤4:沿着x方向往下走,长度为a到达新的s

步骤5:在s位置环顾四周,如果四周都比s高则返回s,否则转到第三步.

二.什么是梯度?

        单变量函数中,梯度就是某一点切线斜率(某一点的导数 );有方向为函数增长最快的方向.

        

        

        多变量函数中,梯度就是某一点的偏导,有方向:偏导分量的向量方向

        

        梯度下降公式:

                循环迭代当前的梯度,更新当前的权重参数

        α:学习率(步长),不能太大也不能太小,机器学习中0.001~0.01

        梯度是上升最快的方向,我们寻找的是下降最快的,所以加负号.

        梯度下降优化过程:

        1.给定初始位置,步长(学习率 )

        2.计算该点当前的梯度的负方向

        3.向该方向移动步长

        4.重复2-3步,直至收敛

                两次差距小于指定的阈值

                达到指定的迭代次数

        学习率步长:

        1.步长决定了梯度下降迭代的过程中,每一步沿梯度的负方向前进的长度

        2.学习率太小,下降的速度会慢

        3.学习率太大,容易造成错过最低点.产生下降过程中的震荡,甚至梯度爆炸.

                

三.梯度下降法分类

        1.全梯度下降算法 FGD

                每次迭代时,使用全部样本的梯度值

                

                缺点:使用全部数据集,训练速度慢

        2.随机梯度下降算法SGD

                每次迭代时,随机选择并使用一个样本的梯度值

                

                优点:简单,高效.

                缺点:不稳定,遇上噪声,则容易陷入局部最优解

        3.小批量梯度下降算法 min-bantch

                每次迭代时,随机选择并使用小批量的样本梯度值 m个样本中,选x个进行迭代(1<x<m)

                

                若batch_size=1就是SGD,batch_size=n 就是FGD

                目前使用最多的,结合了SGD的胆大,FG的心细,表现在两者之间.避开了FGD的运算                          效 率 低,和SGD的不稳定.

        4.随机平均梯度下降算法SAG

                每次迭代时,随机选择一个样本的梯度值和以往样本的梯度值的均值

                

                1.随机选择a样本,计算梯度并存储到列表,然后计算列表中的梯度均值,更新参数

                2.在随机选择b样本,计算梯度值存储到列表,计算[a,b]的梯度均值,更新模型

                3.随机再选择一个样本,假设又选择了 c 样本, 重新计算该样本梯度值,并更新列表中 [a,b

                ,c] 样本的梯度值,

                初期表现不佳,优化速度慢,因为一般都将梯度初始者设置为0,而SAG每轮都结合了上一轮梯度值.

                

                

  • 38
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值