AI算法工程师手册-二、梯度下降法

二、梯度下降法

  1. 梯度下降法是求解无约束最优化问题的一种常见方法,优点是实现简单。
  2. 对于函数: ![二、梯度下降法 - 图1],则定义梯度:

二、梯度下降法 - 图3 函数的驻点满足: ![二、梯度下降法 - 图4] 。

  1. 沿着方向 ![二、梯度下降法 - 图5] 的方向导数directional derivative定义为:

二、梯度下降法 - 图6 其中 ![二、梯度下降法 - 图7] 为单位向量。 方向导数就是 ![二、梯度下降法 - 图8] 。

  1. 为了最小化 ![二、梯度下降法 - 图10],则寻找一个方向:沿着该方向,函数值减少的速度最快(换句话说,就是增加最慢)。即:

二、梯度下降法 - 图1 假设 ![二、梯度下降法 - 图12] 。 考虑到 ![二、梯度下降法 - 图15] 无关,于是上述问题转化为:

二、梯度下降法 - 图1 于是: ![二、梯度下降法 - 图18] 沿着梯度的相反的方向。即:梯度的方向是函数值增加最快的方向,梯度的相反方向是函数值减小的最快的方向。 因此:可以沿着负梯度的方向来降低 ![二、梯度下降法 - 图20] 的值,这就是梯度下降法。

  1. 根据梯度下降法,为了寻找 ![二、梯度下降法 - 图21] 为学习率,它是一个正数,决定了迭代的步长。 迭代结束条件为:梯度向量 ![二、梯度下降法 - 图24] 的每个成分为零或者非常接近零。

  2. 选择学习率有多种方法:

  3. 一种方法是:选择 二、梯度下降法 - 图2

  4. 另一种方法是:给定多个 二、梯度下降法 - 图2 这种做法叫做线性搜索line search

  5. 第三种方法是:求得使 二、梯度下降法 - 图2

二、梯度下降法 - 图3

 这种方法也称作最速下降法。
  • 在最速下降法中,假设相邻的三个迭代点分别为: 二、梯度下降法 - 图3 证明:

二、梯度下降法 - 图3

   根据最优化问题,有:

二、梯度下降法 - 图3

   将 ![二、梯度下降法 - 图35] 代入,有:

二、梯度下降法 - 图3

   为求 ![二、梯度下降法 - 图37] 。
   根据链式法则:

二、梯度下降法 - 图3

   即:![二、梯度下降法 - 图40] 。

此时迭代的路线是锯齿形的,因此收敛速度较慢。

  1. 某些情况下如果梯度向量 ![二、梯度下降法 - 图42] 。 此时不用任何迭代,直接获得解析解。

  2. 梯度下降算法: 输入:

  3. 目标函数 二、梯度下降法 - 图4

  4. 梯度函数 二、梯度下降法 - 图4

  5. 计算精度 二、梯度下降法 - 图4

  6. 输出: 二、梯度下降法 - 图4 算法步骤:

  7. 选取初始值 二、梯度下降法 - 图4 迭代,停止条件为:梯度收敛或者目标函数收敛。迭代步骤为:

  8. 计算目标函数 二、梯度下降法 - 图5

  9. 若梯度 二、梯度下降法 - 图5

  10. 若梯度 二、梯度下降法 - 图5

  11. 二、梯度下降法 - 图6

  12. 二、梯度下降法 - 图6

  13. 否则,令 二、梯度下降法 - 图6

gradient_descent

  1. 当目标函数是凸函数时,梯度下降法的解是全局最优的。通常情况下,梯度下降法的解不保证是全局最优的。
  2. 梯度下降法的收敛速度未必是最快的。

文章列表

更多推荐

更多
  • Pharo敏捷人工智能-第一部分:神经网络
    Apache CN

  • Pharo敏捷人工智能-第二部分:遗传算法
    Apache CN

  • Pharo敏捷人工智能-# 第三部分:神经进化 第三部分:神经进化
    Apache CN

  • Azure数据工程指南-二十四、数据治理的权限 创建 azure 预览帐户,探索 azure 预览,探索词汇表,浏览资产,以编程方式使用预览,摘要,管理凭证和访问,创建扫描, 许多组织需要建立数据治理流程、标准和方法,并且已经能够使用内部 SQL Server 工具(如 Master
    Apache CN

  • Azure数据工程指南-二十二、Synapse 分析工作区 创建 Synapse 分析工作区,使用 Spark 探索样本数据,用 SQL 查询数据,用 SQL 创建外部表,摘要, 微软 Azure 数据平台的众多新增功能已经围绕许多类似的产品及其在现代 Azure 数据平台中的用途产生了兴奋和困
    Apache CN

  • Azure数据工程指南-二十三、数据块中的机器学习 创建 MLflow 实验,安装 MLflow 库,创建笔记本,选择性测井,自动记录,摘要, 寻求利用机器学习(ML)和人工智能能力的组织和开发人员花费大量时间构建 ML 模型,并寻求一种方法来简化他们的机器学习开发生命周期,以跟踪实验,
    Apache CN

  • Azure数据工程指南-二十一、将 Apache Spark 的 GraphFrame API 用于图形分析 安装 JAR 库,加载新数据表,将数据加载到数据块笔记本中,用顶点和边构建一个图,查询图表,寻找有图案的图案,用 PageRank 发现重要性,探索入度和出度度量,摘要,进行广度优先搜索,查找连接的组件, 图形技术使用户能够以图形的形式
    Apache CN

  • Azure数据工程指南-20 二十、部署 SQL 数据库先决条件,创建 Visual Studio SQL 数据库项目,安装 Visual Studio GitHub 扩展,导入 AdventureWorks 数据库,连接到 GitHub Repo 源代码控制,将
    Apache CN

  • Azure数据工程指南-十九、部署数据工厂更改 先决条件,创建 DevOps 持续集成构建管道,创建 DevOps 持续部署发布渠道,验证部署的数据工厂资源,摘要,Azure PowerShell 任务停止触发器,ARM 模板部署任务,Azure PowerShell 任务启动触发器
    Apache CN

  • Azure数据工程指南-十八、用于 Cosmos DB 的 Azure Synapse 链接 创建一个 Azure Cosmos DB 帐户,启用 Azure Synapse 链接,创建一个 Cosmos DB 容器和数据库,将数据导入 Azure Cosmos DB,在 Azure Synapse Analytics 中创建
    Apache CN

  • 近期文章

    更多
    文章目录

      推荐作者

      更多