强化学习-基础知识

1. 前言

在机器学习中,咱们比较熟知的是监督式学习,非监督学习,此外还有一个大类就是强化学习。强化学习是机器学习的一个重要分支,是多学科多领域交叉的一个产物,它的本质是解决自动进行决策,而且能够作连续决策。算法

2. 强化学习定义

它主要包含五个元素,Agent(智能体),Environment(环境),State(状态),Action(行动),Reward(奖励),强化学习的目标就是得到最多的累计奖励。机器学习

强化学习经典图:函数

image

这张图很好的解释了智能体和环境之间的相互做用。在某个时间步t,智能体处于状态\(s_t\),采起动做\(a_t\)。而后环境会返回一个新的状态\(s_{t+1}\)和一个奖励\(r_{t+1}\)。奖励处于\(t+1\)时间步是由于它是由环境在\(t+1\)的状态\(s_{t+1}\)返回的,所以让它们两个保持一致更加合理。学习

2.1 强化学习例子

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

小孩就是Agent,他试图经过采起Action(即行走)来操纵Environment(行走的表面),而且从一个状态State转变到另外一个状态State(即他走的每一步),当他完成任务的子任务(即走了几步)时,孩子获得Reward(给巧克力吃),而且当他不能走路时,就不会给巧克力。blog

如图所示:io

image

3. 强化学习和监督学习, 非监督学习的区别

image

3.1 强化学习和非监督学习的区别

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

3.2 强化学习和监督学习的区别

监督学习就比如你在学习的时候,有一个导师在旁边指点,他知道怎么是对的怎么是错的,但在不少实际问题中,有成千上万种组合方式的状况,不可能有一个导师知道全部可能的结果。im

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

4. 强化学习的基本概念

  1. State(缩写s)环境的状态,t时刻环境的状态\(s_t\)是它的环境状态集中某一个状态。
  2. Action(缩写a)智能体的动做,t时刻个体采起的动做\(a_t\)是它的动做集中某一个动做。
  3. Reward(缩写r)环境的奖励,t时刻个体在状态\(s_t\)采起的动做\(a_t\)对应的奖励\(r_{t+1}\)会在t+1时刻获得。
  4. Policy(缩写\(\pi\))个体的策略,它表明个体采起动做的依据,即个体会依据策略\(\pi\)来选择动做。最多见的策略表达方式是一个条件几率分布\(\pi(a|s)\), 即在状态s时采起动做a的几率。即\(\pi(a|s)=P(a_t=a|s_t=s)\).此时几率大的动做被个体选择的几率较高。
  5. Value(缩写v)个体在策略\(\pi\)和状态s时,采起行动后的价值,通常用\(v_\pi(s)\)表示。这个价值通常是一个指望函数。虽然当前动做会给一个延时奖励\(r_{t+1}\),可是光看这个延时奖励是不行的,由于当前的延时奖励高,不表明到了\(t+1\),\(t+2\),...时刻的后续奖励也高。好比下象棋,咱们能够某个动做能够吃掉对方的车,这个延时奖励是很高,可是接着后面咱们输棋了。此时吃车的动做奖励值高可是价值并不高。所以咱们的价值要综合考虑当前的延时奖励和后续的延时奖励。价值函数\(v\pi(s)\)通常能够表示为下式,不一样的算法会有对应的一些价值函数变种,但思路相同。
    \[ v_\pi(s)=E_{\pi}(r_{t+1}+\gamma{r_{t+2}}+\gamma^2{r_{t+3}}+...|s_t=s) \]
  6. \(\gamma\)是模型要素,即奖励衰减因子,在[0,1]之间。若是为0,则是贪婪法,即价值只由当前延时奖励决定,若是是1,则全部的后续状态奖励和当前奖励一视同仁。大多数时候,咱们会取一个0到1之间的数字,即当前延时奖励的权重比后续奖励的权重大。
  7. \(P^a_{ss'}\)第七个是环境的状态转化模型,能够理解为一个几率状态机,它能够表示为一个几率模型,即在状态\(s\)下采起动做\(a\),转到下一个状态\(s'\)的几率,表示为\(P^a_{ss'}\)
  8. \(\epsilon\)是探索率,这个比率主要用在强化学习训练迭代过程当中,因为咱们通常会选择使当前轮迭代价值最大的动做,可是这会致使一些较好的但咱们没有执行过的动做被错过。所以咱们在训练选择最优动做时,会有必定的几率\(\epsilon\)不选择使当前轮迭代价值最大的动做,而选择其余的动做。

以上8个就是强化学习模型的基本要素了。固然,在不一样的强化学习模型中,会考虑一些其余的模型要素,或者不考虑上述要素的某几个,可是这8个是大多数强化学习模型的基本要素。

相关文章
相关标签/搜索