程序员的数学【最优化】(三)

简介: 本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 最优化

五、坐标下降法

🚩坐标下降法就是分治法的思想。

image.pngimage.png

六、最优化算法瓶颈

🚩前面梯度下降法,还有牛顿法求极值的依据都是f(xk)=0,而前面我们也说了函数在某一点的导数或梯度等于 0  就是驻点,它只是函数取得极值的必要条件,不是充分条件,也就是说无法推导出

image.png

所有我们前面介绍的数值优化算法,都会面临两个问题。

6.1 局部极值问题

🚩这个问题好歹是个局部极值,只不过不是全局极值,理论上我们要求全局最优解的话,我们要把所有极小值找出来,你可能要不断的去设置不同的初始迭代点,反复的求解让它收敛到不同的局部最小值,然后来比较谁最小来找到一个全局最小值。

48.png

6.2 鞍点问题

🚩前面我们说过一元函数x3函数,在坐标为 0  处它是驻点,但是它连局部最小值都不是,对应多元函数来说,我们称之为鞍点(既不是极大值点也不是极小值点的临界点,叫做鞍点)。严格定义是,在这一点它的Hessian 矩阵是不定的,既不正定也不负定,这样它就即不是极小值的点也不是极大值的点。

49.png

在物理上要广泛一些,指在一个方向是极大值,另一个方向是极小值的点。

50.png

七、凸优化问题

🚩前面我们说过数值优化面临两个问题,一个是局部极值问题,和鞍点问题,我们能不能避免这两个问题呢?

只要我们对优化问题进行限定就可以,这类问题有两个限定条件

1、优化变量的可行域必须是凸集

2、优化函数必须是个凸函数

同时满足这两个限定条件的问题,叫做凸优化问题,从而才有局部极小值进而全局极小值。

八、凸集

🚩凸集的定义:对于一个点的集合C有 x , y 它都是属于 C 里面的两个点,它们两点的连线中任何一点也是属于集合 C 的。例如立方体就是凸集。

image.png

它的意义在于,很多时候可行域就是欧式空间,那肯定是凸集。在凸集的前提下,才可以进行最优化问题求解。

九、凸函数

🚩凸函数在函数上任意找两点它们的连续就是割线上的值比对应的 f(x)的值要大

51.png

函数的二阶导数是和函数的凹凸性是有关系的,凹凸性怎么定义的?


先来做简单的介绍,这里先记住凸函数是向下凸的, 反正就是凹的,是否是凸函数可以通过二阶导数,如果二阶导数是大于 0 就是凸函数

52.png

如果一元函数,那么f(x)0就是凸函数。多元函数Hessian矩阵是半正定的,它就是凸函数;多元函数Hessian矩阵是正定的,它就是严格的凸函数。

image.png

十、凸优化表达形式

🚩凸优化的定义是目标函数是凸函数,可行域是个凸集,如果有这两个限定条件的话,局部最优解一定是全局最优解。

凸优化一般表达形式:

image.png

十一、拉格朗日乘子法

🚩高等数学和微积分的时候我相信大家都学过,用来求解等式约束下的极值问题的

image.png

拉格朗日乘子法,把对 x带约束条件的优化问题,转化为不带约束条件的优化问题

image.png

image.png

十二、KKT条件

🚩假设我们面对的是不等式条件约束优化问题,如下:

image.png

针对上式,显然是一个不等式约束最优化问题,不能再使用拉格朗日乘数法,因为拉格朗日乘数法是针对等式约束最优化问题。

拉格朗日乘数法的扩展,用来解决带不等式约束条件的一种理论结果:

image.png

约束条件为:

  • L(x,λ)=0
  • λ ≥ 0
  • λh(x)=0

上面条件就称为KKT 条件。

十三、拉格朗日对偶

🚩凸优化,非线性规划问题,甚至是运筹学里面的线性规划问题都会涉及这个概念,它的意义是把原始问题转化为另外一个问题来求解,但是转化之后的问题要容易求解一点,拉格朗日乘数法的扩展,用来解决既带等式约束条件,又带不等式约束条件的一种方法通过把原问题转换为对偶问题来求解,很多时候对偶问题比原问题更容易求解。

image.png

原始问题

image.png

我们定义对偶问题为(对上面方程的求解等效求解下面方程):

image.png

其实就是把 m i n 和 m a x  对调了一下,当然对应的变量也要变换。

image.png53.png







目录
相关文章
|
存储 NoSQL 算法
Redis6.2发布 地理位置功能增强了什么?
Redis社区最近刚刚发布Redis6.2 RC1版本,在本次发布中,阿里云Tair团队(阿里云云内存数据库产研团队,负责云上Redis社区版和Redis企业版Tair)为社区贡献了大量高质量代码与功能,其中关于地理位置查询能力的提升上,阿里云贡献了GEOSEARCH和GEOSEARCHSTORE两个重要而强大的API。本文通过分析这两个全新的API,对Redis在地理位置型应用进行深入剖析,并延伸介绍了阿里云Tair在地理位置上的更多强大功能与应用场景。
1780 0
Redis6.2发布 地理位置功能增强了什么?
|
机器学习/深度学习 自然语言处理 安全
NeurIPS 2024:如何防御对抗性提示攻击?AdvUnlearn让图片生成风险骤降
扩散模型在文本到图像生成上取得成功,但也带来安全风险。本文提出AdvUnlearn框架,通过结合对抗性训练增强概念擦除的鲁棒性,有效防止对抗性提示攻击,同时保持模型的图像生成质量和实用性。实验验证了其在多种场景下的优势。
319 19
|
8月前
|
运维 数据挖掘 API
阿里云百炼控制台全新升级
阿里云百炼控制台全新升级,更开放、高效、易用!主要变化包括:模型、应用等功能模块拆分,贴合使用场景;模型按“家族”聚类,搜索便捷;子业务空间授权入口调整,支持批量操作;应用相关功能集成在“应用”页面;新增MCP管理和广场,实现一键部署免运维,大幅降低开发门槛。
834 14
阿里云百炼控制台全新升级
|
10月前
|
机器学习/深度学习 编解码 测试技术
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 2024轻量化网络MoblieNetV4:移动生态系统的通用模型
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 2024轻量化网络MoblieNetV4:移动生态系统的通用模型
621 4
RT-DETR改进策略【模型轻量化】| 替换骨干网络为 2024轻量化网络MoblieNetV4:移动生态系统的通用模型
|
存储 人工智能 PyTorch
【AI系统】模型转换流程
本文详细介绍了AI模型在不同框架间的转换方法,包括直接转换和规范式转换两种方式。直接转换涉及从源框架直接生成目标框架的模型文件,而规范式转换则通过一个中间标准格式(如ONNX)作为桥梁,实现模型的跨框架迁移。文中还提供了具体的转换流程和技术细节,以及模型转换工具的概览,帮助用户解决训练环境与部署环境不匹配的问题。
478 5
【AI系统】模型转换流程
|
弹性计算 数据安全/隐私保护
阿里云服务器怎么连接?
阿里云服务器怎么连接? 对于不少站长来说,阿里云服务器是必不可少的一个必需品。但是对于不少新手来说,对于服务器却不是那么的了解。今天小编就来为大家介绍下连接阿里云服务器的两种方法。 电脑一台 服务器一台 方法一 首先第一点自然是登录云服务器管理平台,这个自行登录。
15085 1
|
监控 网络协议 Linux
Linux I/O多路复用深入解析:从select到epoll的演进之路
Linux I/O多路复用深入解析:从select到epoll的演进之路
714 0
|
应用服务中间件 Linux 网络安全
nginx + nginx-rtmp-module
nginx + nginx-rtmp-module
414 0
|
存储 Python
Python字典和集合操作指南:创建、获取值、修改和删除键值对,复制和遍历方法全解析
Python字典和集合操作指南:创建、获取值、修改和删除键值对,复制和遍历方法全解析
1501 0