机器学习与控制:ADMM的ODE模型与基于Lyapunov的收敛分析

本文深入探讨了机器学习与控制领域中的ADMM算法,介绍了如何建立其ODE模型以及利用Lyapunov函数进行收敛性分析。通过分析,展示了ADMM算法的收敛速度为O(1/t),并与加速ADMM的收敛性进行了对比。
摘要由CSDN通过智能技术生成

机器学习与控制:ADMM的ODE模型与基于Lyapunov的收敛分析

前言

机器学习与控制领域的结合研究最近得到很多研究者的关注,但是文献中的数学推导与讨论往往省略了很多细节与背景知识,本系列的文章主要基于最新文献,尝试复现并详化其中的数学推导与讨论,希望刚刚入门的同学也可以很容易地理解。也欢迎各位同学的批评指正,共同学习!

本文是机器学习与控制系列的第一篇文章,主要深入介绍交替方向乘子法 Alternating Direction Method of Multipliers(ADMM)算法的常微分方程 Ordinary Differential Equation(ODE)模型以及基于Lyapunov函数的收敛分析。优化算法的收敛速度分析往往比较复杂,而且没有统一的数学工具来分析。将优化算法转换为ODE方程,然后结合控制理论中简单的稳定性分析,我们可以很容易地得到算法的收敛速度。本文中我们将使用Lyapunov函数的方法来分析得到的ODE方程的稳定性,进而得出收敛速度。

本文主要分为一下几个部分,第一部分为ADMM背景介绍,简单介绍ADMM优化算法以及ODE建模优化算法的背景;第二部分主要介绍Lyapunov函数的背景知识;第三部分详细推导如何用ODE建模ADMM算法;最后通过Lypunov函数分析ADMM算法的收敛速度。有基础的同学可以跳着阅读。

注:本篇博文基于以下文献:ADMM and accelerated ADMM as continuous dynamical systems.[^1]

ADMM算法

假设我们考虑如下的优化问题:
min ( x , z ) ∈ R n × R m   { V ( x , z ) : = f ( x ) + g ( z ) }  s.t.    z = A x \text{min}_{(x,z)\in R^{n} \times R^{m}}\ \{ V(x,z):=f(x)+g(z) \} \\\ \text{s.t.}\ \ \ z = Ax min(x,z)Rn×Rm { V(x,z):=f(x)+g(z)} s.t.   z=Ax

其中:

  • f f f g g g 均可导且为凸函数
  • 矩阵 A A A 列满秩
  • V ( x , z ) : = f ( x ) + g ( z ) V(x,z):=f(x)+g(z) V(x,z):=f(x)+g(z)
  • V ( x , z ) : = f ( x ) + g ( A x ) V(x,z):=f(x)+g(Ax) V(x,z):=f(x)+g(Ax)

ADMM的迭代更新如下:
x k + 1 = arg min x   f ( x ) + ρ 2 ∥ A x − z k + u k ∥ 2 ,     ( 1 a ) z k + 1 = arg min z   g ( x ) + ρ 2 ∥ A x k + 1 − z + u k ∥ 2 ,     ( 1 b ) u k + 1 = u k + A x k + 1 − z k + 1 ,     ( 1 c ) x_{k+1} = \text{arg min}_{x} \ f(x) + \frac{\rho}{2} \| Ax-z_k+u_k \|^2, \ \ \ (1a)\\ z_{k+1} = \text{arg min}_{z}\ g(x) + \frac{\rho}{2} \| Ax_{k+1}-z+u_k \|^2,\ \ \ (1b)\\ u_{k+1} = u_k + Ax_{k+1} - z_{k+1},\ \ \ (1c) xk+1=arg minx f(x)+2ρAxzk+uk2,   (1a)zk+1=arg minz g(x)+2ρAxk+1z+uk2,   (1b)uk+1=uk+Axk+1zk+1,   (1c)

其中 ρ > 0 \rho> 0 ρ>0为惩罚参数, u k ∈ R m u_k\in R^m ukRm 是约束条件 z = A x z = Ax z=Ax 的第 k k k 个拉格朗日乘数估计。

Lyapunov函数

Lyapunov函数为控制理论中很重要的用来分析系统平衡点稳定性的工具。简单来说,我们针对某个系统构建Lyapunov函数 E ( . ) \mathcal{E}(.) E(.)(一个正定函数),然后对这个函数求导,如果 E ˙ ( . ) ≤ 0 \dot\mathcal{E}(.)\leq 0 E˙(.)0,那么我们可以说系统为Lyapunov稳定。这里如果我们将 Lyapunov函数看作是系统的能量函数,对能量函数求导并且其导数一直为负,则说明系统的能量是递减的,也就说明系统是稳定的。

我们考虑以下的一阶ODE系统模型:
Y ˙ = F ( Y , t ) ,    Y ( t 0 ) = Y 0 \dot Y = F(Y,t), \ \ Y(t_0) = Y_0 Y˙=F(Y,t),  Y(t0)=Y0

首先定义系统的平衡点为 Y ∗ Y^* Y Y ∗ Y^* Y 满足 F ( Y ∗ , t ) = 0 F(Y^*,t)=0 F(Y,t)=0。我们分析系统的稳定性,即是针对系统的平衡点来分析,所以 Lyapunov函数也往往定义在包含 Y ∗ Y^* Y 的一个开放集。下面的定理总结了如何应用 Lyapunov 函数来分析 Y ∗ Y^* Y 的稳定性。

定理: 假设 Y ∗ Y^* Y 为系统的平衡点,定义包含 Y ∗ Y^* Y 的一个开放集 O \mathcal{O} O, 以及函数 E : O → R \mathcal{E}: \mathcal{O} \rightarrow R E:OR,则我们有以下结论:
如果 E ( . ) \mathcal{E}(.) E(.) 满足

  • E ( Y ∗ ) = 0 \mathcal{E}(Y^*)=0 E(Y)=0      \quad \quad \quad \quad \quad \quad \quad \ \ \ \ \quad \qquad      ( L . 1 ) (L.1) (L.1)
  • E ( Y ) > 0      ∀   Y ∈ O ∖ Y ∗ \mathcal{E}(Y)>0 \ \ \ \ \forall \ Y \in \mathcal{O}\setminus Y^* E(Y)>0     YOY     \quad \quad \ \ \ \qquad     ( L . 2 ) (L.2) (L.2)
  • E ˙ ( Y ) ≤ 0      ∀   Y ∈ O ∖ Y ∗ \dot\mathcal{E}(Y)\leq 0 \ \ \ \ \forall \ Y \in \mathcal{O}\setminus Y^* E˙(Y)0     YOY     \quad \quad \ \ \ \qquad
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值