欢迎大家关注搜索关注微信公众号《一懂算法》,希望能把东西讲的通俗易懂,终极目标是一遍就懂
零、前言
相信只要是浅学过强化学习的人应该都能感受到贝尔曼方程的重要性,可以说是遍布了各种教程的每个角落。在遇到这些贝尔曼方程的时候,一直有几个问题困扰着我:
- 怎么又冒出来一个贝尔曼方程?
- 咋格式还和上一个不一样,变体咋这么多?
- 证明怎么这么跳跃?
几度回看都是跳过贝尔曼方程的细节,不想被绕进去。这几天终于有时间静下心来把证明过程理清了一遍,希望能用直白的语言跟大家讲清楚,尽量掰开揉碎了讲给大家。
一、基础变量符号定义
讲之前还是得声明一下几个重要变量的符号,毕竟不同版本之前的符号约定很容易差异。【这里默认大家了解强化学习基础概念,只是简单声明定义】
第
t
t
t回合下:
- 奖励为 r t r_t rt,状态为 s t s_t st,动作为 a t a_t at
- 回报 G t = R t + 1 + γ R t + 2 + γ 2 R t + 3 + γ 3 R t + 4 + … + γ T − t − 1 R T G_t=R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+\gamma^3R_{t+4}+\ldots+\gamma^{T-t-1}R_T Gt=Rt+1+γRt+2+γ2Rt+3+γ3Rt+4+…+γT−t−1RT,也就是当前回合到回合结束的总奖励(含折扣)
- 状态价值函数 V π ( s t ) = E π [ G t ∣ S t = s t ] V_\pi(s_t)=\mathbb{E}_\pi\begin{bmatrix}G_t\mid S_t=s_t\end{bmatrix} Vπ(st)=Eπ[Gt∣St=st],即 s t s_t st状态下回报的期望
- 动作价值函数 Q π ( s t , a t ) = E π [ G t ∣ S t = s t , A t = a t ] Q_\pi(s_t,a_t)=\mathbb{E}_\pi\left[G_t\mid S_t=s_t,A_t=a_t\right] Qπ(st,at)=Eπ[Gt∣St=st,At=at],即 s t s_t st状态下执行动作 a t a_t at后回报的期望
二、抽丝剥茧,逐步证明
好了,现在开始进入正文:
- 首先,为什么贝尔曼方程能成为强化学习的核心基础?
V ( s t ) = R ( s t ) + γ E [ V t + 1 ∣ S t = s t ] \begin{aligned} V(s_t)=R(s_t)+\gamma\mathbb{E}[V_{t+1}|S_t=s_t] \end{aligned} V(st)=R(st)+γE[Vt+1∣St=st]
- 是因为它描述的是当前状态的价值和下一状态的价值的关系,有了这个关系,就可以通过下一个状态的价值来迭代更新上一状态的价值【这样就可以通过最后一个状态逐步往前倒着推】。
- 这也是贝尔曼方程推导思想的核心,我们需要想办法找到当前状态价值和下一状态价值的具体关系,搭好它们之间的“大桥”,也就是找到 V ( s t ) V(s_t) V(st)和 V ( s t + 1 ) V(s_{t+1}) V(st+1)的公式关系。
- 那么如何找到 V ( s t ) V(s_t) V(st)和 V ( s t + 1 ) V(s_{t+1}) V(st+1)的公式关系呢?
-
首先我们先从状态价值函数的定义出发进行拆分,看看能不能从 V ( s t ) V(s_t) V(st)中拆分出 V ( s t + 1 ) V(s_{t+1}) V(st+1)
V ( s t ) = E [ G t ∣ S t = s t ] (状态价值函数的定义) = E [ R t + 1 + γ R t + 2 + γ 2 R t + 3 + … ∣ S t = s t ] (回报的定义) = E [ R t + 1 ∣ S t = s t ] + γ E [ R t + 2 + γ R t + 3 + γ 2 R t + 4 + … ∣ S t = s t ] (期望的可加性) = R ( s t ) + γ E [ G t + 1 ∣ S t = s t ] (回报的定义) \begin{aligned} V(s_t)& =\mathbb{E}\left[G_t\mid S_t=s_t\right](状态价值函数的定义) \\ &=\mathbb{E}\begin{bmatrix}R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+\ldots\mid S_t=s_t\end{bmatrix}(回报的定义) \\ &=\mathbb{E}\left[R_{t+1}|S_t=s_t\right]+\gamma\mathbb{E}\left[R_{t+2}+\gamma R_{t+3}+\gamma^2R_{t+4}+\ldots\mid S_t=s_t\right](期望的可加性) \\ &=R(s_t)+\gamma\mathbb{E}[G_{t+1}|S_t=s_t](回报的定义) \end{aligned} V(st)=E[Gt∣St=st](状态价值函数的定义)=E[Rt+1+γRt+2+γ2Rt+3+…∣St=st](回报的定义)=E[Rt+1∣St=st]+γE[Rt+2+γRt+3+γ2Rt+4+…∣St=st](期望的可加性)=R(st)+γE[Gt+1∣St=st](回报的定义) -
我们现在得到了 V ( s t ) V(s_t) V(st)和 G t + 1 G_{t+1} Gt+1的关系,这个时候我们还是无法去做迭代的,因为 V ( s t ) V(s_t) V(st)无法继续往前推导出 V ( s t − 1 ) V(s_{t-1}) V(st−1),我们还是需要继续得到 V ( s t ) V(s_t) V(st)和 V ( s t + 1 ) V(s_{t+1}) V(st+1)之间的迭代关系,才能循环推导下去,因此我们还需要从 G t + 1 G_{t+1} Gt+1中拆分出 V ( s t + 1 ) V(s_{t+1}) V(st+1)!
-
首先从定义上可以显然知道两者的关系,即 V ( s t + 1 ) = E [ G t + 1 ∣ S t + 1 = s t + 1 ] V(s_{t+1})=\mathbb{E}\begin{bmatrix}G_{t+1}\mid S_{t+1}=s_{t+1}\end{bmatrix} V(st+1)=E[Gt+1∣St+1=st+1],这里我们发现其实已经很接近上面的 E [ G t + 1 ∣ S t = s t ] \mathbb{E}\begin{bmatrix}G_{t+1}\mid S_t=s_{t}\end{bmatrix} E[Gt+1∣St=st]了,两者求期望的目标都是 G t + 1 G_{t+1} Gt+1,只不过两者求期望的条件不一样,一个是 s t s_t st,一个是 s t + 1 s_{t+1} st+1。这个时候我们注意, s t + 1 s_{t+1} st+1就是 s t s_t st的下一个状态,换句话说也相当于 s t s_t st的一个子空间,这时候我们就可以用全期望公式建立起它们的联系了。
-
全期望公式: E ( X ) = ∑ k m P ( Y k ) E ( X ∣ Y k ) = E ( E ( X ∣ Y ) ) E(X)=\sum_{k}^m P(Y_k)E(X|Y_k)=E(E(X|Y)) E(X)=∑kmP(Yk)E(X∣Yk)=E(E(X∣Y))
公式含义说法1:随机变量X的数学期望等于,局部条件下X的期望的加权平均
公式含义说法2:将样本空间划分为m个互斥的子空间,在每个空间下对X求期望然后再加权平均,结果就等于直接对X求期望 -
那么由全期望公式我们可以得到:
E [ G t + 1 ∣ S t = s t ] = ∑ s t + 1 E [ G t + 1 ∣ S t = s t , S t + 1 = s t + 1 ] p ( s t + 1 ∣ s t ) \mathbb{E}[G_{t+1}|S_{t}=s_{t}]=\sum_{s_{t+1}}\mathbb{E}[G_{t+1}|S_t=s_{t},S_{t+1}=s_{t+1}]p(s_{t+1}|s_{t}) E[Gt+1∣St=st]=st+1∑E[Gt+1∣St=st,St+1=st+1]p(st+1∣st)
再由于马尔可夫性, G t + 1 G_{t+1} Gt+1其实只和 s t + 1 s_{t+1} st+1有关,和 s t s_{t} st无关,因此
E [ G t + 1 ∣ S t = s t , S t + 1 = s t + 1 ] = E [ G t + 1 ∣ S t + 1 = s t + 1 ] = V ( s t + 1 ) \mathbb{E}[G_{t+1}|S_t=s_{t},S_{t+1}=s_{t+1}]=\mathbb{E}[G_{t+1}|S_{t+1}=s_{t+1}]=V(s_{t+1}) E[Gt+1∣St=st,St+1=st+1]=E[Gt+1∣St+1=st+1]=V(st+1)
将其代回上一个式子得,
E [ G t + 1 ∣ S t = s t ] = ∑ s t + 1 V ( s t + 1 ) p ( s t + 1 ∣ s t ) = E [ V t + 1 ∣ S t = s t ] \mathbb{E}[G_{t+1}|S_{t}=s_{t}]=\sum_{s_{t+1}}V(s_{t+1})p(s_{t+1}|s_{t})=\mathbb{E}[V_{t+1}|S_{t}=s_{t}] E[Gt+1∣St=st]=st+1∑V(st+1)p(st+1∣st)=E[Vt+1∣St=st]
综上
V ( s t ) = R ( s t ) + γ E [ G t + 1 ∣ S t = s t ] = R ( s t ) + γ ∑ s t + 1 V ( s t + 1 ) p ( s t + 1 ∣ s t ) = R ( s t ) + γ E [ V t + 1 ∣ S t = s t ] \begin{aligned} V(s_t)&=R(s_t)+\gamma\mathbb{E}[G_{t+1}|S_t=s_t] \\ &=R(s_t)+\gamma\sum_{s_{t+1}}V(s_{t+1})p(s_{t+1}|s_{t}) \\ &=R(s_t)+\gamma\mathbb{E}[V_{t+1}|S_t=s_t] \end{aligned} V(st)=R(st)+γE[Gt+1∣St=st]=R(st)+γst+1∑V(st+1)p(st+1∣st)=R(st)+γE[Vt+1∣St=st]
以上的公式也被称作“贝尔曼期望方程”。
-
三、千遍万化,打包汇总
证明好了上面的方程后,很有可能会有人有疑惑:“这和我看到的贝尔曼方程也不是完全一样啊,我看到的感觉更复杂啊”。确实,上面只是贝尔曼方程中的一种形式,但是搞明白了一种之后,其它的推导和转化也就容易了,接下来我们将逐步推导并转化出贝尔曼方程的其它形式:
-
贝尔曼期望方程——展开版(考虑动作 a t a_t at)
V ( s t ) = R ( s t ) + γ ∑ s t + 1 V ( s t + 1 ) p ( s t + 1 ∣ s t ) = R ( s t ) + γ ∑ s t + 1 [ V ( s t + 1 ) ∑ a t p ( s t + 1 ∣ s t , a t ) π ( a t ∣ s t ) ] \begin{aligned} V(s_t) &=R(s_t)+\gamma\sum_{s_{t+1}}V(s_{t+1})p(s_{t+1}|s_{t}) \\ &=R(s_t)+\gamma\sum_{s_{t+1}}[V(s_{t+1})\sum_{a_{t}}p(s_{t+1}|s_{t},a_t)\pi(a_t|s_{t})] \end{aligned} V(st)=R(st)+γst+1∑V(st+1)p(st+1∣st)=R(st)+γst+1∑[V(st+1)at∑p(st+1∣st,at)π(at∣st)]-
以上其实就是把 p ( s t + 1 ∣ s t ) p(s_{t+1}|{s_t}) p(st+1∣st)展开,这个通常是结合了马尔可夫决策过程的概念,中间加了一个动作的环节,就是在状态 s t s_t st下,会根据策略 π \pi π去执行动作 a t a_t at,执行概率为 π ( a t ∣ s t ) \pi(a_t|s_{t}) π(at∣st),然后根据 a t a_t at再转移到 s t + 1 s_{t+1} st+1,转移概率为 p ( s t + 1 ∣ s t , a t ) p(s_{t+1}|s_{t},a_t) p(st+1∣st,at)。所以上面其实就是一个全概率公式的展开: p ( s t + 1 ∣ s t ) = ∑ a t p ( s t + 1 ∣ s t , a t ) π ( a t ∣ s t ) p(s_{t+1}|s_{t})=\sum_{a_{t}}p(s_{t+1}|s_{t},a_t)\pi(a_t|s_{t}) p(st+1∣st)=∑atp(st+1∣st,at)π(at∣st)。
-
对于 R ( s t ) R(s_t) R(st),原本 R ( s t ) = E [ R t + 1 ∣ S t = s t ] = ∑ r t + 1 r t + 1 p ( r t + 1 ∣ s t + 1 ) R(s_t)=\mathbb{E}\left[R_{t+1}|S_t=s_t\right]=\sum_{r_{t+1}}r_{t+1}p(r_{t+1}|s_{t+1}) R(st)=E[Rt+1∣St=st]=∑rt+1rt+1p(rt+1∣st+1),引入 a t a_t at后,则可同理可展开为: p ( r t + 1 ∣ s t + 1 ) = ∑ a t p ( r t + 1 ∣ s t , a t ) π ( a t ∣ s t ) p(r_{t+1}|s_{t+1})=\sum_{a_t}p(r_{t+1}|s_t,a_t)\pi(a_{t}|s_{t}) p(rt+1∣st+1)=∑atp(rt+1∣st,at)π(at∣st),
-
因此:
V ( s t ) = ∑ r t + 1 [ r t + 1 ∑ a t p ( r t + 1 ∣ s t , a t ) π ( a t ∣ s t ) ] + γ ∑ s t + 1 [ V ( s t + 1 ) ∑ a t p ( s t + 1 ∣ s t , a t ) π ( a t ∣ s t ) ] = ∑ a t π ( a t ∣ s t ) ∑ r t + 1 r t + 1 p ( r t + 1 ∣ s t , a t ) + γ ∑ a t π ( a t ∣ s t ) ∑ s t + 1 V ( s t + 1 ) p ( s t + 1 ∣ s t , a t ) = ∑ a t π ( a t ∣ s t ) [ ∑ r t + 1 r t + 1 p ( r t + 1 ∣ s t , a t ) + γ ∑ s t + 1 V ( s t + 1 ) p ( s t + 1 ∣ s t , a t ) ] \begin{aligned} V(s_t) &=\sum_{r_{t+1}}[r_{t+1}\sum_{a_t}p(r_{t+1}|s_t,a_t)\pi(a_{t}|s_{t})]+\gamma\sum_{s_{t+1}}[V(s_{t+1})\sum_{a_{t}}p(s_{t+1}|s_{t},a_t)\pi(a_t|s_{t})]\\ &=\sum_{a_t}\pi(a_{t}|s_{t})\sum_{r_{t+1}}r_{t+1}p(r_{t+1}|s_t,a_t)+\gamma\sum_{a_{t}}\pi(a_t|s_{t})\sum_{s_{t+1}}V(s_{t+1})p(s_{t+1}|s_{t},a_t)\\ &=\sum_{a_t}\pi(a_{t}|s_{t})[\sum_{r_{t+1}}r_{t+1}p(r_{t+1}|s_t,a_t)+\gamma\sum_{s_{t+1}}V(s_{t+1})p(s_{t+1}|s_{t},a_t)] \end{aligned} V(st)=rt+1∑[rt+1at∑p(rt+1∣st,at)π(at∣st)]+γst+1∑[V(st+1)at∑p(st+1∣st,at)π(at∣st)]=at∑π(at∣st)rt+1∑rt+1p(rt+1∣st,at)+γat∑π(at∣st)st+1∑V(st+1)p(st+1∣st,at)=at∑π(at∣st)[rt+1∑rt+1p(rt+1∣st,at)+γst+1∑V(st+1)p(st+1∣st,at)] -
注:有的版本会再加个下标 π \pi π,比如 p π ( r t + 1 ∣ s t , a t ) p_\pi(r_{t+1}|s_t,a_t) pπ(rt+1∣st,at),直接替换即可,不影响以上的推导
-
-
贝尔曼期望方程——矩阵版
矩阵版也是可以从 R ( s t ) + γ ∑ s t + 1 V ( s t + 1 ) p ( s t + 1 ∣ s t ) R(s_t)+\gamma\sum_{s_{t+1}}V(s_{t+1})p(s_{t+1}|s_{t}) R(st)+γ∑st+1V(st+1)p(st+1∣st)开始推导,核心需要转化的就是那个求和符号。为了避免符号混乱,我们这里用, s s s代表当前 t t t时刻的状态,它的值可能是 ( s a , s b , s c ) (s_a,s_b,s_c) (sa,sb,sc)中的一种, s ′ s' s′表示下一时刻 t + 1 t+1 t+1时刻的状态,它的值同样可能是 ( s a , s b , s c ) (s_a,s_b,s_c) (sa,sb,sc)中的一种,也就是 p ( s b ∣ s a ) p(s_b|s_a) p(sb∣sa)代表了 s a s_a sa到 s b s_b sb之间的转移概率,外面的求和符号,代表需要在已知 s s s具体状态值的情况下遍历 s ′ s' s′可能的所有值。假设s有三种状态值 ( s a , s b , s c ) (s_a,s_b,s_c) (sa,sb,sc),则将值代入之前的公式得:
{ V ( s a ) = R ( s a ) + γ ∑ s ′ ∈ ( s a , s b , s c ) V ( s ’ ) p ( s ′ ∣ s a ) V ( s b ) = R ( s b ) + γ ∑ s ′ ∈ ( s a , s b , s c ) V ( s ’ ) p ( s ′ ∣ s b ) V ( s c ) = R ( s c ) + γ ∑ s ′ ∈ ( s a , s b , s c ) V ( s ’ ) p ( s ′ ∣ s c ) \left\{ \begin{aligned} V(s_a) = R(s_a)+{\gamma}\sum_{s'\in(s_a,s_b,s_c)}V(s’)p(s'|s_a) \\ V(s_b) = R(s_b)+{\gamma}\sum_{s'\in(s_a,s_b,s_c)}V(s’)p(s'|s_b)\\ V(s_c) = R(s_c)+{\gamma}\sum_{s'\in(s_a,s_b,s_c)}V(s’)p(s'|s_c) \end{aligned} \right. ⎩ ⎨ ⎧V(sa)=R(sa)+γs′∈(sa,sb,sc)∑V(s’)p(s′∣sa)V(sb)=R(sb)+γs′∈(sa,sb,sc)∑V(s’)p(s′∣sb)V(sc)=R(sc)+γs′∈(sa,sb,sc)∑V(s’)p(s′∣sc)
写成矩阵形式,则为:
[ V ( s a ) V ( s b ) V ( s c ) ] = [ R ( s a ) R ( s b ) R ( s c ) ] + γ [ p ( s a ∣ s a ) p ( s b ∣ s a ) p ( s c ∣ s a ) p ( s a ∣ s b ) p ( s b ∣ s b ) p ( s c ∣ s b ) p ( s a ∣ s c ) p ( s b ∣ s c ) p ( s c ∣ s c ) ] [ V ( s a ) V ( s b ) V ( s c ) ] \begin{bmatrix}V(s_a)\\V(s_b)\\V(s_c)\end{bmatrix}=\begin{bmatrix}R(s_a)\\R(s_b)\\R(s_c)\end{bmatrix}+\gamma\begin{bmatrix}p(s_a|s_a)&p(s_b|s_a)&p(s_c|s_a)\\p(s_a|s_b)&p(s_b|s_b)&p(s_c|s_b)\\p(s_a|s_c)&p(s_b|s_c)&p(s_c|s_c)\end{bmatrix}\begin{bmatrix}V(s_a)\\V(s_b)\\V(s_c)\end{bmatrix} V(sa)V(sb)V(sc) = R(sa)R(sb)R(sc) +γ p(sa∣sa)p(sa∣sb)p(sa∣sc)p(sb∣sa)p(sb∣sb)p(sb∣sc)p(sc∣sa)p(sc∣sb)p(sc∣sc) V(sa)V(sb)V(sc)
简化得:
V = R + γ P V V=R+{\gamma}PV V=R+γPV
其中 V V V、 R R R、 P P P、 V V V和上方一一对应即可 -
贝尔曼期望方程——动作价值函数版
-
形式1:
Q ( s t , a t ) = E [ R t + γ V ( s t + 1 ) ∣ S t = s t , A t = a t ] \begin{aligned} Q(s_t,a_t)=\mathbb{E}[R_t+{\gamma}V(s_{t+1})|S_t=s_t,A_t=a_t] \end{aligned} Q(st,at)=E[Rt+γV(st+1)∣St=st,At=at]- 相比于第二部分推导出的 V ( s t ) = R ( s t ) + γ E [ V t + 1 ∣ S t = s t ] V(s_t)=R(s_t)+\gamma\mathbb{E}[V_{t+1}|S_t=s_t] V(st)=R(st)+γE[Vt+1∣St=st],其区别就在于 Q ( s t , a t ) Q(s_t,a_t) Q(st,at)多考虑了动作 a t a_t at,假设我们现在在 s t s_t st状态下只考虑一种动作 a t a_t at,那么之前的推导过程需要把 ( s t ) (s_t) (st)变成 ( s t , a t ) (s_t,a_t) (st,at)即可,基本不需要做什么改变,因此上面的公式也是可以类似推导的。
-
形式2:
Q π ( s t , a t ) = E [ R t + γ Q π ( S t + 1 , A t + 1 ) ∣ S t = s t , A t = a t ] \begin{aligned} Q_\pi(s_t,a_t)=\mathbb{E}[R_t+{\gamma}Q_\pi(S_{t+1},A_{t+1})|S_t=s_t,A_t=a_t] \end{aligned} Qπ(st,at)=E[Rt+γQπ(St+1,At+1)∣St=st,At=at]- 相比于形式1,其实就是把 V t + 1 V_{t+1} Vt+1展开了,因为 V ( s t + 1 ) = E A t ( Q π ( S t , A t ) ) V(s_{t+1})=E_{A_t}(Q_\pi(S_t,A_t)) V(st+1)=EAt(Qπ(St,At))
-
-
贝尔曼最优方程
- 最优贝尔曼方程是对应了”最优动作函数“的状态转移:
Q ⋆ ( s t , a t ) = E S t + 1 [ R t + γ ⋅ max A ∈ A Q ⋆ ( S t + 1 , A ) ∣ S t = s t , A t = a t ] Q_{\star}\big(s_{t},a_{t}\big) = \mathbb{E}_{S_{t+1}}\bigg[R_{t}+\gamma\cdot\max_{A\in\mathcal{A}}Q_{\star}\big(S_{t+1},A\big)\bigg|S_{t}=s_{t},A_{t}=a_{t}\bigg] Q⋆(st,at)=ESt+1[Rt+γ⋅A∈AmaxQ⋆(St+1,A) St=st,At=at]
其中, Q ⋆ ( s t , a t ) Q_{\star}\big(s_{t},a_{t}\big) Q⋆(st,at)对应最优动作函数。这个的推导比较容易,在上一个东西价值函数版贝尔曼方程的基础上,首先把策略 π \pi π换成最优的策略 π ∗ \pi^* π∗: Q π ∗ ( s t , a t ) = E [ R t + γ Q π ∗ ( S t + 1 , A t + 1 ) ∣ S t = s t , A t = a t ] Q_{\pi^*}(s_t,a_t)=\mathbb{E}[R_t+{\gamma}Q_{\pi^*}(S_{t+1},A_{t+1})|S_t=s_t,A_t=a_t] Qπ∗(st,at)=E[Rt+γQπ∗(St+1,At+1)∣St=st,At=at],而最优策略 π ∗ \pi^* π∗必然会选出最优的动作,因此 A t + 1 A_{t+1} At+1一定会是选出来的最优动作。
- 最优贝尔曼方程是对应了”最优动作函数“的状态转移:
补充
- 全期望公式证明
E ( X ) = ∑ i = 1 n x i P ( x i ) < 期望的定义 > = ∑ i = 1 n [ x i ∑ k = 1 m P ( x i , Y k ) ] < 将 P ( x i ) 展开 > = ∑ i = 1 n [ x i ∑ k = 1 m P ( x i ∣ Y k ) P ( Y k ) ] < 条件期望的定义 > = ∑ i = 1 n ∑ k = 1 m [ x i P ( x i ∣ Y k ) P ( Y k ) ] < 交换求和次序 > = ∑ k = 1 m [ ∑ i = 1 n x i P ( x i ∣ Y k ) ] P ( Y k ) < 对 i 求和时, Y k 相当于常量 > = ∑ k = 1 m E ( X ∣ Y k ) P ( Y k ) < 期望的定义 > = E ( E ( X ∣ Y ) ) < 期望的定义 > \begin{aligned} &E\left(X\right) \\ &=\sum_{i=1}^nx_iP(x_i) <期望的定义>\\ &=\sum_{i=1}^n\left[x_i{\sum_{k=1}^mP\left(x_i,Y_k\right)}\right] <将P(x_i)展开>\\ &=\sum_{i=1}^n\left[x_i{\sum_{k=1}^mP\left(x_i|Y_k\right)P\left(Y_k\right)}\right] <条件期望的定义>\\ &=\sum_{i=1}^n{\sum_{k=1}^m[x_iP\left(x_i|Y_k\right)P\left(Y_k\right)]} <交换求和次序>\\ &=\sum_{k=1}^m{[\sum_{i=1}^nx_iP\left(x_i|Y_k\right)]P\left(Y_k\right)} <对i求和时,Y_k相当于常量>\\ &=\sum_{k=1}^m{E(X|Y_k)P\left(Y_k\right)} <期望的定义>\\ &=E(E(X|Y))<期望的定义>\\ \end{aligned} E(X)=i=1∑nxiP(xi)<期望的定义>=i=1∑n[xik=1∑mP(xi,Yk)]<将P(xi)展开>=i=1∑n[xik=1∑mP(xi∣Yk)P(Yk)]<条件期望的定义>=i=1∑nk=1∑m[xiP(xi∣Yk)P(Yk)]<交换求和次序>=k=1∑m[i=1∑nxiP(xi∣Yk)]P(Yk)<对i求和时,Yk相当于常量>=k=1∑mE(X∣Yk)P(Yk)<期望的定义>=E(E(X∣Y))<期望的定义>