优化算法概述

article/2025/10/3 8:55:07

我对优化算法之认识

以下皆为我个人见解,如有偏差实属正常情况。

  1. 优化问题概述

优化问题大抵可以抽象成以下描述,

有n个自变量X,对X有一个目标函数,我们需要求解其满足目标函数的情形,往往是极大值或者极小值,同时对于X,有一系列约束C。

我认为优化算法属于一种解题模型,不是问题模型,即使同一个问题,通过构造不同的解题模型,也就是自变量和目标函数,往往可以影响解题模型的效率,甚至是十分可解。

对于这类优化问题,往往存在着最优解法和渐进解法,最优解法是指通过某种方式直接访问最优解从而达到最优,而渐进解这是通过随机得到一个解,然后不断访问该解的相邻解来达到最终访问到一个较优解。/*我对两者的理解,前者往往是基于插值的,后者则基于交换。*/

最优解法在实际实施上,往往非常困难,甚至有些问题没有好的最优解法,所以经常使用渐进解法。对于优化问题,可分为离散问题和连续问题,连续问题如求解广义线性模型(例如线性回归和逻辑回归)中的权重,而离散问题则如求图的最短路径。

2连续问题

连续问题的最优解法往往是复杂的,广义线性模型中,权重求解的直接求解方式有一种矩阵直接求解的方式,但这种方式不仅对矩阵有一定要求,而且在矩阵行列较大的问题里,算法所需时间的也大幅度增长。

连续问题的渐进解法最常用的就是在机器学习中非常常用的梯度法了。

/* 一下这段贴的别人的 */

梯度下降法的优化思想是用当前位置负梯度方向作为搜索方向,因为该方向为当前位置的最快下降方向,所以也被称为是”最速下降法“。最速下降法越接近目标值,步长越小,前进越慢。梯度下降法的搜索迭代示意图如下图所示:

梯度下降法的缺点:

  (1)靠近极小值时收敛速度减慢,如下图所示;

  (2)直线搜索时可能会产生一些问题;

  (3)可能会“之字形”地下降。

  从上图可以看出,梯度下降法在接近最优解的区域收敛速度明显变慢,利用梯度下降法求解需要很多次的迭代。

  在机器学习中,基于基本的梯度下降法发展了两种梯度下降方法,分别为随机梯度下降法和批量梯度下降法。

对批量梯度下降法和随机梯度下降法的总结:

 

  批量梯度下降---最小化所有训练样本的损失函数,使得最终求解的是全局的最优解,即求解的参数是使得风险函数最小,但是对于大规模样本问题效率低下。

 

  随机梯度下降---最小化每条样本的损失函数,虽然不是每次迭代得到的损失函数都向着全局最优方向, 但是大的整体的方向是向全局最优解的,最终的结果往往是在全局最优解附近,适用于大规模训练样本情况。

 

/*这段贴的别人的*/

 

还有一种方法是牛顿法以及牛顿法的各种改进。/*我看的这篇文章中,着重讲解了牛顿法和拟牛顿法,我在学习数值分析时接触过牛顿法,在那时提供了一系列牛顿法的些许改进,拟牛顿法大概是比较有效的方法所以被这篇文章的作者单独提出,不过大体思想应该算是牛顿法的改进,我们可以称他们为牛顿法族:)*/牛顿法主要用于求解y=0时x的值,对于某些求极小值的问题,可以使用这个方法,牛顿法的特点是收敛速度非常快。在此不做赘述。

 

3.离散问题

离散问题诸如TSP问题,其最优解法实质是对解空间生成树的遍历,而较优解法则是对解空间交换移动,在百度百科中把解法分为途程构建法和途程改善法。两种方法无非是以一下思路形成的两大类算法。

解空间生成树(途程构件法)

以A,B,C三个城市为例,其生成树为

当然在旅行商问题中这些解某些是重复的,不过我们不考虑剪枝,求解的过程就是从树根到各个叶子的过程。这类算法也可以称作是解的检索。如果以暴力搜索作为解空间生成树的,并且不计算无效解(如AAA等,当然,在这里我们将ABC和BCA都视为有效解,画图太麻烦了啊hd),最坏情况要移动3+3*2+3*2*1次情况(假设回溯不算移动)。

解空间交换图(途程改良法)

途程改良法的解空间如下,以交换任意两个位置的字母为路径。

最坏移动次数是6次,当然这里移动的开销实际上是有差异的,不过我们暂且忽略不计。在实际问题中,不管是最优解法还是较优解法,都是存在指导思想的,即生成树的子节点抉择和交换图的移动方向,都是有一定依据的,以此来减少移动次数。

/*现在讲究大数据,什么都想弄个大数据量解决方案,图就是一种,而且图运算本身就比较复杂,还弄些什么大数据的计算,唉*/

最优算法的派系往往是对解空间生成树的DFS和BFS族算法(贪婪,动态规划,回溯这类),/*族是我胡诌的概念,意思到了就行。*/可以概述为有决策方案遍历和回溯子树。

渐进算法,则是优化算法中常见的启发式算法,如遗传,蚁群,模拟退火之类的,这类算法大概是解决大规模数据时的主要算法

/*这类启发算法不只可以用在这,也可以用在连续问题里,不过需要对连续问题做离散化,比如x属于[0,1]把x按照0.01为间隔离散成为100个离散值,在使用这类算法*/

 

4.拉格朗日松弛

基本原理

将目标函数中造成问题难的约束吸收到目标函数中,并保持目标函数的线性,使问题更加容易求解。

优化目的

在一些组合优化中,在原问题中减少一些约束,使得问题的求解难度大大降低(称这类约束为难约束)。

/*这个没太仔细看,有需要的时候调用学习一下*/

 

贴的那个人的传送门:https://www.cnblogs.com/maybe2030/p/4751804.html


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

相关文章

如何选择优化算法

如何选择优化算法 0 前言1 优化算法2 可微的目标函数2.1 Bracketing Algorithms2.2 Local Descent Algorithms2.3 First-Order Algorithms2.4 Second-Order Algorithms 3 不可微的目标函数3.1 Direct Algorithms3.2 Stochastic Algorithms3.3 Population Algorithms 4 summary …

群体智能优化算法介绍

群体智能优化算法介绍 群体智能(Swarm Intelligence)算法的定义: ​ 群体智能优化算法主要是模拟了昆虫,兽群,鸟群和鱼群的群体行为,这些群体按照一定的合作方式寻找食物,群体中每个成员通过学…

蚁群优化算法

蚁群优化算法 1.蚁群优化算法简介2.蚁群优化算法基本思想3.蚁群优化算法设计流程4.代码实现5.运行结果与分析6.实验总结1.蚁群优化算法简介 蚁群算法是一种用来寻找优化路径的概率型算法。它由Marco Dorigo于1992年在他的博士论文中提出,其灵感来源于蚂蚁在寻找食物过程中发现…

人工神经网络的优化方法,神经网络的优化算法

人工神经网络评价法 人工神经元是人工神经网络的基本处理单元,而人工智能的一个重要组成部分又是人工神经网络。人工神经网络是模拟生物神经元系统的数学模型,接受信息主要是通过神经元来进行的。 首先,人工神经元利用连接强度将产生的信号…

最优化算法——常见优化算法分类及总结

最优化问题 在生活或者工作中存在各种各样的最优化问题,比如每个企业和个人都要考虑的一个问题“在一定成本下,如何使利润最大化”等。最优化方法是一种数学方法,它是研究在给定约束之下如何寻求某些因素(的量),以使某一(或某些)…

梯度下降优化算法总结

写在前面 梯度下降(Gradient descent)算法可以说是迄今最流行的机器学习领域的优化算法。并且,基本上每一个深度学习库都包括了梯度下降算法的实现,比如Lasagne、cafe、keras等。关于梯度优化的三种分类在机器学习中常用的优化方法这篇博客中已经介绍过…

优化算法详解

文章目录 1、机器学习要求解的数学模型2、最优化算法2.1 分类2.2 通用的优化框架 3 公式解3.1 费马定理3.2 拉格朗日乘数法3.3 KKT条件 4 数值优化算法4.1 梯度下降法4.1.1 SGD、BGD、MBGD随机梯度下降法4.1.2 动量项Momentum4.1.3 AdaGrad算法4.1.4 RMSProp4.1.5 AdaDelta算法…

优化算法综述

目录 优化算法综述数学规划法精确算法(exact algorithm)启发式 VS. 元启发式启发式算法元启发式算法What is the difference between heuristics and meta-heuristics? 多目标智能优化算法模拟进化算法与传统的精确算法(确定性算法&#xff…

约束优化:约束优化的三种序列无约束优化方法

文章目录 约束优化:约束优化的三种序列无约束优化方法外点罚函数法L2-罚函数法:非精确算法对于等式约束对于不等式约束 L1-罚函数法:精确算法 内点罚函数法:障碍函数法等式约束优化问题的拉格朗日函数法:Uzawas Method…

常用优化算法

大多问题都可以建模成一种最优化模型进行求解,比如我们现在学习的机器学习算法,大部分的机器学习算法的本质都是建立优化模型,通过最优化方法对目标函数(或损失函数)进行优化,从而训练出最好的模型。常见的…

智能优化算法期末复习

目录 一、GA遗传算法 二、ACO蚁群算法 三、PSO粒子群算法 四、SA模拟退火算法 五、ABC人工蜂群算法 六、DE差分进化算法 七、TA阈值接收算法 八、综合 一、GA遗传算法 1.运算流程 2.遗传算法适应值分配策略(基于目标函数的直接分配、基于排名的分配&#xf…

智能优化算法

目录 进化类算法 遗传算法 概述 特点 改进方向 算法流程 差分进化算法 概述 原理 特点 算法流程 免疫算法 概述 优点 算法流程 群智能算法 蚁群算法(ACO) 概述 特点 算法流程 改进的蚁群算法 粒子群算法(PSO) 概述 特点 算法流程 蝙蝠算法(Bat Algorithm,BA) 模拟退火算法 概述…

优化方法总结(梯度下降法、牛顿法、拟牛顿法等)

梯度下降法 梯度下降法是最简单,也是最常用的最优化方法。梯度下降法实现简单,当目标函数是凸函数时,梯度下降法的解是全局解/一般情况下,其解不保证是全局最优解,梯度下降法的速度也未必是最快的。梯度下降法的优化思…

几种常用的优化方法梯度下降法、牛顿法、)

几种常用的优化方法 1. 前言 熟悉机器学习的童鞋都知道,优化方法是其中一个非常重要的话题,最常见的情形就是利用目标函数的导数通过多次迭代来求解无约束最优化问题。实现简单,coding 方便,是训练模型的必备利器之一。 2. 几个数…

常见的几种最优化方法(梯度下降法、牛顿法、拟牛顿法、共轭梯度法等)

常见的几种最优化方法(梯度下降法、牛顿法、拟牛顿法、共轭梯度法等) 我们每个人都会在我们的生活或者工作中遇到各种各样的最优化问题,比如每个企业和个人都要考虑的一个问题“在一定成本下,如何使利润最大化”等。最优化方法是…

优化方法

一阶优化方法:梯度下降法 梯度下降不一定能够找到全局最优解,有可能是一个局部最优解。如果损失函数是凸函数,梯度下降法得到的解一定是全局最优解。 梯度下降法分为三类: batch gradient descent 每次更新参数使用全部的样本&a…

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…