双层优化模型【简述】
1.模型理解
- 双层规划问题就是指这种优化问题:目标函数中的一组变量被约束为另一优化问题的最优解;更简单来说,就是一个优化问题问题的参数受限于另一个优化问题,这两个问题相互影响。
2.数学定义
公式定义:
minθ,wθF(wθ,θ)suchthatwθ∈minwL(w,θ)min_{\theta,w_\theta}F(w_\theta,\theta) \quad such \quad that \quad w_\theta \in min_wL(w,\theta) minθ,wθF(wθ,θ)suchthatwθ∈minwL(w,θ)
其中
- F(wθ,θ)F(w_\theta,\theta)F(wθ,θ):外部优化问题的目标函数
- L(w,θ)L(w,\theta)L(w,θ):内部优化问题的目标函数
- θ\thetaθ:外部变量/超参数
- w:内部变量
解释
- 针对上述公式,我们的最终目的其实是求F(Wθ,θ)F(Wθ ,θ)F(Wθ,θ)的最小值,但是它其中的一个参数wθw_θwθ是关于另一个问题,L(w,θ)L(w,θ)L(w,θ)解的函数
- 上面的目标函数 F 和 L可以通俗理解为训练网络的时候,使用的损失函数,比如说网络预测值与真实值差值的平方和
- 在机器学习中,有一类应用是通过双层规划问题来优化超参数,超参数优化问题的基本思想是在给定一个度量标准的情况下,使用验证集构建一个超参数的响应函数(eg:验证集上的平均损失)
- 在2的这种情况下,一般外部目标函数F(Wθ,θ)F(Wθ ,θ)F(Wθ,θ)是基于验证集的,而内部目标函数L(w,θ)L(w,θ)L(w,θ)是基于训练集的。这样设置的一个直观的解释是:内部目标函数通过采用训练集样本不断优化内部变量,也就是不断优化网络各层的参数w;而外部目标函数则通过验证集样本不断优化外部变量,也就是优化超参数。
3.一种求解思路
求解双层规划问题是比较困难的,因为内部优化问题一般是很难找到其闭合解(也成为解析解,即存在严格的公式,给定 x 就能求出 y )。一种求解双层规划问题的思路是:
固定外层超参数,优化内层参数:将内部优化问题的求解看做是一个迭代优化的过程,使用梯度下降或者各类变体算法近似求解内层目标函数的解,及使用下列公式进行多次梯度下降优化w,假设经过T次梯度下降后,得到内层优化问题的近似解 Wθ,TWθ, TWθ,T
Wt=Φ(wt−1,θ)=wt−1−η∇L(wt−1,θ),t=1,2,3,....,TW_t=\Phi(w_{t-1},\theta)=w_{t-1}-\eta \nabla L(w_{t-1},\theta),t=1,2,3,....,T Wt=Φ(wt−1,θ)=wt−1−η∇L(wt−1,θ),t=1,2,3,....,T
固定内层超参数,优化外层超参数:在获得内层近似解之后,针对外层也采用梯度下降优化超参数,计算外层目标函数对超参数θ的导数(公式3所示),然后更新超参数(公式4所示)
∇θF(wθ,θ)=αwF(wθ,T,θ)∇θwθ,T+αθF(wθ,T,θ)(3)θ=θ−ηouter∇θF(wθ,T,θ)(4)\nabla_{\theta}F(w_\theta,\theta)=\alpha_wF(w_\theta,T,\theta)\nabla_{\theta w_\theta,T}+\alpha_\theta F(w_\theta,T,\theta) (3) \\\theta=\theta-\eta_{outer}\nabla_\theta F(w_\theta,T,\theta) (4) ∇θF(wθ,θ)=αwF(wθ,T,θ)∇θwθ,T+αθF(wθ,T,θ)(3)θ=θ−ηouter∇θF(wθ,T,θ)(4)
上述两个过程一般会进行多次迭代,具体在不同的应用中可以设置不同的循环停止条件,例如根据early stopping,或者根据训练误差和验证误差的关系
4.参考资料
机器学习中的双层规划问题
双层优化模型【简述】相关推荐
- 含分布式能源电网储能容量优化 双层优化模型
含分布式能源电网储能容量优化 双层优化模型 改进粒子群+cplex 内层以购电成本最低 外层以综合运行成本(储能投运,新能源发电,网损等等) 有参考文献 ID:89150691909313406
- 基于双层优化的微电网系统规划设计方法matlab程序(yalmip+cplex)
基于双层优化的微电网系统规划设计方法matlab程序(yalmip+cplex) 参考文献:基于双层优化的微电网系统规划设计方法 摘要:规划设计是微电网系统核心技术体系之一.从分布式电源的综合优化(组 ...
- 13基于双层优化的电动汽车日前-实时两阶段市场竞标
MATLAB代码:基于双层优化的电动汽车日前-实时两阶段市场竞标 关键词:日前-实时市场竞标 电动汽车 双层优化 编程语言:MATLAB平台 内容简介:代码主要做的是电动汽车充电站市场竞标策略,采用 ...
- MATLAB代码:基于双层优化的电动汽车日前-实时两阶段市场竞标
MATLAB代码:基于双层优化的电动汽车日前-实时两阶段市场竞标 关键词:日前-实时市场竞标 电动汽车 双层优化 编程语言:MATLAB平台 参考文献:店主自编参考文献,可联系我查看 内容简介:代码主 ...
- 基于多时间尺度滚动优化的多能源微网双层调度模型
基于多时间尺度滚动优化的多能源微网双层调度模型 关键词:多能源微网 多时间尺度 滚动优化 微网双层模型 调度 参考文档:<Collaborative Autonomous Optimizatio ...
- matlab分布式电源储能系统配置优化研究 面向新能源储能容量配置 储能系统定容和电力系统优化调度双层决策优化模型
matlab分布式电源储能系统配置优化研究 面向新能源储能容量配置 储能系统定容和电力系统优化调度双层决策优化模型 粒子群+cplex matlab代码 注释明确 有参考文献和说明文档 ID:8212 ...
- 基于多时间尺度滚动优化的多能源微网双层调度模型 多能源微网 代码主要做的是一个多能源微网的优化调度问题,首先对于下层多能源微网模型多时间尺度 滚动优化 微网双层模型 调度
MATLAB代码:基于多时间尺度滚动优化的多能源微网双层调度模型 关键词:多能源微网 多时间尺度 滚动优化 微网双层模型 调度 参考文档:<Collaborative Autonomous Op ...
- 配电网光伏/储能双层优化配置模型(选址定容)
目录 1 主要内容 上层目标函数考虑光伏和储能的投资成本. 程序采用模块化编程,并有每个模块功能介绍,方便学习. 2 部分代码 3 程序结果 4 程序结果 1 主要内容 该程序主要方法复现<含高 ...
- MATLAB代码:基于多时间尺度滚动优化的多能源微网双层调度模型
MATLAB代码:基于多时间尺度滚动优化的多能源微网双层调度模型 关键词:多能源微网 多时间尺度 滚动优化 微网双层模型 调度 主要内容:代码主要是一个多能源微网的优化调度问题,首先对于下层多能源微网 ...
- 从双层优化视角理解对抗网络GAN
目录 详细目录 1. 入门对抗网络 1.1 公式解读(将数学语言翻译成简体中文) 1.2 图像生成 2. 为何原版GAN训练不稳定 2.1 梯度消失 vanishing gradient 2.2 模式 ...
最新文章
- 数据分析工具Pandas(2):Pandas的索引操作
- linux xxd查看二进制文件命令
- 工业互联网 — Overview
- 绝地求生6月28日服务器维护,绝地求生6月28日更新到几点 吃鸡6月28日更新内容一览...
- python读取音频文件_python 读取wav 音频文件的两种方式
- Quart 2D (DrawText)
- filemode对git diff的影响
- mysql的collate_MYSQL中的COLLATE是什么?
- local class incompatible: stream classdesc serialVersionUID = -3129896799942729832, local class seri
- 嵌入式 h.264中帧与场
- matlab现值与终值函数_Matlab金融工具箱中的主要功能函数
- 计算机的外围设备找不到,bluetooth外围设备找不到驱动解决方法
- 计算机组成原理试题(三)(附参考答案)
- 解决SQLyog连接MySQL数据库时报2058错误
- 2022-XTU程设练习1
- 时下火热的 NFT 究竟有什么用?
- python读取文本并且替换_python 读取文件并替换字段的实例
- 无线物联网技术,在智能门禁系统的应用
- 使用 HBuilderX 打包IOS 和 安卓
- 数据库显示连接服务器错误怎么解决方法,怎样解决数据库连接出错问题