通过代码学 Sutton 强化学习:SARSA、Q-Learning 时序差分算法训练 CartPole( 三 )
class ExpectedSarsaAgent(CartPoleAbstractAgent):
def update_q(self, s: State, a: Action, r, s_next: State, a_next: Action):
self.q[s][a] = self.q[s][a] + self.lr * (r + self.discount * np.dot(self.pi[s_next], self.q[s_next]) - self.q[s][a])
# update pi[s]
best_a = np.random.choice(np.where(self.q[s] == max(self.q[s]))[0])
n_actions = self.env.action_space.n
self.pi[s][:] = self.epsilon / n_actions
self.pi[s][best_a] = 1 - (n_actions - 1) * (self.epsilon / n_actions)
同样的 , Expected SARSA 1000次迭代也能比较好的学到最佳policy 。
文章插图
文章插图
文章插图
点分享
文章插图
文章插图
- 开发自|不妥协不追随 Member’s Mark升级背后的“山姆哲学”
- 计算机学科|机器视觉系统是什么
- 阿尔法|击败李世石的AI公司,又研发出生物版“阿尔法狗”:破解50年生物学难题
- 互联网|政企学界人士西安共议数字经济 产业互联网发展向“西”行
- 高学历|薇娅一夜带货53.2亿,少不了这支高学历团队!
- 教学|机器人教学的目标方案
- 体验|VR\/AR体验、3D打印、机器人“对决”……松江这所中学人工智能创新实验室真的赞
- 操作|[LIVE On]黄敏贤和郑多彬充满心碎的下午:机器操作每次都不能通过测试
- 直播从业者|高三老师监考时开直播,面对质疑还振振有词,怕困没有打扰学生
- 跻身|安师大2学科跻身ESI全球前1%!新增的学科是……