Python机器学习笔记——强化学习

来源:互联网 发布:linux 自动启动svn 编辑:程序博客网 时间:2024/06/06 03:46

【啊啊啊强化学习真的啥都不懂……Orz

 

sS:有限状态state集合,s表示某个特定状态

aA:有限动作action集合,a表示某个特定动作

 

马尔可夫决策过程(MarkovDecision Process

智能体(agent)根据当前对环境的观察采取动作获得环境的反馈,并使环境发生改变的循环过程。

 

 

蒙特卡洛强化学习

蒙特卡洛强化学习是一种不依赖于环境建模的学习算法,此类算法称为免模型学习。蒙特卡洛强化学习使用多次采样,然后求取平均累计奖赏作为期望累计奖赏的近似。

 

直接对状态动作值函数Q(s,a)进行估计,每采样一条轨迹,就根据轨迹中的所有“状态-动作”利用下面的公式对来对值函数进行更新。

 

 

Q-learning

蒙特卡洛强化学习算法需要采样一个完整的轨迹来更新值函数,效率较低,此外该算法没有充分利用强化学习任务的序贯决策结构。Q-learning算法结合了动态规划与蒙特卡洛方法的思想,使得学习更加高效。

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

 

深度强化学习将深度学习和强化学习结合在一起,通过深度神经网络直接学习环境(或观察)与状态动作值函数Q(s,a)之间的映射关系,简化问题的求解。

 

Deep Q NetworkDQN

将神经网络(neuralnetwork)和Qlearning结合,利用神经网络近似模拟函数Q(s,a),输入是问题的状态(e.g.图形),输出是每个动作a对应的Q值,然后依据Q值大小选择对应状态执行的动作,以完成控制。

 

卷积神经网络(CNN)

卷积神经网络:把Image矩阵中的每个元素当做一个神经元,那么卷积核就相当于输入神经元和输出神经元之间的链接权重,由此构建而成的网络被称作卷积神经网络。

 

下图展示卷积操作

  • 卷积核:这里的卷积核指的就是移动中3*3大小的矩阵。
  • 卷积操作:使用卷积核与数据进行对应位置的乘积并加和,不断移动卷积核生成卷积后的特征。
  • 池化操作:对卷积的结果进行操作。最常用的是最大池化操作,即从卷积结果中挑出最大值,如选择一个2*2大小的池化窗口(操作如图示) 。

 

 

 

 

 

阅读全文
0 0
原创粉丝点击