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θ​∈minw​L(w,θ)
其中

  • F(wθ,θ)F(w_\theta,\theta)F(wθ​,θ):外部优化问题的目标函数
  • L(w,θ)L(w,\theta)L(w,θ):内部优化问题的目标函数
  • θ\thetaθ:外部变量/超参数
  • w:内部变量

解释

  1. 针对上述公式,我们的最终目的其实是求F(Wθ,θ)F(Wθ ,θ)F(Wθ,θ)的最小值,但是它其中的一个参数wθw_θwθ​是关于另一个问题,L(w,θ)L(w,θ)L(w,θ)解的函数
  2. 上面的目标函数 F 和 L可以通俗理解为训练网络的时候,使用的损失函数,比如说网络预测值与真实值差值的平方和
  3. 在机器学习中,有一类应用是通过双层规划问题来优化超参数,超参数优化问题的基本思想是在给定一个度量标准的情况下,使用验证集构建一个超参数的响应函数(eg:验证集上的平均损失)
  4. 在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θ​,θ)=αw​F(wθ​,T,θ)∇θwθ​,T​+αθ​F(wθ​,T,θ)(3)θ=θ−ηouter​∇θ​F(wθ​,T,θ)(4)

  • 上述两个过程一般会进行多次迭代,具体在不同的应用中可以设置不同的循环停止条件,例如根据early stopping,或者根据训练误差和验证误差的关系

4.参考资料

机器学习中的双层规划问题

双层优化模型【简述】相关推荐

  1. 含分布式能源电网储能容量优化 双层优化模型

    含分布式能源电网储能容量优化 双层优化模型 改进粒子群+cplex 内层以购电成本最低 外层以综合运行成本(储能投运,新能源发电,网损等等) 有参考文献 ID:89150691909313406

  2. 基于双层优化的微电网系统规划设计方法matlab程序(yalmip+cplex)

    基于双层优化的微电网系统规划设计方法matlab程序(yalmip+cplex) 参考文献:基于双层优化的微电网系统规划设计方法 摘要:规划设计是微电网系统核心技术体系之一.从分布式电源的综合优化(组 ...

  3. 13基于双层优化的电动汽车日前-实时两阶段市场竞标

    MATLAB代码:基于双层优化的电动汽车日前-实时两阶段市场竞标 关键词:日前-实时市场竞标 电动汽车  双层优化 编程语言:MATLAB平台 内容简介:代码主要做的是电动汽车充电站市场竞标策略,采用 ...

  4. MATLAB代码:基于双层优化的电动汽车日前-实时两阶段市场竞标

    MATLAB代码:基于双层优化的电动汽车日前-实时两阶段市场竞标 关键词:日前-实时市场竞标 电动汽车 双层优化 编程语言:MATLAB平台 参考文献:店主自编参考文献,可联系我查看 内容简介:代码主 ...

  5. 基于多时间尺度滚动优化的多能源微网双层调度模型

    基于多时间尺度滚动优化的多能源微网双层调度模型 关键词:多能源微网 多时间尺度 滚动优化 微网双层模型 调度 参考文档:<Collaborative Autonomous Optimizatio ...

  6. matlab分布式电源储能系统配置优化研究 面向新能源储能容量配置 储能系统定容和电力系统优化调度双层决策优化模型

    matlab分布式电源储能系统配置优化研究 面向新能源储能容量配置 储能系统定容和电力系统优化调度双层决策优化模型 粒子群+cplex matlab代码 注释明确 有参考文献和说明文档 ID:8212 ...

  7. 基于多时间尺度滚动优化的多能源微网双层调度模型 多能源微网 代码主要做的是一个多能源微网的优化调度问题,首先对于下层多能源微网模型多时间尺度 滚动优化 微网双层模型 调度

    MATLAB代码:基于多时间尺度滚动优化的多能源微网双层调度模型 关键词:多能源微网 多时间尺度 滚动优化 微网双层模型 调度 参考文档:<Collaborative Autonomous Op ...

  8. 配电网光伏/储能双层优化配置模型(选址定容)

    目录 1 主要内容 上层目标函数考虑光伏和储能的投资成本. 程序采用模块化编程,并有每个模块功能介绍,方便学习. 2 部分代码 3 程序结果 4 程序结果 1 主要内容 该程序主要方法复现<含高 ...

  9. MATLAB代码:基于多时间尺度滚动优化的多能源微网双层调度模型

    MATLAB代码:基于多时间尺度滚动优化的多能源微网双层调度模型 关键词:多能源微网 多时间尺度 滚动优化 微网双层模型 调度 主要内容:代码主要是一个多能源微网的优化调度问题,首先对于下层多能源微网 ...

  10. 从双层优化视角理解对抗网络GAN

    目录 详细目录 1. 入门对抗网络 1.1 公式解读(将数学语言翻译成简体中文) 1.2 图像生成 2. 为何原版GAN训练不稳定 2.1 梯度消失 vanishing gradient 2.2 模式 ...

最新文章

  1. 数据分析工具Pandas(2):Pandas的索引操作
  2. linux xxd查看二进制文件命令
  3. 工业互联网 — Overview
  4. 绝地求生6月28日服务器维护,绝地求生6月28日更新到几点 吃鸡6月28日更新内容一览...
  5. python读取音频文件_python 读取wav 音频文件的两种方式
  6. Quart 2D (DrawText)
  7. filemode对git diff的影响
  8. mysql的collate_MYSQL中的COLLATE是什么?
  9. local class incompatible: stream classdesc serialVersionUID = -3129896799942729832, local class seri
  10. 嵌入式 h.264中帧与场
  11. matlab现值与终值函数_Matlab金融工具箱中的主要功能函数
  12. 计算机的外围设备找不到,bluetooth外围设备找不到驱动解决方法
  13. 计算机组成原理试题(三)(附参考答案)
  14. 解决SQLyog连接MySQL数据库时报2058错误
  15. 2022-XTU程设练习1
  16. 时下火热的 NFT 究竟有什么用?
  17. python读取文本并且替换_python 读取文件并替换字段的实例
  18. 无线物联网技术,在智能门禁系统的应用
  19. 使用 HBuilderX 打包IOS 和 安卓
  20. 数据库显示连接服务器错误怎么解决方法,怎样解决数据库连接出错问题

热门文章

  1. C++之log4cpp库
  2. 手机麦克风结构原理图_驻极体电容式麦克风结构和工作原理
  3. 机器人运动学基础——旋转矩阵
  4. 1.6QQ拼音输入的亮点——相框
  5. “C语言之父”40年前搞的操作系统复活,Linux、Windows都借鉴过它
  6. 联想硬盘保护系统破解及电脑常见密码破解总结
  7. 黑手安全网-------那些年我们抓过的肉鸡课程笔记
  8. ASP.Net Ajax框架 Timer控件 计时器
  9. 搭建webservice服务报错求解
  10. C++ --对象和类