### 概述
强化学习是以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。