文章目录
前言
未来希望可以将运筹学和RL结合,所以今天开始学习一下强化学习的相关知识,之前几乎零基础,只有一些机器学习的学习经验 a little
一、Reinforcement Learning简介
什么是强化学习?
强化学习是机器学习的一大分支。强化学习是让计算机实现不断尝试来从错误中学习从而找到规律达成目标的一种算法的统称。比如 阿尔法狗等。就是让计算机不断地从新环境中学习来更新自己的准则,不断进步的过程。(有点类似监督学习的神经网络,但是强化学习是没有label标签的,但是会虚拟的打分)具有分数导向性。
RL 常用算法
价值导向 | 直接选择 | 想象环境学习 |
---|---|---|
Q learning | Policy Gradients | model based RL |
Sarsa | ||
Deep Q network |
二、强化学习方法分类
1.理解环境(model based)/不理解环境(model free)
model based 相较于 model free 需要为虚拟世界建模,拥有“想象力”,而常见的model free 算法有 Q learning ,sarsa 和 policy gradient。
2.基于概率(policy-based)/基于价值(value-based)
基于概率的模型适合连续性,且具有选择性(依靠概率分布选择),即概率最大的key不一定被选到(policy gradients)
但是基于价值则具有唯一性,拥有都选择value 最大的key。(Q learning ,sarsa)
3.回合更新(Monte Carlo update)/单步更新(temporal- difference update)
每一轮进行更新(类似于批处理)
policy gradients
monte-carlo learning
每一步都要更新(边游戏边学习)(现在更常用)
Q learning
sarsa
4. 在线学习(on-policy)/ 离线学习(off - policy)
在线学习
sarsa
sarsa(λ)
离线学习
Q Learning
deep q network
三 、知识准备
在机器学习领域,更多的人倾向于基于Python来完成算法,我们需要的知识贮备有:
numpy,pandas:数据处理分析
matplotlib:绘图误差
tkinter/openai gym:编写模拟环境
tensorflow:神经网络
下一章介绍Q Learning 算法
欢迎大家关注我们的公众号:运小筹