《数据挖掘》第八课笔记
一、强化学习基本概念
强化学习是机器学习领域的一类学习问题,它与常见的有监督学习、无监督学习等的最大不同之处在于,它是通过与环境之间的交互和反馈来学习的。正如一个新生的婴儿一样,它通过哭闹、吮吸、爬走等来对环境进行探索,并且慢慢地积累起对于环境的感知,从而一步步学习到环境的特性使得自己的行动能够尽快达成自己的愿望。再比如,这也同我们学习下围棋的模式类似,我们通过和不同的对手一盘一盘得对弈,慢慢积累起来我们对于每一步落子的判断,从而慢慢地提高自身的围棋水平。由DeepMind研发的AlphaGo围棋程序在训练学习的过程中就用到了强化学习的技术。
二、强化学习的建模
强化学习的基本模型就是个体-环境的交互。
上面的大脑代表我们的算法执行个体(就是能够采取一系列行动并且期望获得较高收益或者达到某一目标的部分),我们可以操作个体来做决策,即选择一个合适的动作(Action)
A
t
A_t
At。比如新生婴儿或者在学习下围棋的玩家。
下面的地球代表我们要研究的环境,它有自己的状态模型,我们选择了动作 A t A_t At后,环境的状态(State)会变,我们会发现环境状态已经变为 S t + 1 S_{t+1} St+1,同时我们得到了我们采取动作 A t A_t At的延时奖励(Reward) R t + 1 R_{t+1} Rt+1。然后个体可以继续选择下一个合适的动作,然后环境的状态又会变,又有新的奖励值。
换句话说,在每个时刻环境和个体都会产生相应的交互。个体可以采取一定的行动(action),这样的行动是施加在环境中的。环境在接受到个体的行动之后,会反馈给个体环境目前的状态(state)以及由于上一个行动而产生的奖励(reward)。
三、强化学习的要素
三个主要要素:
1.环境的状态
S
S
S,
t
t
t时刻环境的状态
S
t
S_t
St是它的环境状态集合中某一个状态。
**2.个体的动作 A A A, t t t时刻个体采取的动作 A t A_t At是它的动作集中某一个动作。
**3.环境的奖励
R
R
R,
t
t
t时刻个体在状态
S
t
S_t
St采取的动作
A
t
A_t
At对应的奖励
R
t
+
1
R_{t+1}
Rt+1会在
t
+
1
t+1
t+1时刻得到。
五个复杂要素:
4.个体的策略(policy)
π
\pi
π,它代表个体采取动作的依据,即个体会依据策略
π
\pi
π来选择动作。最常见的策略表达方式是一个条件概率分布
π
(
a
∣
s
)
\pi (a|s)
π(a∣s),即在状态
s
s
s时采取动作
a
a
a的概率。即
π
(
a
∣
s
)
=
P
(
A
t
=
a
∣
S
t
=
s
)
\pi (a|s) = P({A_t} = a|{S_t} = s)
π(a∣s)=P(At=a∣St=s)。此时概率大的动作被个体选择的概率较高。
5.价值函数
v
π
(
s
)
{v_\pi }(s)
vπ(s),个体在策略
π
\pi
π和状态
s
s
s时,采取行动后的价值(value),一般用
v
π
(
s
)
{v_\pi }(s)
vπ(s)表示。这个价值一般是一个期望函数。虽然当前动作会给一个延时奖励
R
t
+
1
R_{t+1}
Rt+1,但是光看这个延时奖励是不行的,因为当前的延时奖励高,不代表到了
t
+
1
,
t
+
2
,
…
t+1,t+2,…
t+1,t+2,…时刻的后续奖励地高。
比如下象棋,我们可以某个动作可以吃掉对方的车,这个延时奖励是很高,但是接着后面我们输棋了。此时吃车的恸作奖励值高但是价值并不高。
因此我们的价值要综合考虑当前的延时奖励和后续的延时奖励。价值函数
v
π
(
s
)
{v_\pi }(s)
vπ(s)一般可以表示为下式,不同的算法会有对应的一些价值函数变种,但思路相同:
v
π
(
s
)
=
E
π
(
R
t
+
1
+
γ
R
t
+
2
+
γ
2
R
t
+
3
+
…
∣
S
t
=
s
)
{v_\pi }(s) = {{\rm E}_\pi }({R_{{\rm{t + 1}}}}{\rm{ + }}\gamma {R_{t + 2}} + {\gamma ^2}{R_{t + 3}} + \ldots |{S_t} = s)
vπ(s)=Eπ(Rt+1+γRt+2+γ2Rt+3+…∣St=s)
6.奖励衰减因子
γ
\gamma
γ,在[0,1]之间。如果为0,则是贪婪法,即价值只由当前延时奖决定;如果是1,则所有的后续状态奖励
和当前奖励一视同仁。大多数时候,我们会取一个0到1之间的数字,即当前延时奖励的权重比后续奖的权重大。
7.环境的状态转化模型,可以理解为一个概率状态机,它可以表标为一个概率模型,即在状态 s s s下采取动作 a a a,转到下一个状态 s ′ s' s′的概率,表示为 P s s ′ a P_{ss'}^a Pss′a
8.探索率 ε \varepsilon ε,这个比率主要用在强化学习训练迭代过程中,由于我们一般会选择使当前轮迭代价值最大的动作,但是这会导致一些较好的但我们没有执行过的动作被错过。因此我们在训练选择最优动作时,会有一定的概率 ε \varepsilon ε不选择使当前轮迭代价值最大的动作,而选择其他的动作。