第四章 典型优化问题
4.1 线性规划
4.1.1 基本形式和应用背景
再次说明一下,其实这本书很多的内容之前肯定大家都学过,但是我觉得这本书和我们之前学的东西的出发角度不一样,他更偏向数学,也多一个角度让我们去理解
线性规划问题的一般形式如下:
min x ∈ R n c T x s . t . A x = b G x ≤ e (4.1.1) \min_{x{\in}R^n}c^Tx \\ s.t. {\quad}Ax=b \\ Gx{\le}e\tag{4.1.1} x∈RnmincTxs.t.Ax=bGx≤e(4.1.1)
其中 c ∈ R n , A ∈ R m × n , b ∈ R m , G ∈ R p × n , e ∈ R p c{\in}R^n,A{\in}R^{m \times n},b{\in}R^m,G{\in}R^{p \times n},e{\in}R^p c∈Rn,A∈Rm×n,b∈Rm,G∈Rp×n,e∈Rp是给定的矩阵和向量, x ∈ R n x{\in}R^n x∈Rn是决策变量,在实际中,我们考虑问题(4.1.1)的两种特殊形式(其他形式都可以转化为这两种形式),标准型(等式约束和决策变量非负):
min x ∈ R n c T x , s . t . A x = b , x ≥ 0 , (4.1.2) \min_{x{\in}R^n}c^Tx, \\ s.t.{\quad}Ax=b, \\ x{\ge}0,\tag{4.1.2} x∈RnmincTx,s.t.Ax=b,x≥0,(4.1.2)
以及不等式型(没有等式约束):
min x ∈ R n c T x s . t . A x ≤ b (4.1.3) \min_{x{\in}R^n}c^Tx \\ s.t. {\quad}Ax{\le}b\tag{4.1.3} x∈RnmincTxs.t.Ax≤b(4.1.3)
线性规划最先在第二次世界大战时被提出(了解一下也蛮有意思的哈哈)
4.1.2 应用举例
1.运输问题
有 I I I个港口 P 1 , P 2 , ⋯ , P I P_1,P_2,\cdots,P_I P1,P2,⋯,PI提供某种商品,有 J J J个市场 M 1 , M 2 , ⋯ , M J M_1,M_2,\cdots,M_J M1,M2,⋯,MJ需要这种商品,假设港口 P i P_i Pi有 s i s_i si单位的这种商品,市场 M j M_j Mj需要 r j r_j rj单位的这种商品,且总供应和总需求相等,即 ∑ i = 1 I s i = ∑ j = 1 J r j \sum_{i=1}^Is_i=\sum_{j=1}^Jr_j ∑i=1Isi=∑j=1Jrj,令 b i j b_{ij} bij为从港口 P i P_i Pi运输单位数量商品到市场 M j M_j Mj的成本,运输问题是在满足市场需求下使得运输成本最低
令 x i j x_ij xij为从港口 P i P_i Pi运输到市场 M j M_j Mj的商品数量,总运输代价为
∑ i = 1 I ∑ j = 1 J x i j b i j (4.1.4) \sum_{i=1}^I\sum_{j=1}^Jx_{ij}b_{ij}\tag{4.1.4} i=1∑Ij=1∑Jxijbij(4.1.4)
港口 P i P_i Pi总输出量为 ∑ j = 1 J x i j \sum_{j=1}^Jx_{ij} ∑j=1Jxij,因为港口 P i P_i Pi存有的商品总量为 s i s_i si,所以
∑ j = 1 J x i j = s i , i = 1 , 2 , ⋯ , I (4.1.5) \sum_{j=1}^Jx_{ij}=s_i,i=1,2,\cdots,I\tag{4.1.5} j=1∑Jxij=si,i=1,2,⋯,I(4.1.5)
市场 M j M_j Mj总输入量为 ∑ i = 1 I x i j \sum_{i=1}^Ix_{ij} ∑i=1Ixij,因为市场 M j M_j Mj的需求量为 r j r_j rj,所以
∑ i = 1 I x i j = r j , j = 1 , 2 , ⋯ , J (4.1.6) \sum_{i=1}^Ix_{ij}=r_j,j=1,2,\cdots,J\tag{4.1.6} i=1∑Ixij=rj,j=1,2,⋯,J(4.1.6)
因为运输是非负的,所以
x i j ≥ 0 , i = 1 , 2 , ⋯ , I , j = 1 , 2 , ⋯ , J (4.1.7) x_{ij}{\ge}0,i=1,2,\cdots,I,j=1,2,\cdots,J{\tag{4.1.7}} xij≥0,i=1,2,⋯,I,j=1,2,⋯,J(4.1.7)
所以我们只需要极小化总运输代价和满足约束条件就好了,整理一下就是
min x ∑ i = 1 I ∑ j = 1 J x i j b i j s . t . ∑ j = 1 J x i j = s i , i = 1 , 2 , ⋯ , I ∑ i = 1 I x i j = r j , j = 1 , 2 , ⋯ , J x i j ≥ 0 , i = 1 , 2 , ⋯ , I , j = 1 , 2 , ⋯ , J \min_x\sum_{i=1}^I\sum_{j=1}^Jx_{ij}b_{ij} \\ s.t.{\quad}\sum_{j=1}^Jx_{ij}=s_i,i=1,2,\cdots,I \\ \sum_{i=1}^Ix_{ij}=r_j,j=1,2,\cdots,J \\ x_{ij}{\ge}0,i=1,2,\cdots,I,j=1,2,\cdots,J xmini=1∑Ij=1∑Jxijbijs.t.j=1∑Jxij=si,i=1,2,⋯,Ii=1∑Ixij=rj,j=1,2,⋯,Jxij≥0,i=1,2,⋯,I,j=1,2,⋯,J
这个问题还有更一般的版本,即最优运输问题,它是关心两个(离散、连续)测度的对应关系,也就是距离嘛,这个具体问题具体分析把,大差不差的
2.马尔可夫决策过程
在马尔可夫决策过程中,考虑终止时间 T = ∞ T=\infty T=∞的情形,因为折现因子 0 < γ < 1 0<\gamma<1 0<γ<1,所以如果单步奖励是有界的,则策略对应的奖励和是有界的,否则,如果奖励和无界,任何一个策略的奖励和都可以是无限的,就失去了研究价值。 B e l l m a n Bellman Bellman方程(3.13.2)可以转化为如下线性规划模型
max V ∈ R ∣ S ∣ ∑ i V ( i ) s . t . V ( i ) ≥ ∑ j P a ( i , j ) ( r ( i , a ) + γ V ( j ) ) , ∀ i ∈ S , ∀ a ∈ A \max_{V{\in}R^{|S|}} \sum_iV(i) \\ s.t.{\quad}V(i){\ge}\sum_{j}P_a(i,j)(r(i,a)+{\gamma}V(j)),\forall{i}{\in}S,{\forall}a{\in}A V∈R∣S∣maxi∑V(i)s.t.V(i)≥j∑Pa(i,j)(r(i,a)+γV(j)),∀i∈S,∀a∈A
其中 V ( i ) V(i) V(i)是向量 V V V的第 i i i个向量,表示从状态 i i i出发得到的累计奖励。这个意思我看的就是,从i出发,选择一个策略,让从 i i i出来到所有的 j j j的奖励和最大(为什么不是到奖励最大的 j j j最大我到现在也没有想明白)
3.基追踪问题
基追踪问题是压缩感知的一个基本问题,可以为写
min x ∈ R n ∣ ∣ x ∣ ∣ 1 , s . t . A x = b (4.1.8) \min_{x{\in}R^n}||x||_1, \\ s.t.{\quad}Ax=b\tag{4.1.8} x∈Rnmin∣∣x∣∣1,s.t.Ax=b(4.1.8)
对每个 ∣ x i ∣ |x_i| ∣xi∣引入一个新的变量 z i z_i zi,可以将问题(4.1.8)转化为
min z ∈ R n ∑ i = 1 n z i , s . t . A x = b , − z i ≤ x i ≤ z i , i = 1 , 2 , ⋯ , n \min_{z{\in}R^n}{\sum_{i=1}^n}z_i, \\ s.t. {\quad}Ax=b, \\ -z_i{\le}x_i{\le}z_i,i=1,2,\cdots,n z∈Rnmini=1∑nzi,s.t.Ax=b,−zi≤xi≤zi,i=1,2,⋯,n
这是一个线性规划问题,另外,我们也可以引入 x i x_i xi的正部和负部 x i + , x i − ≥ 0 x_i^+,x_i^-{\ge}0 xi+,xi−≥0,利用 x i = x i + − x i − , ∣ x i ∣ = x i + + x i − x_i=x_i^+-x_i^-,|x_i|=x_i^++x_i^- xi=xi+−xi−,∣xi∣=xi++xi−,(这里我搜了一下不知道实数的正部负部什么意思,我觉得是不是如果 x i x_i xi为正, x i + = x i , x i − = 0 x_i^+=x_i,x_i^-=0 xi+=xi,xi−=0,反之亦然)问题(4.1.8)的另外一种等价的线性规划形式可以写成
min x + , x − ∈ R n ∑ i = 1 n ( x i + + x i − ) , s . t . A x + − A x − = b , x + , x − ≥ 0 \min_{x^+,x^-{\in}R^n}\sum_{i=1}^n(x_i^++x_i^-), \\ s.t.{\quad}Ax^+-Ax^-=b, \\ x_+,x_-{\ge}0 x+,x−∈Rnmini=1∑n(xi++xi−),s.t.Ax+−Ax−=b,x+,x−≥0
4.数据拟合
在数据拟合中,除了常用的最小二乘模型外,还有最小 l 1 l_1 l1范数模型
min x ∈ R n ∣ ∣ A x − b ∣ ∣ 1 (4.1.9) \min_{x{\in}R^n}||Ax-b||_1\tag{4.1.9} x∈Rnmin∣∣Ax−b∣∣1(4.1.9)
和最小 l ∞ l_{\infty} l∞范数模型
min x ∈ R n ∣ ∣ A x − b ∣ ∣ ∞ (4.1.10) \min_{x{\in}R^n}||Ax-b||_{\infty}\tag{4.1.10} x∈Rnmin∣∣Ax−b∣∣∞(4.1.10)
这两个问题都可以转化为线性规划的形式,通过引入变量 y = A x − b y=Ax-b y=Ax−b,可以得到如下等价问题
min x , y ∈ R n ∣ ∣ y ∣ ∣ 1 , s . t . y = A x − b \min_{x,y{\in}R^n}||y||_1, \\ s.t. {\quad}y=Ax-b x,y∈Rnmin∣∣y∣∣1,s.t.y=Ax−b
利用基追踪的类似的技巧,可以转化为线性规划问题。
对于问题4.1.10,令 t = ∣ ∣ A x − b ∣ ∣ ∞ t=||Ax-b||_{\infty} t=∣∣Ax−b∣∣∞,则得到等价问题
min x ∈ R n , t ∈ R t , s . t . ∣ ∣ A x − b ∣ ∣ ≤ t \min_{x{\in}R^n,t{\in}R}t, \\ s.t.{\quad}||Ax-b||{\le}t x∈Rn,t∈Rmint,s.t.∣∣Ax−b∣∣≤t
4.2 最小二乘问题
4.2.1 基本形式和应用背景
最小二乘问题的一般形式如下
min x ∈ R n ∑ i = 1 m r i 2 ( x ) , (4.2.1) \min_{x{\in}R^n}\sum_{i=1}^mr_i^2(x),\tag{4.2.1} x∈Rnmini=1∑mri2(x),(4.2.1)
其中 r i : R n → R r_i:R^n{\rightarrow}R ri:Rn→R为实值函数,如果所有的 r i r_i ri都是线性函数,我们称问题(4.2.1)为线性最小二乘为,否则称其为非线性最小二乘问题,最小二乘问题是线性回归和非线性回归的基础
最小二乘问题也常用于线性(非线性)方程组问题中(见第三章最小二乘建模),当线性(非线性)观测带有噪声时,我们一般会基于该线性(非线性)系统建议最小二乘模型,特别的,如果噪声服从高斯分布,最小二乘问题的解对应原问题的极大似然解
4.2.2 应用举例
1.线性最小二乘问题
线性最小二乘问题是回归分析中的一个基本模型,它可以表示为
min x ∈ R n ∑ i = 1 m ( a i T x − b ) \min_{x{\in}R^n}{\sum_{i=1}^m}(a_i^Tx-b) x∈Rnmini=1∑m(aiTx−b)
记 A = [ a 1 , a 2 , ⋯ , a m ] T A=[a_1,a_2,\cdots,a_m]^T A=[a1,a2,⋯,am]T,那么线性最小二乘问题可以等价于如下形式:
min x ∈ R n f ( x ) = 1 2 ∣ ∣ A x − b ∣ ∣ 2 2 \min_{x{\in}R^n}f(x)=\frac{1}{2}||Ax-b||_2^2 x∈Rnminf(x)=21∣∣Ax−b∣∣22
这是一个无约束二次目标函数的优化问题,因为二次函数是凸的,所以 x ∈ R n x{\in}R^n x∈Rn为其全局最小解当且仅当 x x x满足方程
∇ f ( x ) = A T ( A x − b ) = 0 \nabla{f(x)}=A^T(Ax-b)=0 ∇f(x)=AT(Ax−b)=0
因为 f f f是二次的,我们有
f ( y ) = f ( x ) + ∇ f ( x ) T ( y − x ) + 1 2 ( y − x ) T ∇ 2 f ( x ) ( y − x ) = f ( y ) = f ( x ) + ∇ f ( x ) T ( y − x ) + 1 2 ( y − x ) T A T A ( y − x ) f(y)=f(x)+\nabla{f(x)^T}(y-x)+\frac{1}{2}(y-x)^T{\nabla}^2{f(x)}(y-x) \\ =f(y)=f(x)+\nabla{f(x)^T}(y-x)+\frac{1}{2}(y-x)^TA^TA(y-x) f(y)=f(x)+∇f(x)T(y−x)+21(y−x)T∇2f(x)(y−x)=f(y)=f(x)+∇f(x)T(y−x)+21(y−x)TATA(y−x)
因此,如果 ∇ f ( x ) = 0 \nabla{f(x)}=0 ∇f(x)=0根据 A T A A^TA ATA的正定性
f ( y ) ≥ f ( x ) , ∀ y ∈ R n f(y){\ge}f(x),\forall{y}{\in}R^n f(y)≥f(x),∀y∈Rn
即 x x x为 f ( x ) f(x) f(x)的全局最小解
反之,如果 ∇ f ( x ) ≠ 0 \nabla{f(x)}{\not=}0 ∇f(x)=0,此时我们说明沿着负梯度方向目标函数将减小。
具体的,取 y = x − t ∇ f ( x ) y=x-t{\nabla}f(x) y=x−t∇f(x),且 t = 1 λ m a x ( A T A ) t=\frac{1}{\lambda_{max}(A^TA)} t=λmax(ATA)1,其中 λ m a x A T A \lambda_{max}A^TA λmaxATA表示 A T A A^TA ATA的最大特征值
PS:这里有些奇怪的是 A T A A^TA ATA明明是一个实数,那他的最大特征就是他自己了?感觉有点多此一举
将 y y y代入那么
f ( x − t ∇ f ( x ) ) = f ( x ) − t ∣ ∣ ∇ f ( x ) ∣ ∣ 2 2 + 1 2 t 2 λ m a x ( A T A ) ∣ ∣ ∇ f ( x ) ∣ ∣ 2 2 = f ( x ) + ( − t + 1 2 t 2 λ m a x ( A T A ) ) ∣ ∣ ∇ f ( x ) ∣ ∣ 2 2 = f ( x ) − 1 2 λ m a x ( A T A ) ∣ ∣ ∇ f ( x ) ∣ ∣ 2 2 < f ( x ) f(x-t{\nabla}f(x))=f(x)-t||{\nabla}f(x)||_2^2+\frac{1}{2}t^2{\lambda}_{max}(A^TA)||\nabla{f(x)||^2_2} \\ =f(x)+(-t+\frac{1}{2}t^2{\lambda}_{max}(A^TA))||{\nabla}f(x)||_2^2 \\ =f(x)-\frac{1}{2{\lambda_{max}(A^TA)}}||{\nabla}f(x)||_2^2<f(x) f(x−t∇f(x))=f(x)−t∣∣∇f(x)∣∣22+21t2λmax(ATA)∣∣∇f(x)∣∣22=f(x)+(−t+21t2λmax(ATA))∣∣∇f(x)∣∣22=f(x)−2λmax(ATA)1∣∣∇f(x)∣∣22<f(x)
因此在全局最小解 x x x处必有 ∇ f ( x ) = 0 \nabla{f(x)}=0 ∇f(x)=0
2.数据插值
数据插值是数值分析的一个基本问题,给定数据集 { a i ∈ R p , b i ∈ R q } , i = 1 , 2 , ⋯ , m \{a_i{\in}R^p,b_i{\in}R^q\},i=1,2,\cdots,m {ai∈Rp,bi∈Rq},i=1,2,⋯,m插值是求一个映射 f f f,使得
b i = f ( a i ) , i = 1 , 2 , ⋯ , m b_i=f(a_i),i=1,2,\cdots,m bi=f(ai),i=1,2,⋯,m
(怎么感觉有点像拟合)
在实际中,出于计算上的可行性,我们一般会限制在一个特定函数空间上来求 f f f的一个近似解,如果利用线性函数逼近,则 f ( a ) = X a + y f(a)=Xa+y f(a)=Xa+y,其中 X ∈ R q × p , y ∈ R q X{\in}R^{q \times p},y{\in}R^q X∈Rq×p,y∈Rq,为了求解 X , y X,y X,y,可以建立如下最小二乘问题
min X ∈ R q × p ∑ i = 1 m ∣ ∣ X a i + y − b i ∣ ∣ 2 \min_{X{\in}R^{q \times p}}\sum_{i=1}^m||Xa_i+y-b_i||^2 X∈Rq×pmini=1∑m∣∣Xai+y−bi∣∣2
一般的,假设 { ϕ i ( a ) } i = 1 n ( n ≤ m ) \{{\phi}_i(a)\}_{i=1}^n(n{\le}m) {ϕi(a)}i=1n(n≤m)的为插值空间的一组基,数据插值问题可以写成
b j = f ( a j ) = ∑ i = 1 n x i ϕ i ( a j ) , j = 1 , 2 , ⋯ , m b_j=f(a_j)=\sum_{i=1}^nx_i{\phi}_i(a_j),j=1,2,\cdots,m bj=f(aj)=i=1∑nxiϕi(aj),j=1,2,⋯,m
其中 x i x_i xi为待定系数,这是关于 x x x的线性方程组,在实际中,我们考虑其替代的最小二乘模型
min x ∈ R ∑ j = 1 m ∣ ∣ ∑ i = 1 n x i ϕ i ( a j ) − b j ∣ ∣ 2 \min_{x{\in}R}{\sum_{j=1}^m}||{\sum_{i=1}^n}x_i{\phi_i(a_j)}-b_j||^2 x∈Rminj=1∑m∣∣i=1∑nxiϕi(aj)−bj∣∣2
对于基 ϕ i ( a ) \phi_i(a) ϕi(a)的选取,一般要求其反应数据的物理性质或者内在性质以及计算比较方便
除了这种基函数的和的方式,深度学习也通过一些简单函数的复合来逼近原未知函数,具体地,假设有一些简单的非线性向量函数 ϕ i ( θ ) : R q → R q \phi_i(\theta):R^q{\rightarrow}R^q ϕi(θ):Rq→Rq,并构造如下复合函数
f ( θ ) = ϕ n ( X n ϕ n − 1 ( X n − 1 ⋯ ϕ 1 ( X 1 θ + y 1 ) ⋯ + y n − 1 ) + y n ) f(\theta)=\phi_n(X_n\phi_{n-1}(X_{n-1}\cdots\phi_1(X_1\theta+y_1)\cdots+y_{n-1})+y_n) f(θ)=ϕn(Xnϕn−1(Xn−1⋯ϕ1(X1θ+y1)⋯+yn−1)+yn)
在实际中常用的简单非线性函数有 R e L U ReLU ReLU,即
ϕ i ( θ ) = ( R e L U ( θ 1 ) , R e L U ( θ 2 ) , ⋯ , R e L U ( θ q ) ) T , i = 1 , 2 , ⋯ , n \phi_i({\theta})=(ReLU(\theta_1),ReLU(\theta_2),\cdots,ReLU(\theta_q))^T,i=1,2,\cdots,n ϕi(θ)=(ReLU(θ1),ReLU(θ2),⋯,ReLU(θq))T,i=1,2,⋯,n
这样的做法往往会带来更多未知的非线性,因而可能在更大的函数空间中得到未知函数的一个很好的逼近,将点 a i a_i ai处的取值代入,我们得到如下非线性方程组
f ( a i ) − b i = ϕ n ( X n ϕ n − 1 ( X n − 1 ⋯ ϕ 1 ( X 1 a i + y 1 ) ⋯ + y n − 1 ) + y n ) − b i = 0 f(a_i)-b_i=\phi_n(X_n\phi_{n-1}(X_{n-1}\cdots\phi_1(X_1a_i+y_1)\cdots+y_{n-1})+y_n)-b_i=0 f(ai)−bi=ϕn(Xnϕn−1(Xn−1⋯ϕ1(X1ai+y1)⋯+yn−1)+yn)−bi=0
这里需要求得的是关于 X 1 ∈ R q × p , X i ∈ R q × q , i = 2 , 3 , ⋯ , n , y i ∈ R q , i = 1 , 2 , ⋯ , n X_1{\in}R^{q \times p},X_i{\in}R^{q \times q},i=2,3,\cdots,n,y_i{\in}R^q,i=1,2,\cdots,n X1∈Rq×p,Xi∈Rq×q,i=2,3,⋯,n,yi∈Rq,i=1,2,⋯,n的非线性方程组,我们一般考虑替代的最小二乘问题
min { X i , y i } ∑ i = 1 m ∣ ∣ f ( a i ) − b i ∣ ∣ 2 \min_{\{X_i,y_i\}}\sum_{i=1}^m||f(a_i)-b_i||^2 {Xi,yi}mini=1∑m∣∣f(ai)−bi∣∣2
3.深度Q学习
在强化学习中,为了求解出最优策略及相应的期望奖励,往往需要考虑动作价值函数(action-value function) Q : S × A → R Q:{S \times A{\rightarrow}R} Q:S×A→R,注意,我们一般称 V V V为价值函数即value function,其表示从状态 s s s出发,采取动作 a a a可以获得的最大期望奖励,根据最优性,其 B e l l m a n Bellman Bellman方程为
Q ( s , a ) = r ( s , a ) + γ ∑ s ′ P a ( s , s ′ ) max a ′ Q ( s ′ , a ′ ) (4.2.2) Q(s,a)=r(s,a)+{\gamma}{\sum_{s'}}P_a(s,s')\max_{a'}Q(s',a')\tag{4.2.2} Q(s,a)=r(s,a)+γs′∑Pa(s,s′)a′maxQ(s′,a′)(4.2.2)
这个应该很好懂把,就是在状态 s s s下做 a a a得到的最大期望奖励等于直接得到的reward再加上做了 a a a,到达环境 s ′ s' s′后,在 s ′ s' s′处做最优的 a ′ a' a′得到的奖励
对于求解方程(4.2.2),一个常用的迭代算法的格式为
Q k + 1 ( s , a ) = r ( s , a ) + γ ∑ s ′ P a ( s , s ′ ) max a ′ Q k ( s ′ , a ′ ) (4.2.3) Q_{k+1}(s,a)=r(s,a)+{\gamma}{\sum_{s'}}P_a(s,s')\max_{a'}Q_k(s',a')\tag{4.2.3} Qk+1(s,a)=r(s,a)+γs′∑Pa(s,s′)a′maxQk(s′,a′)(4.2.3)
同样的,每一轮更新都需要对所有状态动作对 ( s , a ) (s,a) (s,a)做一次迭代
然而在实际问题中,我们通常没有模型信息,也就是说,上次涉及的奖励和状态转移都是未知的,为此,我们必须与环境不断进行交互,获取经验来估计这些项的大小,在与环境的交互中,我们可以得到很多形如 ( s t , a t , r t , s t + 1 ) (s_t,a_t,r_t,s_{t+1}) (st,at,rt,st+1)的四元组,它记录了智能体在时刻 t t t处于状态 s t s_t st时,选择某个动作 a t a_t at转移至状态 s t + 1 s_{t+1} st+1,同时获得奖励 r t r_t rt,算法可以根据这一的小段进行迭代更新
Q k + 1 ( s t , a t ) = ( 1 − α ) Q k ( s t , a t ) + α ( r t + γ max a ′ Q k ( s t + 1 , a ′ ) ) Q_{k+1}(s_t,a_t)=(1-\alpha)Q_k(s_t,a_t)+\alpha(r_t+\gamma\max_{a'}Q_k(s_{t+1},a')) Qk+1(st,at)=(1−α)Qk(st,at)+α(rt+γa′maxQk(st+1,a′))
每次迭代更新呢,加法左边是表示上一次的Q表信息,我们迭代更新是一点点迭代的,不能丢掉上次的Q表信息,右边是对(4.2.3)式右端期望值的一个采样,就是通过我们的采样信息,得到 ( r t + γ max a ′ Q k ( s t + 1 , a ′ ) ) (r_t+\gamma\max_{a'}Q_k(s_{t+1},a')) (rt+γmaxa′Qk(st+1,a′)),然后通过这个跟上一次的Q表一起来更新我们的Q表。为什么要有上次的信息呢?直接用第二项更新不行吗?不行的,因为你智能体每次可能做相同的动作,但到达的 s ′ s' s′和 r t r_t rt都有可能不一样,所以需要这样迭代更新,才能运用到所有的数据。
为了方便计算,我们不会等到所有数据生成后再计算平均值,而是利用凸组合的方式持续不断的将新的计算结果按一定权重加到原有数据上。这是强化学习中的一种常用均值计算技巧。
在实际应用场景中,状态空间非常大,甚至是连续的,当计算所有状态和动作对应的动作价值函数时,会非常难,无论从存储量还是计算量来说。为了解决这个问题,我们引入“归纳”的概念,简单来说,我们只需要学习状态集合中的一部分状态动作的价值函数,然后通过这些动作价值函数去归纳附近其他类似状态的动作价值函数。
这样,只需要学习一部分状态上的动作价值函数,就可以得到整个空间中动作价值函数的估计。
实现归纳这一想法的基本途径是函数近似,我们用 Q θ ( s , a ) Q_{\theta}(s,a) Qθ(s,a)来近似动作价值函数,它带有参数 θ ∈ R d \theta{\in}R^d θ∈Rd。当参数 θ \theta θ固定时,它就是一个关于状态 s s s和动作 a a a的二元函数。 Q θ ( s , a ) Q_{\theta}(s,a) Qθ(s,a)有很多不同的形式,它可以是最简单的线性函数,也可以是复杂的神经网络(深度Q学习)。其权重矩阵和偏差项作为这里的参数 θ \theta θ。在带函数近似的Q学习方法中,我们不再对动作价值函数列表进行学习,而是学习参数 θ \theta θ,使得近似函数 Q θ ( s , a ) Q_{\theta}(s,a) Qθ(s,a)尽可能满足最优 B e l l m a n Bellman Bellman方程,参数 θ \theta θ的维数通常要比状态的个数小得多,改变参数中的一个维度,会对动作价值函数估计产生大范围的影响,会做动作价值函数估计产生大范围的影响,由于引入了近似处理, Q θ ( s , a ) Q_{\theta}(s,a) Qθ(s,a)通常不会和真实动作价值函数完全相等,严格来讲,我们希望最小化平方损失,即
min θ L ( θ ) = E ( s , a ) ∼ p ( s , a ) [ ( y θ ( s , a ) − Q θ ( s , a ) ) 2 ] (4.2.4) \min_{\theta}L(\theta)=E_{(s,a){\sim}p(s,a)}[(y_{\theta}(s,a)-Q_{\theta}(s,a))^2]\tag{4.2.4} θminL(θ)=E(s,a)∼p(s,a)[(yθ(s,a)−Qθ(s,a))2](4.2.4)
其中 p ( s , a ) p(s,a) p(s,a)是状态动作对 ( s , a ) (s,a) (s,a)出现的概率分布
y θ ( s , a ) = r ( s , a ) + γ ∑ s ′ P a ( s , s ′ ) max a ′ Q θ ( s ′ , a ′ ) y_{\theta}(s,a)=r(s,a)+{\gamma}{\sum_{s'}}P_a(s,s')\max_{a'}Q_{\theta}(s',a') yθ(s,a)=r(s,a)+γs′∑Pa(s,s′)a′maxQθ(s′,a′)
是近似函数希望逼近的目标,问题4.2.4实际上就是在极小化方程4.2.2的残差。但在实际应用中,由于4.2.4比较复杂,深度Q学习采用迭代方式求解,在迭代的第 i i i步近似求解如下优化问题
min θ L i ( θ ) = E ( s , a ) ∼ p ( s , a ) [ ( y i ( s , a ) − Q θ ( s , a ) ) 2 ] (4.2.5) \min_{\theta}L_i(\theta)=E_{(s,a){\sim}p(s,a)}[(y_{i}(s,a)-Q_{\theta}(s,a))^2]\tag{4.2.5} θminLi(θ)=E(s,a)∼p(s,a)[(yi(s,a)−Qθ(s,a))2](4.2.5)
其中
y i = r ( s , a ) + γ ∑ s ′ P a ( s , s ′ ) max a ′ Q θ i − 1 ( s ′ , a ′ ) y_{i}=r(s,a)+{\gamma}{\sum_{s'}}P_a(s,s')\max_{a'}Q_{\theta_{i-1}}(s',a') yi=r(s,a)+γs′∑Pa(s,s′)a′maxQθi−1(s′,a′)
参数 θ i − 1 \theta_{i-1} θi−1来自上一步迭代的估计,和问题(4.2.4)不同, y i y_i yi与待优化的变量 θ \theta θ无关,因此可以认为问题(4.2.5)是随机版本的最小二乘问题。
4.带有微分方程约束优化问题
当约束中含有微分方程时,我们称相应的优化问题为带微分方程约束的优化问题,它在最优控制、形状优化等各种领域中有着广泛应用。这里,我们以瓦斯油催化裂解为例。这个问题求解瓦斯油催化裂解生成气体和其他副产物的反应系数,反应可以由如下非线性常微分方程组表示:
{ y 1 ˙ = − ( θ 1 + θ 3 ) y 1 2 y ˙ 2 = θ 1 y 1 2 − θ 2 y 2 , (4.2.6) \left\{ \begin{matrix} \dot{y_1}=-(\theta_1+\theta_3)y_1^2 \\ \dot{y}_2=\theta_1y_1^2-\theta_2y_2,\tag{4.2.6} \end{matrix} \right. {y1˙=−(θ1+θ3)y12y˙2=θ1y12−θ2y2,(4.2.6)
其中系数 θ i ≥ 0 , i = 1 , 2 , 3 \theta_i{\ge}0,i=1,2,3 θi≥0,i=1,2,3,且 y 1 , y 2 y_1,y_2 y1,y2的初始条件的已知的,我们考虑的问题是
min θ ∈ R 3 ∑ j = 1 n ∣ ∣ y ( τ j , θ ) − z j ∣ ∣ 2 s . t . y ( τ ; θ ) 满足方程组( 4.2.6 ) \min_{\theta{\in}R^3}\sum_{j=1}^n||y(\tau_j,\theta)-z_j||^2 \\ s.t.{\quad}y(\tau;\theta)满足方程组(4.2.6) θ∈R3minj=1∑n∣∣y(τj,θ)−zj∣∣2s.t.y(τ;θ)满足方程组(4.2.6)
这里 z j z_j zj是时刻 τ j \tau_j τj的 y y y的测量值, n n n为测量的时刻数量
(什么玩意,没看懂
4.3 复合优化问题
4.3.1 基本形式和应用背景
复合优化问题一般可以表示为如下形式:
min x ∈ R n ψ ( x ) = f ( x ) + h ( x ) \min_{x{\in}R^n}\psi(x)=f(x)+h(x) x∈Rnminψ(x)=f(x)+h(x)
其中 f ( x ) f(x) f(x)是光滑函数(比如数据拟合项), h ( x ) h(x) h(x)可能是非光滑的(比如 l 1 l_1 l1正则项,约束集合的示性函数,或他们的线性组合),复合优化问题在实际走有着十分重要的应用,并且其中的函数 h ( x ) h(x) h(x)一般是凸的,由于应用问题的驱动,复合优化问题的算法近年来得到了大量的研究,比如次梯度法,近似点梯度法, N e s t e r o v Nesterov Nesterov加速算法和交替方向乘子法等等,后续会详细介绍。
在下表中,我们总结了实际中常用的复合优化问题的可能形式
1.图像去噪
图像去噪问题是指从一个带噪声的图像中恢复出不带噪声的原图,记带噪声的图像为 y y y,噪声为 ϵ \epsilon ϵ,那么
y = x + ϵ y=x+\epsilon y=x+ϵ
其中 x x x为要恢复的真实图像,利用全变差模型(3.11.5),去噪问题可以表示为
min x ∈ R n × n ∣ ∣ x − y ∣ ∣ F 2 + λ ∣ ∣ x ∣ ∣ T V \min_{x{\in}R^{n \times n}}||x-y||_F^2+\lambda||x||_{TV} x∈Rn×nmin∣∣x−y∣∣F2+λ∣∣x∣∣TV
这里,离散的线性算子为单位矩阵,我们也可以利用小波框架,小波变换可以很好的保护信号尖峰和突变信号,并且噪声对应的小波系数往往很小,因此,去噪问题的小波分解模型可以写为
min x ∣ ∣ λ ⊙ W ( x ) ∣ ∣ 1 + 1 2 ∣ ∣ x − y ∣ ∣ F 2 \min_{x}||\lambda{\odot}W(x)||_1+\frac{1}{2}||x-y||_F^2 xmin∣∣λ⊙W(x)∣∣1+21∣∣x−y∣∣F2
其中 λ = ( λ 1 , λ 2 , ⋯ , λ m ) T \lambda=(\lambda_1,\lambda_2,\cdots,\lambda_m)^T λ=(λ1,λ2,⋯,λm)T是给定的
2.盲反卷积
盲反卷积(也叫去模糊)是图像处理中的一个基本问题,其目的是从一个模糊的图像恢复出原来清晰的图像, 导致图像模糊的原因有很多种,比如相机抖动、聚焦不良、相机和拍摄物体所在的非静止环境以及成像设备的内在 缺陷等等,因此一般来说盲反卷积是不容易做到的。
为了让这个复杂的困难变得简单一些,我们做如下假设:模糊是线性的(不做图像变化)以及空间不变的(即与像素位置无关),线性且空间不变的模糊可以表示成一个卷积,令 x x x为原始的清晰图像, a a a为未知的卷积核对应的矩阵, y y y为观测到的模糊图像以及 ϵ \epsilon ϵ为观测噪声,盲反卷积问题可以表示成
y = a ∗ x + ϵ y=a*x+\epsilon y=a∗x+ϵ
其中*为卷积算子,假设噪声为高斯噪声,则转化为求解优化问题(前面提到过)
min a , x ∣ ∣ y − a ∗ x ∣ ∣ 2 2 \min_{a,x}||y-a*x||_2^2 a,xmin∣∣y−a∗x∣∣22
再假设原始图像信号在小波变换下是稀疏的,我们进一步得到如下复合优化问题
min a , x ∣ ∣ y − a ∗ x ∣ ∣ 2 2 + ∣ ∣ λ ⊙ W x ∣ ∣ 1 \min_{a,x}||y-a*x||_2^2+||\lambda{\odot}Wx||_1 a,xmin∣∣y−a∗x∣∣22+∣∣λ⊙Wx∣∣1
其中 W W W是小波框架, λ = ( λ 1 , λ 2 , ⋯ , λ m ) T \lambda=(\lambda_1,\lambda_2,\cdots,\lambda_m)^T λ=(λ1,λ2,⋯,λm)T用来控制稀疏度
2023-09-15还不懂小波变换T T
4.4 随机优化问题
4.4.1 基本形式和应用背景
随机优化问题可以表示成以下形式
min x ∈ χ E ξ [ F ( x , ξ ) ] + h ( x ) \min_{x{\in}\chi}E_{\xi}[F(x,\xi)]+h(x) x∈χminEξ[F(x,ξ)]+h(x)
其中 χ ⊆ R n \chi{\sube}R^n χ⊆Rn表示决策变量 x x x的可行域, ξ \xi ξ是一个随机变量(分布一般是未知的)。对于每个固定的 ξ \xi ξ, F ( x , ξ ) F(x,\xi) F(x,ξ)表示样本 ξ \xi ξ上的损失或者奖励。正则项 h ( x ) h(x) h(x)来保证解的某种性质,由于变量 ξ \xi ξ分布的未知性,其数学期望 E ξ [ F ( x , ξ ) ] E_{\xi}[F(x,\xi)] Eξ[F(x,ξ)]一般是不可计算的,为了得到目标函数值的一个比较好的估计,其实际问题中往往利用 ξ \xi ξ的经验分布来代替其真实分布,具体地,假设有 N N N个样本 ξ 1 , ξ 2 , ⋯ , ξ N \xi_1,\xi_2,\cdots,\xi_N ξ1,ξ2,⋯,ξN,令 f i ( x ) = F ( x , ξ i ) f_i(x)=F(x,\xi_i) fi(x)=F(x,ξi),我们得到优化问题
min x ∈ χ f ( x ) = 1 N ∑ i = 1 N f i ( x ) + h ( x ) (4.4.1) \min_{x\in{\chi}}f(x)=\frac{1}{N}\sum_{i=1}^Nf_i(x)+h(x)\tag{4.4.1} x∈χminf(x)=N1i=1∑Nfi(x)+h(x)(4.4.1)
称其为经验风险极小化问题或者采样平均极小化问题,这个问题通常是难以求解的,一方面是因为样本数 N N N比较多(因此函数值、梯度计算代价比较高),另一方面是因为优化问题的可行域空间维数 n n n比较大
这个问题在统计学、机器学习、计算机科学中有着重要的应用,对于该问题的求解,我们需要在传统的方法上引入随机性以减少算法中目标函数值和梯度等的计算代价。
4.4.2 应用举例
第一、三章中有很多例子都可以写成随机优化的形式,我们这里还将介绍随机优化在随机主成分分析最和分布式鲁棒优化问题中的应用
1.随机主成分分析
在主成分分析中,如果样本点 ξ \xi ξ服从某个零均值分布 D D D,那么找方差最大的 d d d维子空间的优化问题可以写成
max X ∈ R p × d T r ( X T E ξ ∼ D [ ξ ξ T ] X ) s . t . X T X = I (4.4.2) \max_{X{\in}R^{p \times d}}Tr(X^TE_{\xi\sim{D}}[\xi\xi^T]X){\quad}s.t.X^TX=I\tag{4.4.2} X∈Rp×dmaxTr(XTEξ∼D[ξξT]X)s.t.XTX=I(4.4.2)
其中 E ξ ∼ D [ ξ ξ T ] E_{\xi{\sim}D}[\xi\xi^T] Eξ∼D[ξξT]为 ξ \xi ξ的协方差矩阵,在实际中,分布 D D D是未知的,已知的只是关于分布 D D D的采样。(其实就是换了种说法我感觉)大差不差的。
随机主成分分析关心的问题是在求得问题(4.4.2)的高逼近解过程中需要的样本数量以及消耗的时间。受制于计算机内存的限制,我们还需要考虑在有限内存情况下的逼近解的计算与分析。
2.分布式鲁棒优化
为了提高预测期的泛化能力,一种常用的方法是考虑分布式鲁棒优化问题
min h max z ∈ I E z [ F ( h , z ) ] \min_h{\quad}\max_{z{\in}I}E_z[F(h,z)] hminz∈ImaxEz[F(h,z)]
在这里集合 I I I中的随机变量的分布与真实数据的分布在一定意义下非常接近。
Wasserstein 距离
wasserstein 距离常常可以被用来计算两个分布之间的差异,相比于 KL,JS散度,它可以计算两个完全不重合的分布之间的差异,并且提供有效的梯度信息。具体的定理推到我们不在这里写了。两个分布间的 wasserstein 距离越大,说明分布的差异越大。
以现有的样本集合构成的分布作为中心,考虑一个 wasserstein 空间球体内的所有分布,这个空间球体的半径为 ϵ \epsilon ϵ ,真实分布理论上应该不会偏离训练样本集合的分布很远,那么只要 ϵ \epsilon ϵ合理,就可以认为真实分布应该包含在 wasserstein 球中,那么我们只要能保证模型在整个球体内效果最差的分布下得到最好的结果,就可以保证这个结果是真实样本分布下的性能的下界。