强化学习的学习~

### 概述

强化学习是以q-learning为代表的一类算法,通过奖惩机制,将结果反馈到每一步的选择中。

Q表格式:

Q(s,a)就称为Q table,用于存储state、action对应的reward value,格式如下:
    a1  a2
s1  -1  2
s2  3   -2

算法的步骤包括:

Initialize Q(s,a) arbitrarily # 首先通过初始值初始化Q table,注意确定state、action都有哪些。
Repeat (for each episode): # 也就是每个回合
    Initialize s
    Repeat (for each step of episode):
        Choose a from s using policy derived from Q # (e.g. gamma-greedy)
        Take action a, observer r, s' # s' is next action from s
        Q(s,a) <- Q(s,a) + alpha * [r + gamma * max(alpha', Q(s',a')) - Q(s,a)]  # 奖惩机制反馈
        s <- s'
    Unitil s is terminal

### sarsa与sarsa lambda

这是q-learning的一个优化算法,优化的地方在于使用s'代替max(s'),也就是通过特定的下一步决定上一步的策略。但是上一步对下一步产生多大的影响因子,就是sarsa lambda算法,可以通过视频中的机器人走路看脚步的画面理解。

### DQN

这是将q-learning与NN网络结合,也就是当q表中state太多无法存储的时候,通过NN网络生成关于Q表中某些feature的预测作为q表的value。

猜你喜欢

转载自blog.csdn.net/batmancn/article/details/81805212