RL是什么
构建一个environment,构建一个带有脑子的Agent(这个脑子指的是q-table也好、neural network也好),让agent与environment交互,得到一批经验(可以是单步更新用的:s a r s' 、也可以是一个episode的一条轨迹s a r ...s a r) 最终 agent的脑子越来越优化,认知到了在当前state下 做哪个action,价值是最大的。或者输出什么动作的概率分布,是最优的。
目的:获得当前state下 最大的未来累计折扣回报
奖励延迟问题是RL的一大特点
奖励延迟:不会每一个action 都告诉你动作对不对。
有的游戏:每个state下,做出action就会获得reward
有的游戏,只在游戏结束时获得 -1/+1 的奖励来判断输赢,这使得你的学习变得异常困难,特别是游戏如果有 1000 万帧或 10 亿帧的时候。
未来reward不能持续都算入,没有尽头,要加入衰减因子,目光看当前+前段一小段,太远了就不看了。
注意看这个G 代表未来总收益,其实就是 r + gama *max( q(s',a))
RL能解决什么问题
0.量化交易
# 自动买卖股票之类的,当前state下,做哪个交易动作action,价值是最大的。
# 延迟收益如何解决?
投资组合、股票买卖(择时切入)
1.推荐系统
如果显示当前页面,点击+1分,跳过划走 -1分 关闭退出-100分
2.游戏决策
王者荣耀的觉悟、AlphaGo
3.机器人操作
四肢跑起来
举出强化学习与有监督学习的异同点
有监督学习
依靠标签y,由:y-predicted_y,从而计算损失函数J,代表我预测的到底准还是不准,而J又是w,b的函数,依靠梯度下降,优化前面神经网络里面的权重w和偏差b,从而使得损失函数J最低,那就是预测越准确。
非监督学习
聚类等
强化学习
监督学习 处理的是认知:图片是什么
强化学习 处理的是决策:这样一个state下 做哪个action
比如DQN:没有真实的标签y,我不能直接判断我的预测值Q(s,a)准不准,只能依靠TD算法,来优化。以q_target = r + gama*max(q(s',a)) 代替标签y。虽然不是真实的标签y,但是比目前的q(s,a)更可靠。 q target - q predict == TD ERROR
强化学习解决的是什么样的问题?
value-base:在当前state下,做哪个动作action,价值是最大的。
policy-base: 在当前state下,输出怎么样的action概率分布,是最佳方案。
目的:使我运行一个episode,获得的reward期望是最大的。