zoukankan      html  css  js  c++  java
  • 梯度下降

    梯度其实是一个向量,包含两个要素,大小和方向。其中方向是偏导数最大的那个方向,偏导数的最大值。

    用数学来描述的话,就是。

    图片.png

    其中f一般是代价函数

    图片.png

    而所谓梯度下降其实就是沿着梯度的反方向(函数值减少的最快的方向)移动一定的步长的迭代算法,通过一定次数的迭代后就可以快速的下降局部最小值周围。

    而梯度下降一般用于严格凸函数,即只有一个极小值,且除最小值点外,其他点梯度不等于0。

    其数学表达式是

    图片.png

    其中X是n维参数向量。α是学习因子,用于控制步长,一般初始值取0.1左右。

    列1:

    对于线性回归

    图片.png

    在数据集{Xi,yi}其代价函数为

    图片.png

    目标是求解出合适的参数θ,使得代价函数最小化。让f对θ求偏导和整理可以得到一个优雅的迭代方程

    图片.png

    为啥这个方程优雅呢,因为这个方程可以这样表达:

    图片.png

    我们发现更新量其实就是对拟合偏差的线性加权。

    此外梯度下降还存在许多优化,比如学习因子的控制,初始值的选取

  • 相关阅读:
    递归 迷宫问题
    中缀表达式转后缀表达式
    栈实现后缀表达式计算

    单向环形链表
    站在巨人的肩上
    C#自宿主API,不依赖IIS
    MySQL 安装失败解决办法
    第一话
    村上春树《眠》读书笔记
  • 原文地址:https://www.cnblogs.com/qswg/p/9286337.html
Copyright © 2011-2022 走看看