Probability & Matrix

三条公式

将概率论和线性代数统一起来

对于下面的Bellman Equation,实际上每个概率我们都可以写成matrix form.

我们分两种情况考虑,一种是普通的probability,另外一种则是条件概率 conditional probability,对于前者:

where

  • , where

对于前两点,我们很容易通过堆叠多个的方法从而向量化:

但是却没有向量化彻底,对于三个分布我们都还没有向量化,而刚好这三个分布又都是条件概率的形式,对于这种特殊的格式,而且我们往往有这样的潜规则:

where and , and we have , so that the matrix P on the right side must have P.sum(dim=1)=[1,1,...,1].T

那么很简单的我们就有如下几个向量化之后的分布

    • where we code it policy, policy.shape=(n,m)
    • where we code it Ps, Ps.shape=(n,m,n), Ps.sum(dim=-1)=[[1,1,...],[1,1,...],...]
    • should recall that , means the set of reward but we vectorize it

那么我们接下来把剩下两条公式也写成matrix-form

where

  • 代表了batch matrix multiply (bmm)
  • 实际上是policy先扩展一个维度变成(n,1,m) @ (n,m,n),这样得出的结果是(n,1,n),再squeeze就得到了(n,n)
    • 另外由于policy.sum(-1)=[1,1,...,1].T, Ps.sum(-1)=[[1,1,...],...],最后得到的结果P_pi其实也是满足 P_pi..sum(-1)=[1,1,...,1](简单展开可证)
  • 的操作是(n,1,m) @ (n,m,k) (k,) \
    • 我们关注点就是原公式的求和符号的下标,下标再执行求和符号之后是会消掉的
    • 矩阵相乘也是一样:
      • (n,m,k)(k,) = (n,m)其实就是k消掉了,此时执行了
      • (n,1,m)@(n,m,1)=(n,1)其实就是m消掉了,此时执行了

一些联想

  • 正好就是我们之后要学习的Q table或者是网络的参数 (我们假设action space大小为m)
  • 这里的代表着环境model,都是环境给的;但这里的下标是为了我们方便看出来是和state有关还是和reward有关,之前的出现的的下标其实是base的意思,也就是说