今天学习了《强化学习精要:核心算法和tensorflow实现》,总结一下学习的知识,希望对自己今后的学习有所帮助。
之前看过一些强化学习方面的论文,当然作为新手对其中的数学推导一直很头疼,不知道为什么要引入这个定理,为什么要进行这样或者那样的操作,今天学习了本书的第二章:数学与极其学习基础,很有启发。
线性代数基础:强化学习中大量的运用到了矩阵的计算,包括(矩阵的转置,对称矩阵的应用,矩阵和向量的相乘)可以自己尝试着实现矩阵相乘、转置等操作。特征值和特征向量的概念也会涉及到,等之后涉及到的时候再做深刻的理解吧。对称矩阵,在我看来就是使次方计算变得简单了。
概率论基础:最重要的概念就是概率和分布,期望和方差。可以使用python实现不同的分布函数:
伯努利分布:
import numpy as np
def bornull(p):
return 1 if np.random.rand()>p else 0
高斯分布:
import numpy as np
def gaussion(mu,std):
return np.random.normal(mu,std)
最大似然估计:为了方便计算,我们假设独立同分布,就得到了连乘函数,目标是得到最大的值。对于连乘函数,使用log函数&