最优化:建模、算法与理论(优化建模——2)

3.10 K-均值聚类

聚类分析是 统计学中的一个基本问题,其在机器学习,数据挖掘,模式识别和图像分析中有着重要应用。聚类不同于分类,在聚类问题中我们仅仅知道数据点本身,而不知道每个数据点具体的标签。聚类分析的任务就是将一些无标签的数据点按照某种相似度来进行归类,进而从数据点本身来学习其内蕴的类别特征。

给定 p p p维空间中的 n n n个数据点 a 1 , a 2 , ⋯ , a n a_1,a_2,\cdots,a_n a1,a2,,an,假定两个数据点之间的相似性可以通过其欧几里得距离来测量,我们的目标是将相似的点归为一类,同时将不相似的点区分开,为了简单起来我们假设类的个数为已知的,不妨记为 k k k,且同一个数据点只属于一个类,因此聚类问题就是要找 k k k个不相交的非空集合 S 1 , S 2 , ⋯ , S k S_1,S_2,\cdots,S_k S1,S2,,Sk,使得
{ a 1 , a 2 , ⋯ , a n } = S 1 ∪ S 2 ∪ ⋯ ∪ S k \{a_1,a_2,\cdots,a_n\}=S_1\cup{S_2}\cup{\cdots}\cup{S_k} {a1,a2,,an}=S1S2Sk
且同类点之间的距离要足够近,为了在数学上描述"同类点之间的距离足够近",我们定义组内距离平方和为
W ( S 1 , S 2 , ⋯ , S k ) = ∑ i = 1 k ∑ a ∈ S i ∣ ∣ a − c i ∣ ∣ 2 (3.10.1) W(S_1,S_2,\cdots,S_k)=\sum_{i=1}^k\sum_{a{\in}S_i}||a-c_i||^2 \tag{3.10.1} W(S1,S2,,Sk)=i=1kaSi∣∣aci2(3.10.1)
这里 c i c_i ci为第 i i i类数据点的中心,注意在问题中就假设了每类为非空的
定义好聚类标准后,就可以建议优化模型了。我们想要找到一个聚类方法,使得组内距离平方和最小,即
min ⁡ S 1 , S 2 , ⋯ , S k ∑ i = 1 k ∑ a ∈ S i ∣ ∣ a − c i ∣ ∣ 2 s . t . { a 1 , a 2 , ⋯ , a n } = S 1 ∪ S 2 ∪ ⋯ ∪ S k S j ∩ S j ≠ ∅ , ∀ i ≠ j (3.10.2) \min_{S_1,S_2,\cdots,S_k}\sum_{i=1}^k\sum_{a{\in}S_i}||a-c_i||^2 \\ s.t. {\quad} \{a_1,a_2,\cdots,a_n\}=S_1\cup{S_2}\cup{\cdots}\cup{S_k} \\ S_j \cap S_j {\not=}\varnothing,\forall{i {\not=}j} \tag{3.10.2} S1,S2,,Skmini=1kaSi∣∣aci2s.t.{a1,a2,,an}=S1S2SkSjSj=,i=j(3.10.2)
问题(3.10.2)的自变量是数据点集合的分割方式,看起来比较难以处理,因此有必要将问题写成我们熟悉的形式,接下来给出问题的两种矩阵表达方式,它们之间是等价的。

1. K-均值聚类等价表述一

在原始聚类问题中,组内距离平方和定义为(3.10.1),即需要计算 S i S_i Si中的点到它们中心点 c i c_i ci的平方和,实际上,选取中心点 c i c_i ci作为参考点并不是必须的,我们完全可以选取其他点 h i h_i hi来作为参照来计算组内距离(其实这个 h i h_i hi通过优化最后也是表示的中心点),因此组内距离平方和可以推广为
W ( S 1 , S 2 , ⋯ , S k , H ) = ∑ i = 1 k ∑ a ∈ S i ∣ ∣ a − h i ∣ ∣ 2 W(S_1,S_2,\cdots,S_k,H)=\sum_{i=1}^k\sum_{a{\in}S_i}||a-h_i||^2 W(S1,S2,,Sk,H)=i=1kaSi∣∣ahi2
其中 H ∈ R k × p H{\in}R^{k \times p} HRk×p(k个类的一个点(维度为p))且第 i i i行的向量为 h i T h_i^T hiT,为了表示聚类方式 S 1 , S 2 , ⋯ , S k S_1,S_2,\cdots,S_k S1,S2,,Sk,一个很自然的想法是使用一个向量 ϕ i ∈ R k {\phi_i}{\in}R^k ϕiRk来表示 a i a_i ai所处的类别
( ϕ i ) j = { 1 , a i ∈ S j 0 , a i ∉ S j {(\phi_i)}_j=\left\{ \begin{matrix} 1,a_i{\in}S_j \\ 0,a_i{\notin}S_j \end{matrix} \right. (ϕi)j={1aiSj0ai/Sj
聚类问题等价描述为
min ⁡ ϕ , H ∣ ∣ A − Φ H ∣ ∣ F 2 s . t . Φ ∈ R n × k ,每一行只有一个元素为 1 ,其余为 0 H ∈ R k × p (3.10.3) \min_{\phi,H}||A-{\Phi}H||_F^2 \\ s.t. {\quad}{\Phi}{\in}R^{n \times k},每一行只有一个元素为1,其余为0 \\ H{\in}R^{k \times p}\tag{3.10.3} ϕ,Hmin∣∣AΦHF2s.t.ΦRn×k,每一行只有一个元素为1,其余为0HRk×p(3.10.3)
这里的 Φ {\Phi} Φ的第 i i i行的向量就是 ϕ i T {\phi}_i^T ϕiT

接下来说明3.10.3和原问题3.10.2是等价的,为此只需要说明参考点集 H H H的取法实际上就是每一类的中点,当固定 P h i Phi Phi时,第 i i i类点的组内距离平方和为
∑ a ∈ S i ∣ ∣ a − h i ∣ ∣ 2 \sum_{a{\in}S_i}||a-h_i||^2 aSi∣∣ahi2
根据二次函数的性质,当 h i = 1 n ∑ a ∈ S i a h_i=\frac{1}{n}{\sum_{a{\in}S_i}}a hi=n1aSia时,组内距离平方和最小
所以 h i h_i hi一定会被优化成第 i i i类的中心点的

我们引入问题(3.10.3)的理由有两个
(1)形式简洁,且将不易处理的自变量“分割方式”转化为矩阵
(2)可以看成是一个矩阵分解问题,便于我们设计算法

2.K-均值聚类等价表述二

K-均值聚类的第二种等价表述利用了列正交矩阵的性质,这种表达方式比问题(3.10.3)相比更为简洁,首先定义 I S t , 1 ≤ t ≤ k I_{S_t},1{\le}t{\le}k ISt1tk n n n维空间中每个分量取值0或1的向量,且
I S j ( i ) = { 1 , a i ∈ S t 0 , a i ∉ S t I_{S_j}(i)=\left\{ \begin{matrix} 1,a_i{\in}S_t \\ 0,a_i{\notin}S_t \end{matrix} \right. ISj(i)={1aiSt0ai/St
可以证明,第 t t t S t S_t St中每个点到其中心点的距离平方和可以写成 1 2 n t T r ( D I S t I S t T ) \frac{1}{2n_t}Tr(DI_{S_t}I_{S_t}^T) 2nt1Tr(DIStIStT),其中 D ∈ R n × n D{\in}R^{n \times n} DRn×n的元素为 D i j = ∣ ∣ a i − a j ∣ ∣ 2 D_{ij}=||a_i-a_j||^2 Dij=∣∣aiaj2。这说明 S t S_t St中每个点到中心点的距离平方和与 S t S_t St中所有点两两之间距离平方和有关,因此,我们将问题(3.10.2)转化为
min ⁡ S 1 , S 2 , ⋯ , S k 1 2 T r ( D X ) s . t . X = ∑ t = 1 k 1 n t I S t I S t T S 1 ∪ S 2 ∪ ⋯ ∪ S k = { a 1 , a 2 , ⋯ , a n } S i ∩ S j = ∅ , ∀ i ≠ j (3.10.4) \min_{S_1,S_2,\cdots,S_k}\frac{1}{2}Tr(DX) \\ s.t. {\quad}X={\sum}_{t=1}^k\frac{1}{n_t}I_{S_t}I_{S_t}^T \\ S_1{\cup}S_2{\cup}\cdots{\cup}S_k=\{a_1,a_2,\cdots,a_n\} \\ S_i{\cap}S_j={\varnothing},\forall{i{\not=}j}\tag{3.10.4} S1,S2,,Skmin21Tr(DX)s.t.X=t=1knt1IStIStTS1S2Sk={a1,a2,,an}SiSj=,i=j(3.10.4)
对半正定举证 X X X进行分解 X = Y Y T , Y ∈ R n × k X=YY^T,Y{\in}R^{n \times k} X=YYT,YRn×k,我们可以进一步得到如下矩阵优化问题(这里 I I I n n n维向量且分量全为1)
min ⁡ Y ∈ R n × k T r ( Y T D Y ) s . t . Y Y T I = I , Y Y T = I k , Y ≥ 0 (3.10.5) \min_{Y{\in}R^{n \times k}}Tr(Y^TDY) \\ s.t.{\quad}YY^TI=I, \\ YY^T=I_k,Y{\ge}0\tag{3.10.5} YRn×kminTr(YTDY)s.t.YYTI=I,YYT=IkY0(3.10.5)
求得3.10.5的解 Y Y T YY^T YYT就对应(3.10.4)的解(说实话这一块我没看懂,Kmeans直接去做的话还是蛮简单的)

3.11 图像处理中的全变差模型

这一块可能需要对图像处理有基础的同学才好看懂,反正我目前是看的云里雾里

简要介绍一下基于全变差(TV)的图像处理模型,对于定义在区域 Ω ⊂ R 2 {\Omega}\subset{R^2} ΩR2的函数 u ( x , y ) u(x,y) u(x,y),其全变差
∣ ∣ u ∣ ∣ T V = ∫ Ω ∣ ∣ D u ∣ ∣ d x (3.11.1) ||u||_{TV}=\int_{\Omega}||Du||dx\tag{3.11.1} ∣∣uTV=Ω∣∣Du∣∣dx(3.11.1)
其中梯度算子 D D D满足:
D u = ( ∂ u ∂ x , ∂ u ∂ y ) Du=(\frac{\partial{u}}{\partial{x}},\frac{\partial{u}}{\partial{y}}) Du=(xu,yu)
这里, ∣ ∣ D u ∣ ∣ ||Du|| ∣∣Du∣∣可以采用 l 1 l_1 l1范数,即
∣ ∣ D u ∣ ∣ 1 = ∣ ∂ u ∂ x ∣ + ∣ ∂ u ∂ y ∣ ||Du||_1=|\frac{\partial{u}}{\partial{x}}|+|\frac{\partial{u}}{\partial{y}}| ∣∣Du1=xu+yu
称对应的全变差是各向异性的
如果采用 l 2 l_2 l2范数,即
∣ ∣ D u ∣ ∣ 2 = ( ∂ u ∂ x ) 2 + ( ∂ u ∂ y ) 2 ||Du||_2=\sqrt{(\frac{\partial{u}}{\partial{x}})^2+({\frac{\partial{u}}{\partial{y}})^2}} ∣∣Du2=(xu)2+(yu)2
称对应的全变差是各向同性的。

b ( x , y ) b(x,y) b(x,y)是观测到的带噪声的图像, A A A是线性算子,在经典的 R u d i n − O s h e r − F a t e m i ( R O F ) Rudin-Osher-Fatemi(ROF) RudinOsherFatemi(ROF)模型下,图像去噪和去模糊问题可以写成
min ⁡ u ∣ ∣ A u − b ∣ ∣ L 2 2 + λ ∣ ∣ u ∣ ∣ T V (3.11.2) \min_u||Au-b||_{L2}^2+{\lambda}||u||_{TV}\tag{3.11.2} umin∣∣AubL22+λ∣∣uTV(3.11.2)
这里,定义域为 Ω \Omega Ω的函数 f f f L 2 L_2 L2范数定义为
∣ ∣ f ∣ ∣ L 2 = ( ∫ Ω f 2 d x ) 1 2 ||f||_{L2}=(\int_{\Omega}f^2dx)^{\frac{1}{2}} ∣∣fL2=(Ωf2dx)21
如果 A A A是单位算子或模糊算子,则上述模型分别对应图像去噪和去模糊,目标函数第一项是数据保真项,即重构出的照片要与已有的采集信息相容。第二项是正则项,用来保证重构出的图像的阶跃是稀疏的,或者说使得重构出的图像类似于一个分片常数函数。

下面给出连续模型(3.11.2)的离散格式,为简单起见,假设区域 Ω = [ 0 , 1 ] × [ 0 , 1 ] \Omega=[0,1] \times [0,1] Ω=[0,1]×[0,1]并且将它离散为 n × n n \times n n×n的网格,则格点 ( i n , j n ) (\frac{i}{n},\frac{j}{n}) (ni,nj)对应指标 ( i , j ) (i,j) (i,j),我们将图像 u u u表示矩阵 U ∈ R n × n U{\in}R^{n \times n} URn×n,其元素 u i , j u_{i,j} ui,j对应指标 ( i , j ) (i,j) (i,j)运用前向差分离散梯度算子 D D D得到 ( D U ) i , j = ( ( D 1 U ) i , j , ( D 2 U ) i , j ) (DU)_{i,j}=((D_1U)_{i,j},(D_2U)_{i,j}) (DU)i,j=((D1U)i,j,(D2U)i,j),且有
( D 1 U ) i , j = { u i + 1 , j − u i , j , i < n 0 , i = n (D_1U)_{i,j}=\left\{ \begin{matrix} u_{i+1,j}-u_{i,j},i<n \\ 0,i=n \end{matrix} \right. (D1U)i,j={ui+1,jui,j,i<n0i=n
( D 2 U ) i , j = { u i , j + 1 − u i , j , j < n 0 , j = n (D_2U)_{i,j}=\left\{ \begin{matrix} u_{i,j+1}-u_{i,j},j<n \\ 0,j=n \end{matrix} \right. (D2U)i,j={ui,j+1ui,j,j<n0j=n

这里对于 i , j = n i,j=n i,j=n的点使用诺依曼边界条件 ∂ u ∂ n = 0 \frac{\partial{u}}{\partial{n}}=0 nu=0且有 D U ∈ R n × n × 2 DU{\in}R^{n \times n \times 2} DURn×n×2那么离散全变差可以定义为
∣ ∣ U ∣ ∣ T V = ∑ i ≤ i , j ≤ n ∣ ∣ ( D U ) i , j ∣ ∣ (3.11.3) ||U||_{TV}=\sum_{i{\le}i,j{\le}n}||(DU)_{i,j}||\tag{3.11.3} ∣∣UTV=ii,jn∣∣(DU)i,j∣∣(3.11.3)
其中 ∣ ∣ ⋅ ∣ ∣ ||·|| ∣∣∣∣可以是 l 1 l_1 l1 l 2 l_2 l2范数
对于任意的 U , V ∈ R n × n × 2 U,V{\in}R^{n \times n \times 2} U,VRn×n×2,我们定义内积
< U , V > = ∑ 1 ≤ i , j ≤ n , 1 ≤ k ≤ 2 u i , j , k v i , j , k <U,V>={\sum_{1{\le}i,j{\le}n,1{\le}k{\le}2}}u_{i,j,k}v_{i,j,k} <U,V>=1i,jn,1k2ui,j,kvi,j,k
那么根据定义,离散的散度算子 G G G需满足
< U , G V > = − < D U , V > , ∀ U ∈ R n × n , V ∈ R n × n × 2 <U,GV>=-<DU,V>,\forall{U}{\in}R^{n \times n},V{\in}R^{n \times n \times 2} <U,GV>=<DU,V>,URn×n,VRn×n×2
(这里散度算子干嘛的我也不太清楚)
w i j = ( w i , j , 1 , w i , j , 2 ) T , W = ( w i j ) i , j = 1 n ∈ R n × n × 2 w_{ij}=(w_{i,j,1},w_{i,j,2})^T,W=(w_{ij})_{i,j=1}^n{\in}R^{n \times n \times 2} wij=(wi,j,1,wi,j,2)T,W=(wij)i,j=1nRn×n×2
我们有
( G W ) i j = Δ i , j , 1 + Δ i , j , 2 (3.11.4) (GW)_{ij}={\Delta_{i,j,1}}+{\Delta}_{i,j,2}\tag{3.11.4} (GW)ij=Δi,j,1+Δi,j,2(3.11.4)
其中
Δ i , j , 1 = { w i , j , 1 − w i − 1 , j , 1 , 1 < i < n w i , j , 1 , i = 1 − w i , j , 1 , i = n {\Delta_{i,j,1}}=\left\{ \begin{matrix} w_{i,j,1}-w_{i-1,j,1},1<i<n \\ w_{i,j,1},i=1 \\ -w_{i,j,1},i=n \end{matrix} \right. Δi,j,1= wi,j,1wi1,j,1,1<i<nwi,j,1i=1wi,j,1,i=n
Δ i , j , 2 = { w i , j , 1 − w i , j − 1 , 1 , 1 < j < n w i , j , 1 , j = 1 − w i , j , 1 , j = n {\Delta_{i,j,2}}=\left\{ \begin{matrix} w_{i,j,1}-w_{i,j-1,1},1<j<n \\ w_{i,j,1},j=1 \\ -w_{i,j,1},j=n \end{matrix} \right. Δi,j,2= wi,j,1wi,j1,1,1<j<nwi,j,1j=1wi,j,1,j=n
运用合适的离散格式处理后,我们可得到离散的线性算子 A A A和图像 B B B(这里运用了连续情形的记号,但 A A A的含义完全不同),因此由连续问题得到离散问题
min ⁡ U ∈ R n × n ∣ ∣ A U − B ∣ ∣ F 2 + λ ∣ ∣ U ∣ ∣ T V (3.11.5) \min_{U{\in}R^{n \times n}}||AU-B||_F^2+\lambda||U||_{TV}\tag{3.11.5} URn×nmin∣∣AUBF2+λ∣∣UTV(3.11.5)
在这里插入图片描述

在实际中,除了考虑 R O F ROF ROF模型外,我们还考虑其一个变形, T V − L 1 TV-L^1 TVL1模型,离散格式为
min ⁡ U ∈ R n × n ∣ ∣ A U − B ∣ ∣ 1 + λ ∣ ∣ U ∣ ∣ T V (3.11.6) \min_{U{\in}R^{n \times n}}||AU-B||_1+\lambda||U||_{TV}\tag{3.11.6} URn×nmin∣∣AUB1+λ∣∣UTV(3.11.6)
上述模型的一个好处是可以更好地处理非高斯噪声的情形,比如椒盐噪声等等

3.12 小波模型

书上写的小波模型才抽象了,很多变量没告诉什么意思就直接说了,这里直接跳过了。。以后要是用到了再去细看

3.13 强化学习

在这里插入图片描述
A l p h a G o Z e r o AlphaGo Zero AlphaGoZero就采用了强化学习,他只需要掌握围棋的基本规则,不需要任何的人类经验,就能从零开始学习。
虽然强化学习处理的实际问题千差万别,但是他们一般可以抽象出智能体(agent)和环境(environment)两个概念,智能体持续地与环境互动并从环境中学到经验和规则。如图3.7所示,智能体在状态 s t s_t st下执行动作 a t a_t at后,环境根据其内在的规则回应,到达新的状态 s t + 1 s_{t+1} st+1,奖励 r t + 1 r_{t+1} rt+1,这个系统不断地重复这个过程,直到系统终止。想象一个机器人从A走到B,为了实现这个目标,它尝试了很多不同的移动方式,既从成功的动作中学到了经验,又从失败的摔倒中学到了教训,最终得到最有效,最快捷的行走方式,这种反复试错也是强化学习所使用的思想。强化学习跟其他机器学习相比有如下不同点:
(1)这个过程是无监督的,没有标签告诉智能体做什么动作是最好的,,只有之前动作所获得的奖励会让智能体更偏向于执行某一类动作
(2)环境给智能体动作反馈是有延迟的,当前动作的效果也许不会立刻体现,但是它可能影响许多步后的奖励
(3)时间顺序在强化学习中是非常重要的,所做决策的顺序会决定最终的结果
(4)智能体所做的动作会影响观察到的环境状态,在这个学习过程中观察到的环境状态或接受到的反馈不是独立的,它们是智能体动作的函数,这一点与监督学习中的样本独立性假设有很大差别

强化学习经常可以用马尔可夫决策过程(MDP)来描述,在马尔可夫决策过程中,环境状态转移的概率只取决于当前的状态和动作,而与所有历史信息无关,即
P ( s t + 1 = s ′ ∣ s t , a t , ⋯ , s 0 , a 0 ) = P ( s t + 1 = s ′ ∣ s t , a t ) P(s_{t+1}=s'|s_t,a_t,\cdots,s_0,a_0)=P(s_{t+1}=s'|s_{t},a_t) P(st+1=sst,at,,s0,a0)=P(st+1=sst,at)
其次,环境所反馈的奖励的期望也只依赖于当前的状态和动作,所以该期望可以表示成
E [ r t + 1 ∣ s t , a t , ⋯ , s 0 , a 0 ] = E [ r t + 1 ∣ s t = s , a t = a ] = r ( s , a ) E[r_{t+1}|s_t,a_t,\cdots,s_0,a_0]=E[r_{t+1}|s_t=s,a_t=a]=r(s,a) E[rt+1st,at,,s0,a0]=E[rt+1st=s,at=a]=r(s,a)
智能体要做的是通过在环境中不断尝试学习得到一个策略(policy) π \pi π,根据这个策略,智能体可以知道在状态 s s s下该执行什么动作,假设 S S S A A A是正整数,令 S = { 1 , 2 , ⋯ , S } S=\{1,2,\cdots,S\} S={1,2,,S} A = { 1 , 2 , ⋯ , A } A=\{1,2,\cdots,A\} A={1,2,,A}分别为状态空间和决策空间。用 Δ X \Delta_X ΔX来表示在集合 X X X上的概率分布构成的集合。策略 π : S → Δ X \pi:S{\rightarrow}\Delta_X π:SΔX是定义在状态空间上的一个映射,我们用 π ( a ∣ s ) \pi(a|s) π(as)表示使用策略 π \pi π时,在当前状态 s s s下选择策略 a a a的概率。状态转移算子 P : S × A → Δ X P:S \times A{\rightarrow}{\Delta}_X P:S×AΔX为状态空间和决策空间的乘积空间到状态空间上的概率分布的映射(在当前状态做某个动作导致到下一个状态的概率)用 P a ( i , j ) P_a(i,j) Pa(i,j)表示采用决策 i i i跳到决策 j j j的概率。令单步奖励函数 r : S × A → R r:S \times A{\rightarrow}R r:S×AR为状态和决策乘积空间上的实值函数,用 r ( s , a ) r(s,a) r(s,a)表示在状态 s s s下采用决策 a a a得到的奖励的期望。

由于在某一个状态下最优的动作选择并不一定产生全局最优的策略。比较理想的方式应该能最大化某种形式的累计奖励。例如有限时间的累计奖励,或是有限时间的有折扣奖励之和,亦或者是无限时间的累计奖励或平均奖励,一条轨道 τ \tau τ是一系列的状态和动作的集合
τ = { s 0 , a 0 , s 1 , a 1 , ⋯ } \tau=\{s_0,a_0,s_1,a_1,\cdots\} τ={s0,a0,s1,a1,}
给定折扣因子 γ ∈ [ 0 , 1 ) \gamma{\in}[0,1) γ[0,1),有折扣累计奖励可以表示为
R ( τ ) = ∑ t = 0 ∞ γ ′ r t R(\tau)=\sum_{t=0}^{\infty}\gamma'r_t R(τ)=t=0γrt
其中 r t = r ( s t , a t ) r_t=r(s_t,a_t) rt=r(st,at),那么最优的策略是能最大化MDP收益的策略:
max ⁡ π E τ ∼ π [ R ( τ ) ] (3.13.1) \max_{\pi}E_{\tau\sim\pi}[R(\tau)]\tag{3.13.1} πmaxEτπ[R(τ)](3.13.1)
其中 τ ∼ π \tau\sim\pi τπ表示轨道 τ \tau τ是按照策略 π \pi π生成的,令 V ( i ) V(i) V(i)为最优策略在任意时刻从状态 i i i出发得到的期望奖励,那么问题(3.13.1)也等价于求解
V ( i ) = max ⁡ a { ∑ j P a ( i , j ) ( r ( i , a ) + γ V ( j ) ) } (3.13.2) V(i)=\max_{a}\{\sum_jP_a(i,j)(r(i,a)+\gamma{V(j)})\}\tag{3.13.2} V(i)=amax{jPa(i,j)(r(i,a)+γV(j))}(3.13.2)
这个方程可以拆开来看,第一个P就是从i到j的概率嘛,然后 r ( i , a ) r(i,a) r(i,a)就是表示你在当前环境下做 a a a所带来的奖励, V ( j ) V(j) V(j)就表示从状态 j j j出发得到的期望奖励,这样一直顺延下去,就等表示整局的奖励了
该方程称为 B e l l m a n Bellman Bellman方程,在任意时刻,状态 i i i处的决策 a ( i ) a(i) a(i)要满足
a ( i ) = arg max ⁡ a { ∑ j P a ( i , j ) ( r ( i , a ) + γ V ( j ) ) } a(i)=\argmax_{a}\{\sum_jP_a(i,j)(r(i,a)+\gamma{V(j)})\} a(i)=aargmax{jPa(i,j)(r(i,a)+γV(j))}i

可以看到 V ( i ) V(i) V(i) a ( i ) a(i) a(i)都不依赖于时间 t t t,其根本原因是下一步的状态仅依赖于当前状态和动作,且转移概率和奖励函数也与时间无关

很多时候,解决实际问题的困难往往在于状态集合或者动作集合中元素的数量非常多,甚至是天文数字,常用的一个方法是将策略用神经网络或者深度神经网络来表达,比如策略的输出是一个可计算的函数,它依赖于一系列参数,如神经网络的权重,为简单起见,人们经常将 π \pi π写为 π θ \pi_{\theta} πθ( θ \theta θ是神经网络的参数),问题3.13.1则表示为
max ⁡ π θ E τ ∼ π θ [ R ( τ ) ] (3.13.3) \max_{\pi_{\theta}}E_{\tau\sim\pi_{\theta}}[R(\tau)]\tag{3.13.3} πθmaxEτπθ[R(τ)](3.13.3)

到此!第三章over!!
总结:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/77894.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

理财是什么?怎样学习理财?

大家好&#xff0c;我是财富智星&#xff0c;今天跟大家分享一下理财是什么&#xff1f;怎样学习理财的方法。 一、理财的基本原则 1、理财应注重投资而不是投机&#xff0c;要与时间为友。 让我们先考虑以下问题&#xff1a;什么样的回报才算是真正的高回报&#xff1f;假设有…

TypeScript命名空间和模块

&#x1f3ac; 岸边的风&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 命名空间&#xff08;Namespace&#xff09; 命名空间&#xff08;Namespace&#xff09;使用场景 第三方库 兼容…

linux rz乱码文件删除

通过rz上传文件的时候经常会遇到 文件乱码问题&#xff0c;删又删不掉。 使用rz -be的方法上传 遇到乱码文件操作步骤 1. ls -i # 列出文件的编号 2. find . -inum 29229139 -delete # 根据编号删除文件 find 需要扫描的路径 -inum 文件编号 -delete

Vue.js not detected解决方法

扩展程序》管理扩展程序》详情》允许访问文件地址打开

软件测试7大误区

随着软件测试对提高软件质量重要性的不断提高&#xff0c;软件测试也不断受到重视。但是&#xff0c;国内软件测试过程的不规范&#xff0c;重视开发和轻视测试的现象依旧存在。因此&#xff0c;对于软件测试的重要性、测试方法和测试过程等方面都存在很多不恰当的认识&#xf…

Vulnhub系列靶机---HarryPotter-Fawkes-哈利波特系列靶机-3

文章目录 信息收集主机发现端口扫描dirsearch扫描gobuster扫描 漏洞利用缓冲区溢出edb-debugger工具msf-pattern工具 docker容器内提权tcpdump流量分析容器外- sudo漏洞提权 靶机文档&#xff1a;HarryPotter: Fawkes 下载地址&#xff1a;Download (Mirror) 难易程度&#xff…

C++面试/笔试准备,资料汇总

文章目录 后端太卷&#xff0c;建议往嵌入式&#xff0c;qt&#xff0c;测试&#xff0c;音视频&#xff0c;C一些细分领域投简历。有任何疑问评论区聊&#xff0c;我看到了回复 C面试/笔试准备&#xff0c;资料汇总自我介绍项目实习尽可能有1.编程语言&#xff1a;一.熟悉C语言…

【牛客面试必刷TOP101】Day4.BM15删除有序链表中重复的元素-I和BM17二分查找-I

作者简介&#xff1a;大家好&#xff0c;我是未央&#xff1b; 博客首页&#xff1a;未央.303 系列专栏&#xff1a;牛客面试必刷TOP101 每日一句&#xff1a;人的一生&#xff0c;可以有所作为的时机只有一次&#xff0c;那就是现在&#xff01;&#xff01;&#xff01;&…

前端面试题JS篇(6)

ES6 Module 和 CommonJS 模块的区别&#xff1a; CommonJS 是对模块的浅拷⻉&#xff0c;ES6 Module 是对模块的引⽤&#xff0c;即 ES6 Module 只存只读&#xff0c;不能改变其值&#xff0c;也就是指针指向不能变&#xff0c;类似 const&#xff1b; import 的接⼝是 read-o…

ATFX汇市:离岸人民币大幅升值,昨日盘中跌破7.3关口

ATFX汇市&#xff1a;美国CPI数据即将公布之际&#xff0c;周一美元指数大跌&#xff0c;带动离岸人民币升值0.85%&#xff0c;实现3月14日以来的最大单日升值幅度&#xff0c;当日汇率&#xff08;USDCNH&#xff09;最低触及7.292&#xff0c;突破7.3000关口。消息面上&#…

【LangChain系列 8】Prompt模版——少样本prompt模版(二)

原文地址&#xff1a;【LangChain系列 8】Prompt模版——少样本prompt模版(二) 本文速读&#xff1a; 固定少样本prompt模版 动态少样本prompt模版 在上篇文章中介绍了少样本模版的基本用法&#xff0c;本文将介绍 对话模型(chat model) 中 少样本prompt模版的用法。 LangCh…

Gogs国内大佬开发的git私有服务

Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。 gogs官网&#xff1a;https://gogs.io/ github地址&#xff1a;https://github.com/gogs/gogs/tree/main/docker docker安装gogs服务 docker pull gogs/gogs 启动gogs容器 docker run --namegogs -…

《TCP/IP网络编程》阅读笔记--基于UDP的服务器端/客户端

目录 1--TCP和UDP的主要区别 2--基于 UDP 的数据 I/O 函数 3--基于 UDP 的回声服务器端/客户端 4--UDP客户端Socket的地址分配 5--UDP存在数据边界 6--UDP已连接与未连接的设置 1--TCP和UDP的主要区别 ① TCP 提供的是可靠数据传输服务&#xff0c;而 UDP 提供的是不可靠…

现成Hadoop配置,图文手把手交你

为了可以更加快速的可以使用Hadoop&#xff0c;便写了这篇文章&#xff0c;想尝试自己配置一下的可以参考从零开始配置Hadoop&#xff0c;图文手把手教你&#xff0c;定位错误 资源 1.两台已经配置好的hadoop 2.xshellVmware 链接&#xff1a;https://pan.baidu.com/s/1oX35…

性能测试 —— Jmeter定时器

固定定时器 如果你需要让每个线程在请求之前按相同的指定时间停顿&#xff0c;那么可以使用这个定时器&#xff1b;需要注意的是&#xff0c;固定定时器的延时不会计入单个sampler的响应时间&#xff0c;但会计入事务控制器的时间 1、使用固定定时器位置在http请求中&#xf…

用 Github Codespaces 免费搭建本地开发测试环境

如何丝滑地白嫖一个本地开发环境&#xff1f;怎么新建一个代码空间&#xff1f; 1&#xff1a;通过Github网页新建2&#xff1a;通过VSCode插件新建 为代码创建相应的开发测试环境 如何丝滑地白嫖一个本地开发环境&#xff1f; 使用Codespaces为开发者解决这样的痛点&#xf…

基于STM32智能环境系统

摘要 本系统采用stm32f407作为主控芯片&#xff0c;实现对环境的监测。并且通过和手机通信&#xff0c;获取当前的天气预报信息&#xff0c;结合当前测得的温湿度&#xff0c;可以为用户提供出行建议。利用stm32自带的RTC可以实现时间及闹钟功能。此外RTC还可以用于电子日历的…

数分面试题2-牛客

1、面对大方差如何解决 1&#xff0c;AB实验场景下&#xff0c;如果一个指标的方差较大表示它的波动较大&#xff0c;那么实验组和对照组的显著差异可能是因为方差较大即随机波动较大。解决方法有&#xff1a;PSM方法、CUPED(方差缩减) PSM代表"Propensity Score Matchin…

phpstudy本地快速搭建网站,并外网访问【无公网IP】

文章目录 使用工具1. 本地搭建web网站1.1 下载phpstudy后解压并安装1.2 打开默认站点&#xff0c;测试1.3 下载静态演示站点1.4 打开站点根目录1.5 复制演示站点到站网根目录1.6 在浏览器中&#xff0c;查看演示效果。 2. 将本地web网站发布到公网2.1 安装cpolar内网穿透2.2 映…

深入解析 qsort 排序(上),它为什么是万能排序?

前言&#xff1a;对于库函数有适当了解的朋友们&#xff0c;对于 qsort 函数想必是有认知的&#xff0c;因为他可以对任意数据类型进行排序的功能属实是有点厉害的&#xff0c;本次分享&#xff0c;笔者就给大家带来 qsort 函数的全面的解读 本次知识的分享笔者分为上下俩卷文章…