优化 Optimization
Definition
广义上的优化问题即要求解如下问题:
其中
一般我们假定函数
Oracle
如果优化目标是已知的,我们往往可以使用求闭式解等方法来针对性的求解。但本文主要聚焦于一类更广泛的问题,即当优化目标具体形式未知时该如何求解。
如果将函数视为黑盒,我们可以引入 Oracle 来和函数进行交互。Oracle 可以被视为目标函数的一个代理,算法可以对 Oracle 进行查询操作,来获取函数的某个信息,如某处的函数值
其中我们一般称呼
由此可以将优化算法与优化目标具体形式解耦,同时提供了对于优化算法的评价指标,根据算法收敛对 Oracle 询问次数的需求,可以对算法的优劣进行评价。
Metric
评价一个算法的好坏最直观的就是看这个算法收敛所需调用 Oracle 的消耗,考虑一个简单的例子:
我们设计如下优化算法
- S1 随机初始化
- S2 令
- S3 从 Oracle 中获取函数值
。 如果结果收敛,即 ,则算法结束,否则返回 S2
由此可以计算收敛率
则
凸 Convex
- 凸集 Convex set
- 定义:若一个集合
是凸集,那么对于集合 内任意两点 的连线上的点 仍在凸集内 - 性质:凸集的交仍是凸集
- 性质:凸集外一点到凸集上的投影是唯一的,且
- 定义:若一个集合
- 凸函数 Convex function
- 定义:若一个函数
是凸的,则 - 定义域
是凸集 - 对定义域内任意两点
,两点间连线高于对应位置函数值,即
- 定义域
- 推论:对定义域内任意两点
和 处的梯度 ,有 - 推论:对定义域内任意一点
,其黑塞矩阵正半定,即
- 定义:若一个函数
- 凸优化 Convex Optimization
- 定义: 给定凸函数
,凸集 ,凸优化即求解 - 性质: 在凸函数上,局部最优解同时也是全局最优解,因此极小值 Local Minimum 和鞍点 Critical point 都是全局最小值 Global Minimum。
- 定义: 给定凸函数
Reference
本系列 “优化” 笔记均整理自 Dr. Martin Takac 在 MBZUAI 2023 Spring 开设的 MTH702 Optimization 课程内容。