diff --git "a/\345\221\250\345\277\227\345\215\216\343\200\212Machine Learning\343\200\213\345\255\246\344\271\240\347\254\224\350\256\260(17)--\345\274\272\345\214\226\345\255\246\344\271\240.md" "b/\345\221\250\345\277\227\345\215\216\343\200\212Machine Learning\343\200\213\345\255\246\344\271\240\347\254\224\350\256\260(17)--\345\274\272\345\214\226\345\255\246\344\271\240.md" index e03c129..d512f56 100644 --- "a/\345\221\250\345\277\227\345\215\216\343\200\212Machine Learning\343\200\213\345\255\246\344\271\240\347\254\224\350\256\260(17)--\345\274\272\345\214\226\345\255\246\344\271\240.md" +++ "b/\345\221\250\345\277\227\345\215\216\343\200\212Machine Learning\343\200\213\345\255\246\344\271\240\347\254\224\350\256\260(17)--\345\274\272\345\214\226\345\255\246\344\271\240.md" @@ -1,12 +1,12 @@ 上篇主要介绍了概率图模型,首先从生成式模型与判别式模型的定义出发,引出了概率图模型的基本概念,即利用图结构来表达变量之间的依赖关系;接着分别介绍了隐马尔可夫模型、马尔可夫随机场、条件随机场、精确推断方法以及LDA话题模型:HMM主要围绕着评估/解码/学习这三个实际问题展开论述;MRF基于团和势函数的概念来定义联合概率分布;CRF引入两种特征函数对状态序列进行评价打分;变量消去与信念传播在给定联合概率分布后计算特定变量的边际分布;LDA话题模型则试图去推断给定文档所蕴含的话题分布。本篇将介绍最后一种学习算法--强化学习。 -#**16、强化学习** +# **16、强化学习** **强化学习**(Reinforcement Learning,简称**RL**)是机器学习的一个重要分支,前段时间人机大战的主角AlphaGo正是以强化学习为核心技术。在强化学习中,包含两种基本的元素:**状态**与**动作**,**在某个状态下执行某种动作,这便是一种策略**,学习器要做的就是通过不断地探索学习,从而获得一个好的策略。例如:在围棋中,一种落棋的局面就是一种状态,若能知道每种局面下的最优落子动作,那就攻无不克/百战不殆了~ 若将状态看作为属性,动作看作为标记,易知:**监督学习和强化学习都是在试图寻找一个映射,从已知属性/状态推断出标记/动作**,这样强化学习中的策略相当于监督学习中的分类/回归器。但在实际问题中,**强化学习并没有监督学习那样的标记信息**,通常都是在**尝试动作后才能获得结果**,因此强化学习是通过反馈的结果信息不断调整之前的策略,从而算法能够学习到:在什么样的状态下选择什么样的动作可以获得最好的结果。 -##**16.1 基本要素** +## **16.1 基本要素** 强化学习任务通常使用**马尔可夫决策过程**(Markov Decision Process,简称**MDP**)来描述,具体而言:机器处在一个环境中,每个状态为机器对当前环境的感知;机器只能通过动作来影响环境,当机器执行一个动作后,会使得环境按某种概率转移到另一个状态;同时,环境会根据潜在的奖赏函数反馈给机器一个奖赏。综合而言,强化学习主要包含四个要素:状态、动作、转移概率以及奖赏函数。 @@ -26,7 +26,7 @@ ![iwYH3D.png](https://s1.ax1x.com/2018/10/18/iwYH3D.png) -##**16.2 K摇摆赌博机** +## **16.2 K摇摆赌博机** 首先我们考虑强化学习最简单的情形:仅考虑一步操作,即在状态x下只需执行一次动作a便能观察到奖赏结果。易知:欲最大化单步奖赏,我们需要知道每个动作带来的期望奖赏值,这样便能选择奖赏值最大的动作来执行。若每个动作的奖赏值为确定值,则只需要将每个动作尝试一遍即可,但大多数情形下,一个动作的奖赏值来源于一个概率分布,因此需要进行多次的尝试。 @@ -37,24 +37,24 @@ 可以看出:上述**两种方法是相互矛盾的**,仅探索法能较好地估算每个动作的期望奖赏,但是没能根据当前的反馈结果调整尝试策略;仅利用法在每次尝试之后都更新尝试策略,符合强化学习的思(tao)维(lu),但容易找不到最优动作。因此需要在这两者之间进行折中。 -###**16.2.1 ε-贪心** +### **16.2.1 ε-贪心** **ε-贪心法基于一个概率来对探索和利用进行折中**,具体而言:在每次尝试时,以ε的概率进行探索,即以均匀概率随机选择一个动作;以1-ε的概率进行利用,即选择当前最优的动作。ε-贪心法只需记录每个动作的当前平均奖赏值与被选中的次数,便可以增量式更新。 ![iwYzUP.png](https://s1.ax1x.com/2018/10/18/iwYzUP.png) -###**16.2.2 Softmax** +### **16.2.2 Softmax** **Softmax算法则基于当前每个动作的平均奖赏值来对探索和利用进行折中,Softmax函数将一组值转化为一组概率**,值越大对应的概率也越高,因此当前平均奖赏值越高的动作被选中的几率也越大。Softmax函数如下所示: ![iwYbge.png](https://s1.ax1x.com/2018/10/18/iwYbge.png) ![iwYqjH.png](https://s1.ax1x.com/2018/10/18/iwYqjH.png) -##**16.3 有模型学习** +## **16.3 有模型学习** 若学习任务中的四个要素都已知,即状态空间、动作空间、转移概率以及奖赏函数都已经给出,这样的情形称为“**有模型学习**”。假设状态空间和动作空间均为有限,即均为离散值,这样我们不用通过尝试便可以对某个策略进行评估。 -###**16.3.1 策略评估** +### **16.3.1 策略评估** 前面提到:**在模型已知的前提下,我们可以对任意策略的进行评估**(后续会给出演算过程)。一般常使用以下两种值函数来评估某个策略的优劣: @@ -82,7 +82,7 @@ ![iwt3r9.png](https://s1.ax1x.com/2018/10/18/iwt3r9.png) -###**16.3.2 策略改进** +### **16.3.2 策略改进** 理想的策略应能使得每个状态的累积奖赏之和最大,简单来理解就是:不管处于什么状态,只要通过该策略执行动作,总能得到较好的结果。因此对于给定的某个策略,我们需要对其进行改进,从而得到**最优的值函数**。 @@ -101,7 +101,7 @@ ![iwtuCT.png](https://s1.ax1x.com/2018/10/18/iwtuCT.png) -##**16.4 蒙特卡罗强化学习** +## **16.4 蒙特卡罗强化学习** 在现实的强化学习任务中,**环境的转移函数与奖赏函数往往很难得知**,因此我们需要考虑在不依赖于环境参数的条件下建立强化学习模型,这便是**免模型学习**。蒙特卡罗强化学习便是其中的一种经典方法。 @@ -113,7 +113,7 @@ ![iwtK8U.png](https://s1.ax1x.com/2018/10/18/iwtK8U.png) -##**16.5 AlphaGo原理浅析** +## **16.5 AlphaGo原理浅析** 本篇一开始便提到强化学习是AlphaGo的核心技术之一,刚好借着这个东风将AlphaGo的工作原理了解一番。正如人类下棋那般“**手下一步棋,心想三步棋**”,Alphago也正是这个思想,**当处于一个状态时,机器会暗地里进行多次的尝试/采样,并基于反馈回来的结果信息改进估值函数,从而最终通过增强版的估值函数来选择最优的落子动作。**