最优化:建模、算法与理论(典型优化问题

第四章 典型优化问题

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都有可能不一样,所以需要这样迭代更新,才能运用到所有的数据。

为了方便计算,我们不会等到所有数据生成后再计算平均值,而是利用凸组合的方式持续不断的将新的计算结果按一定权重加到原有数据上。这是强化学习中的一种常用均值计算技巧

相关推荐
有梦想的骇客3 小时前
书籍将正方形矩阵顺时针转动90°(8)0605
线性代数·算法·矩阵
有梦想的骇客3 小时前
书籍“之“字形打印矩阵(8)0609
java·算法·矩阵
Chenyu_3103 小时前
12.找到字符串中所有字母异位词
c语言·数据结构·算法·哈希算法
苏三福3 小时前
yolo11-seg ultralytics 部署版本
算法·yolo11
wuqingshun3141596 小时前
蓝桥杯 冶炼金属
算法·职场和发展·蓝桥杯
jndingxin8 小时前
OpenCV CUDA模块光流计算-----实现Farneback光流算法的类cv::cuda::FarnebackOpticalFlow
人工智能·opencv·算法
编程绿豆侠8 小时前
力扣HOT100之栈:394. 字符串解码
java·算法·leetcode
朝朝又沐沐8 小时前
基于算法竞赛的c++编程(18)string类细节问题
开发语言·c++·算法
爱coding的橙子9 小时前
每日算法刷题Day27 6.9:leetcode二分答案2道题,用时1h20min
算法·leetcode·职场和发展