zoukankan      html  css  js  c++  java
  • 梯度下降算法理解(梯度的含义)

    梯度:梯度的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值

    即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。

    百度百科详细含义:https://baike.baidu.com/item/%E6%A2%AF%E5%BA%A6/13014729?fr=aladdin

    • 在单变量的函数中,梯度其实就是函数的微分,代表着函数在某个给定点的切线的斜率
    • 在多变量函数中,梯度是一个向量,向量有方向,梯度的方向就指出了函数在给定点的上升最快的方向

    参考这个博客https://blog.csdn.net/qq_41800366/article/details/86583789

    1、梯度下降(gradient descent)

    2、不论是在线性回归还是Logistic回归中,它的主要目的是通过迭代找到目标函数的最小值,或者收敛到最小值。

    3、梯度下降法的基本思想可以类比为一个下山的过程。

    假设这样一个场景:一个人被困在山上,需要从山上下来(找到山的最低点,也就是山谷)。但此时山上的浓雾很大,导致可视度很低;因此,下山的路径就无法确定,

    必须利用自己周围的信息一步一步地找到下山的路。这个时候,便可利用梯度下降算法来帮助自己下山。怎么做呢,首先以他当前的所处的位置为基准,

    寻找这个位置最陡峭的地方,然后朝着下降方向走一步,然后又继续以当前位置为基准,再找最陡峭的地方,再走直到最后到达最低处;同理上山也是如此,

    只是这时候就变成梯度上升算法了

    4、为什么梯度反方向是函数值下降最快的方向?

    https://blog.csdn.net/yizhen_acmer/article/details/54670733?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

    有时间看一下高数,再复习一下。

    5、梯度的方向是函数在给定点上升最快的方向,那么梯度的反方向就是函数在给定点下降最快的方向,这正是我们所需要的。所以我们只要沿着梯度的方向一直走,就能走到局部的最低点!

    6、α在梯度下降算法中被称作为学习率或者步长,意味着我们可以通过α来控制每一步走的距离,以保证不要步子跨的太大扯着蛋,哈哈,其实就是不要走太快,错过了最低点。同时也要保证不要走的太慢,导致太阳下山了,还没有走到山下。所以α的选择在梯度下降法中往往是很重要的!α不能太大也不能太小,太小的话,可能导致迟迟走不到最低点,太大的话,会导致错过最低点!

    7、梯度要乘以一个负号
    梯度前加一个负号,就意味着朝着梯度相反的方向前进!我们在前文提到,梯度的方向实际就是函数在此点上升最快的方向!而我们需要朝着下降最快的方向走,自然就是负的梯度的方向,所以此处需要加上负号;那么如果时上坡,也就是梯度上升算法,当然就不需要添加负号了。

    8、首先给出数学公式

    在这里插入图片描述
    此公式的意义是:J是关于Θ的一个函数,我们当前所处的位置为Θ0点,要从这个点走到J的最小值点,也就是山底。首先我们先确定前进的方向,也就是梯度的反向,然后走一段距离的步长,也就是α,走完这个段步长,就到达了Θ1这个点!
    在这里插入图片描述

  • 相关阅读:
    c++回调java方法
    c++ 11学习笔记--智能指针
    c++ 11学习笔记--Lambda 表达式(对比测试Lambda ,bind,Function Object)
    explicit构造函数和private
    c++ 11学习笔记--右值引用和移动构造语义
    c++ 11学习笔记-- 常量表达式(constexpr)
    从京东app学到的(1)
    从文轩商城app学到的
    AntV G2 toolTip 自定义显示
    Ant Design of Vue table表格 点击一行选中效果
  • 原文地址:https://www.cnblogs.com/h694879357/p/13353663.html
Copyright © 2011-2022 走看看