优化方法

article/2025/10/3 11:23:31

一阶优化方法:梯度下降法
梯度下降不一定能够找到全局最优解,有可能是一个局部最优解。如果损失函数是凸函数,梯度下降法得到的解一定是全局最优解。

梯度下降法分为三类:

  • batch gradient descent
    每次更新参数使用全部的样本,当样本数目很多的时候,训练过程很慢
  • stochastic gradient descent
    每次更新参数使用一个样本,当样本数目很多的时候,训练速度快
  • mini-batch gradient descent
    每次更新参数使用小批量的样本

梯度下降法使用的是一阶信息,通俗讲就是只是用了当前点一阶导数信息决定搜索方向。
在这里插入图片描述

二阶优化方法:牛顿法
牛顿法迭代轮数远小于梯度下降法,因为其使用了二阶信息。通俗点就是利用当前点的一阶和二阶导数来决定搜索方向。
当是多变量的时候,需要Hessian矩阵的逆。

每次迭代过程中都需要计算Hessian矩阵及其逆,特别是维度很高的时候,计算量很大,因此机器学习优化问题中很少用到牛顿法。
在这里插入图片描述

拟牛顿法
上面提到牛顿法在计算Hessian矩阵及其逆的时候,计算量很大。因此很多牛顿法的变形出现了,统称拟牛顿法。

拟牛顿法的核心思想是:不用二阶导数而构造出可以近似Hessian矩阵(或Hessian矩阵的逆)的正定矩阵。最常用的拟牛顿算法如下:

  • DFP
    核心:通过迭代的方法,对 H k + 1 − 1 H_{k+1}^{-1} Hk+11做近似
  • BFGS
    与DFP相比,BFGS性能更佳,目前它成为求解无约束非线性优化问题最常用的方法之一。
    BFGS是采用迭代的方法,直接逼近Hessian矩阵。
  • L-BFGS
    BFGS需要用到N×N的矩阵,当N很大的时候,存储它需要很大的内存资源。L-BFGS对BFGS算法进行了近似,核心思想:不再存储完整的矩阵

拟牛顿条件:指出了用来近似的矩阵应该满足的条件
符号说明:用B表示对Hessian矩阵H的近似,用D表示对Hessian矩阵的逆 H − 1 H^{-1} H1的近似。
y k = H k + 1 ⋅ s k y_k = H_{k+1} \cdot s_k yk=Hk+1sk
或者 s k = H k + 1 − 1 ⋅ y k s_k = H_{k+1}^{-1} \cdot y_k sk=Hk+11yk
这就是拟牛顿条件。
因此B和D需满足:
y k = B k + 1 ⋅ s k y_k = B_{k+1} \cdot s_k yk=Bk+1sk
s k = D k + 1 ⋅ y k s_k = D_{k+1} \cdot y_k sk=Dk+1yk
推导过程请参考 https://blog.csdn.net/itplus/article/details/21896619

[1] https://blog.csdn.net/haolexiao/article/details/60780350
[2] https://blog.csdn.net/itplus/article/details/21896453
[3] https://www.cnblogs.com/ooon/p/5729982.html 建议批判性阅读,因为本人觉得里面有些地方是有问题的


http://chatgpt.dhexx.cn/article/e6HfhUl5.shtml

相关文章

Visual Studio 2012安装教程

1.鼠标右击软件压缩包,选择解压到【Visual Studio2012】。 2.双击打开【Visual Studio2012】文件夹。 3.双击打开【安装包】。 4.选中【vs_ultimate】后,鼠标右击选择【以管理员身份运行】。 5.更改软件安装路径:建议安装到除C盘以外的磁盘&a…

vs2022的下载及安装教程

Visual Studio在团队项目开发中使用非常多且功能强大,支持开发人员编写跨平台的应用程序;Microsoft Visual C 2022正式版(VC2022运行库),具有程序框架自动生成,灵活方便的类管理,强大的代码编写等功能,可提供编辑C语言…

VS2012安装步骤

学习C#一段时间了,安装了VS,在安装的过程中,没有想象中的那么顺利,一直想记录一下,今天在此小编来介绍一下VS的安装吧! 1.exe安装文件直接双击,安装就开始啦! 2.选择安装路径&#…

【数据库系统工程师】第9章 非关系型数据库NoSQL

目录 思维导图9.1 NoSQL概述1.三高需求面前,NoSQL应运而生 9.2 相关理论基础1.一致性2.分区3.存储分布4.查询模型 9.3 NoSQL数据库的种类1.分类与特点2.文档存储3.键值存储4.列存储5.图存储6.其他存储模式 9.4 NoSQL应用案例与新技术1.HBase数据库2.云数据库GeminiD…

NOSQL数据库习题

NOSQL数据库习题 第一章第二章第三章第四章第五章NoSQL数据库上机测试 第一章 1.写出DB、RDB、DBMS、TRDB、NoSQL、NewSQL、NDFS的中文名称。 答:DB:数据库 RDB:关系型数据库 DBMS:数据库管理系统 TRDB:传统关系型数…

NoSql数据库使用心得

http://bbs.chinaunix.net/thread-4168061-1-1.html NoSql数据库这个概念听闻许久了,也陆续看到很多公司和产品都在使用,优缺点似乎都被分析的清清楚楚。但我心里一直存有一个疑惑,它的出现究竟是为了解决什么问题? 这个疑惑非…

NoSQL - 学习/实践

1.应用场景 主要用于学习NoSQL数据库, 与关系型数据库的区别, 以及各自的原理实现,应用场景。 2.学习/操作 1.文档阅读 What is NoSQL? | Nonrelational Databases, Flexible Schema Data Models | AWS Relational (SQL) or NoSQL? - Ama…

NoSQL数据库入门

为什么80%的码农都做不了架构师&#xff1f;>>> NoSQL数据库入门 本书是一本NoSQL入门书&#xff0c;从最基本的NoSQL发展史开始&#xff0c;介绍了memcached、Tokyo、Redis和MongoDB的等NoSQL数据库的使用背景、优缺点和具体应用案例...更多<< 转载于:h…

SQL与NoSQL数据库入门基础知识详解

这几年的大数据热潮带动了一激活了一大批hadoop学习爱好者。有自学hadoop的&#xff0c;有报名培训班学习的。所有接触过hadoop的人都知道&#xff0c;单独搭建hadoop里每个组建都需要运行环境、修改配置文件测试等过程。对于我们这些入门级新手来说简直每个都是坑。国内的发行…

大数据开发学习:NoSQL数据库入门

大数据处理&#xff0c;涉及到从数据获取到数据存储、数据计算的诸多环节&#xff0c;各个环节需要解决的问题不同&#xff0c;相关岗位要求的技能也不同。在数据存储阶段&#xff0c;对数据库选型是非常重要的一项工作。今天的大数据开发学习分享&#xff0c;我们就来聊聊NoSQ…

Nosql复习笔记,教材《NoSQL数据库入门与实践》

Nosql复习笔记 目录 一、NoSQL数据库的主要技术特点有以下几种。 二、单机的局限性 三、服务器的纵横扩充 四、帽子定理CAP 五、BASE:基本可用(BA)、 软状态(S)、最终一致性(E) 六、键值数据库实现基本原理 七、键值数据库存储结构基本要素 八、键值存储特点&#xff…

NoSQL数据库入门概述

关系型数据库与NoSql数据库 什么是NoSQL Not Only SQL&#xff0c;其含义是&#xff1a;适合关系型数据库的时候就是用关系型数据库&#xff0c;不适用的时候也没必要非得使用关系型数据库不可&#xff0c;可以考虑使用更加合适的数据存储。 为弥补关系型数据库的不足&am…

MongoDB(NoSQL)数据库入门及基本操作

文章目录 一、NoSQL 简介1.1 NoSQL的优点1.2 NoSQL的缺点1.3 NoSQL的分类 二、MongoDB2.0 demo示例2.1 install and connect mongoose2.2 基本指令 一、NoSQL 简介 NoSQL(NoSQL Not Only SQL )&#xff0c;意即"不仅仅是SQL"&#xff0c;是非关系型的数据库。 NoS…

NoSql入门

一.概念&#xff1a; NoSQL(NOSQL Not Only SQL)&#xff0c;意即“不仅仅是SQL”&#xff0c;泛指非关系型的数据库。随着互联网web2.0网站的兴起&#xff0c;传统的关系数据车在应付web2.0网站&#xff0c;特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从…

大数据开发——Hive实战案例

文章目录 1. 创建表结构1.1 视频表结构1.2 用户表结构 2. 准备工作2.1 创建临时表2.2 创建最终使用表2.3 对创建表进行解读 3. 业务分析 1. 创建表结构 1.1 视频表结构 1.2 用户表结构 2. 准备工作 2.1 创建临时表 由于使用的是orc方式进行存储&#xff0c;所以我们需要建立…

【大数据处理技术】实验4

安装MongoDB&#xff08;Ubuntu版本&#xff1a;22.04 LTS&#xff09; 0.查看Ubuntu版本 命令&#xff1a;lsb_release -a 1.使用Ubuntu命令安装 &#xff08;1&#xff09;更新系统包&#xff1a; sudo apt update&#xff08;可选&#xff09; sudo apt upgrade&#x…

大数据处理的五大关键技术及其应用

数据处理是对纷繁复杂的海量数据价值的提炼,而其中最有价值的地方在于预测性分析,即可以通过数据可视化、统计模式识别、数据描述等数据挖掘形式帮助数据科学家更好的理解数据,根据数据挖掘的结果得出预测性决策。其中主要工作环节包括:   大数据采集、大数据预处理、大数…

大数据技术原理与应用----大数据处理架构Hadoop

一、Hadoop简介及其应用现状 1、Hadoop简介 Hadoop&#xff08;是大数据技术的集合体&#xff0c;一整套解决方案的统称&#xff09;是由Java开发的&#xff0c;支持多种编程语言。 2、Hadoop的理论基础 &#xff08;1&#xff09;Hadoop的两大核心 ①分布式文件系统&#x…

浅析大数据分析技术

随着大数据时代的到来&#xff0c;在大数据观念不断提出的今天&#xff0c;加强数据大数据挖掘及时的应用已成为大势所趋。大数据分析处理是对纷繁复杂的海量数据价值的提炼&#xff0c;而其中最有价值的地方在于预测性分析&#xff0c;即可以通过数据可视化、统计模式识别、数…

大数据系统及分析技术

大数据 IDC将大数据技术定义为&#xff1a;“为更经济地从高频率的、大容量的、不同结构和类型的数据中获取价值而设计的新一代架构和技术。” 大数据的关键在于种类繁多、数量庞大、使用传统的数据分析工具无法在可容忍的时间内处理相应的数据。大数据分析主要涉及两个不同的领…