强化学习—— Q-Learning 玩 MountainCar 爬坡上山

之前的文章结合理论和实践熟悉了 Q-Learning 的经典算法,这篇文章我们基于 Open AI 的经典 MountainCar 环境。用 python 代码实现 Q-Learning 算法,完成小车爬坡上山的挑战。 同样的,为了方便与读者交流,所有的代码都放在了这里: https://github.com/zht007/tensorflow-practice 1. Gym 环境初始化要...

强化学习—— SARSA 和 SARSA lambda 玩 MountainCar 爬坡上山

Image from unsplash.com by Jonatan Pie 上一篇文章我们介绍了用 Q-learning 的算法完成了小车爬坡上山的游戏,这篇文章我们来讲讲如何用 SARSA 算法完成同样挑战。 1. Q-Learning 和 SARSA 异同Q - Learning 和 SARSA 有很多相似之处,他们均属于单步Temporal Difference (时间差分TD(0...

强化学习——MC(蒙特卡洛)玩21点扑克游戏

通过理论和实战,我们知道,在已知的MDP环境下,可以用动态规划(DP)的方法来获得最佳策略,指导智能体(Agent)行动。DP方法要求环境是已知的,然而实际上我们会遇到更多未知的环境,这个时候就需要用其他方法了。之前的文章介绍过MC和TD (Temporal-Defference) 的理论,这篇文章就用MC方法来玩21点扑克牌游戏。 同样的,为了方便与读者交流,所有的代码都放在了这里: ht...

强化学习——Q-Learning SARSA 玩Carpole经典游戏

Image from unsplash.com by Ferdinand Stöhr 前文我们讲了如何用Q-learning 和 SARSA 玩推小车上山的游戏,这篇文章我们探讨一下如何完成Carpole平衡杆的游戏。 同样的,为了方便与读者交流,所有的代码都放在了这里: https://github.com/zht007/tensorflow-practice 1. 环境分析关于cart...

强化学习实战——Q-Learing和SASAR悬崖探宝

image source from unsplash.com by Daniel Cheung 之前我们介绍了Q-learning和SASAR算法的理论,这篇文章就理论结合实际用Q-learning 和SASAR算法指导智能体,完成悬崖探宝任务。 同样的,为了方便与读者交流,所有的代码都放在了这里: https://github.com/zht007/tensorflow-practice...

强化学习实战——动态规划(DP)求最优MDP

image source from unsplash by Stijin te Strake 之前的文章介绍了用动态规划(DP: Dynamic Programming)求解最优MDP的理论。DP求解最优MPD有两个方法,一是策略迭代(Policy Iteration)**,另一个就是值迭代(Value Iteration)**。本篇文章就用Python编程实践这个理论。 同样的,为了方...

强化学习:自动驾驶——Carla 模拟器简介

自动驾驶是机器学习的一个重要的应用领域,作为普通学习者,我们是否可以运用自己学到的机器学习方法训练自动驾驶模型,完成自动驾驶的任务呢?是否需要一辆真实的汽车和真实的马路环境呢? 对于普通学习者来说,我们当然没有必要去驾驶真实的汽车。使用模拟器可以大大降低自动驾驶研究的门槛,这篇文章我们就简单地介绍一下 Carla 这个开源的用于自动驾驶研究的开源模拟器。 1. CARLA 简介Carla 是...

Tensorflow入门——Eager模式像原生python一样训练模型

image source from unsplash.com by Sergio souza 众所周知,Tensorflow入门之所以困难,与其采用的Graph 和 Session 模式有关,这与原生的 Python 代码简单、直观的印象格格不入。同时,由于计算仅仅发生在Session里面,所以初始化参数和变量的时候没办法将结果打印出来,以至于调试起来也十分困难。 当然Google官方也意...

Tensorflow入门——Keras处理分类问题,

Tensorflow 和 Keras 除了能处理前一篇文章提到的回归(Regression,拟合&预测)的问题之外,还可以处理分类(Classfication)的问题。 这篇文章我们就介绍一下如何用Keras快速搭建一个线性分类器或神经网络,通过分析病人的生理数据来判断这个人是否患有糖尿病。 同样的,为了方便与读者交流,所有的源代码都放在了这里: https://github.com...

Tensorflow入门——Keras简介和上手

前面两篇文章介绍了Tensorflow,以及用Tensorflow快速上手一个线性回归的项目。 实际上Tensorflow对于机器学习新手来说并不是很友好,Tensorflow自己也有高层API,比如Estimator和tf.data就相对来说更容易上手。 Keras本来是独立的机器学习框架,但已经逐渐被整合进了Tensorflow, 今天我们就来简单上手一下吧。 同样的,为了方便与读者交流...