首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【推荐】一文了解强化学习

【推荐】一文了解强化学习

作者头像
顶级程序员
发布2018-05-03 16:20:00
6860
发布2018-05-03 16:20:00
举报
文章被收录于专栏:顶级程序员顶级程序员

摘要

转自:极客头条

强化学习非常重要,原因不只在于它可以用来玩游戏,更在于其在制造业、库存、电商、广告、推荐、金融、医疗等与我们生活息息相关的领域也有很好的应用。

本文结构:

  1. 定义
  2. 和监督式学习, 非监督式学习的区别
  3. 主要算法和类别
  4. 应用举例

1. 定义

强化学习是机器学习的一个重要分支,是多学科多领域交叉的一个产物,它的本质是解决 decision making 问题,即自动进行决策,并且可以做连续决策。

它主要包含四个元素,agent,环境状态,行动,奖励, 强化学习的目标就是获得最多的累计奖励。

让我们以小孩学习走路来做个形象的例子:

小孩想要走路,但在这之前,他需要先站起来,站起来之后还要保持平衡,接下来还要先迈出一条腿,是左腿还是右腿,迈出一步后还要迈出下一步。

小孩就是 agent,他试图通过采取行动(即行走)来操纵环境(行走的表面),并且从一个状态转变到另一个状态(即他走的每一步),当他完成任务的子任务(即走了几步)时,孩子得到奖励(给巧克力吃),并且当他不能走路时,就不会给巧克力。

2. 强化学习与监督式、非监督式学习的区别

在机器学习中,我们比较熟知的是监督式学习,非监督学习,此外还有一个大类就是强化学习:

强化学习和监督式学习的区别:

监督式学习就好比你在学习的时候,有一个导师在旁边指点,他知道怎么是对的怎么是错的,但在很多实际问题中,例如 chess,go,这种有成千上万种组合方式的情况,不可能有一个导师知道所有可能的结果。

而这时,强化学习会在没有任何标签的情况下,通过先尝试做出一些行为得到一个结果,通过这个结果是对还是错的反馈,调整之前的行为,就这样不断的调整,算法能够学习到在什么样的情况下选择什么样的行为可以得到最好的结果。

就好比你有一只还没有训练好的小狗,每当它把屋子弄乱后,就减少美味食物的数量(惩罚),每次表现不错时,就加倍美味食物的数量(奖励),那么小狗最终会学到一个知识,就是把客厅弄乱是不好的行为。

两种学习方式都会学习出输入到输出的一个映射,监督式学习出的是之间的关系,可以告诉算法什么样的输入对应着什么样的输出,强化学习出的是给机器的反馈 reward function,即用来判断这个行为是好是坏。

另外强化学习的结果反馈有延时,有时候可能需要走了很多步以后才知道以前的某一步的选择是好还是坏,而监督学习做了比较坏的选择会立刻反馈给算法。

而且强化学习面对的输入总是在变化,每当算法做出一个行为,它影响下一次决策的输入,而监督学习的输入是独立同分布的。

通过强化学习,一个 agent 可以在探索和开发(exploration and exploitation)之间做权衡,并且选择一个最大的回报。 exploration 会尝试很多不同的事情,看它们是否比以前尝试过的更好。 exploitation 会尝试过去经验中最有效的行为。

一般的监督学习算法不考虑这种平衡,就只是是 exploitative。

强化学习和非监督式学习的区别:

非监督式不是学习输入到输出的映射,而是模式。例如在向用户推荐新闻文章的任务中,非监督式会找到用户先前已经阅读过类似的文章并向他们推荐其一,而强化学习将通过向用户先推荐少量的新闻,并不断获得来自用户的反馈,最后构建用户可能会喜欢的文章的“知识图”。

强化学习已经成为人工智能发展的一个重要方向,Alpha Zero的算法也再一次向世人展示了强化学习的强大之处。而它的孪生兄弟——反向强化学习,也同样具有很强的理论与应用价值。

原文链接:

http://geek.csdn.net/news/detail/201928

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-11-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 顶级程序员 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 定义
  • 2. 强化学习与监督式、非监督式学习的区别
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档