当前位置: 首页 > ai >正文

强化学习原理入门-2马尔科夫决策过程

2.1 马尔科夫决策过程理论讲解

强化学习的基本原理是:智能体和环境进行交互。

        从强化学习的基本原理可以看出它与其他机器学习算法如监督学习和非监督学习的一些基本差别。在监督学习和非监督学习中,数据是静态的、不需要与环境进行交互,比如图像识别,只需要给出足够的差异样本,将数据输入深度网络中进行训练即可。然后,强化学习的学习过程是动态的、不断交互的过程,所需要的数据也是不断与环境进行交互的。所以,强化学习涉及的对象更多,比如动作、环境、状态状态概率和回报函数等。

        强化学习更像是人的学习过程,人类通过与环境交互,学会走路、奔跑、劳动;人类与大自然,与宇宙的交互创造了现代文明。另外,深度学习如图像识别和语音识别解决的是感知问题,强化学习解决的是决策问题

        马尔科夫决策过程(MDP)是一套可以解决大部分强化学习问题的框架。

        下面介绍 马尔科夫性-->马尔科夫过程-->马尔科夫决策。

1.马尔科夫性

        指系统的下一个状态s_{t+1}仅与当前状态s_{t}有关,而与以前的状态无关。

        定义:状态s_{t}马尔科夫的,当且仅当P[s_{t+1}|s_{t}]=P[s_{t+1}|s_{1},...,s_{t}].

定义中可以看到,当前状态s_{t}其实是蕴含了所有相关的历史信息s_{1},...,s_{t},一旦当前状态已知,历史信息将会被丢弃。

        马尔科夫性描述的是每个状态的性质,但真正有用的是描述一个状态序列。数学中用来描述随机变量序列的学科叫随机过程。若随机变量序列中的每个状态都是马尔科夫的,则称此随机过程为马尔科夫随机过程。

2.马尔科夫过程

        马尔科夫过程是一个二元组(S,P),且满足:S是有限状态集合,P是状态转移概率。状态转移概率矩阵为P

                              P=\begin{bmatrix} P_{11}& ...& P_{1n}\\ ...& ...& ...\\ P_{n1}& ...& P_{nn}\\ \end{bmatrix}

下面举一个列子进行阐述。

一个学生的7中状态{娱乐,课程1,课程2,课程3,考过,睡觉,论文}。一天可能的状态序列为:

课1-课2-课3-考过-睡觉

课1-课2-睡觉

以上状态序列成为马尔科夫链。当给定状态转移概率时,从某个状态出发存在多个马尔科夫链。对于游戏或机器人,马尔科夫过程不足以描述其特点,因为不管是游戏还是机器人,他们都是通过动作与环境进行交互,并从环境中获得奖励,而马尔科夫过程中不存在动作和奖励。将动作(策略)和回报考虑在内的马尔科夫过程称为马尔科夫决策过程。

3.马尔科夫决策过程

马尔科夫决策过程是由元组(S,A,P,R,\gamma)描述,其中

S 为有限的状态集

A 为有限的动作集

P 为状态转移概率

R 为回报函数

\gamma 为折扣因子,用来计算累积回报。

跟马尔科夫过程不同的是,马尔科夫决策过程的状态转移概率是包含动作的,即

P_{ss'}^{a}=P[S_{t+1}=s'|S_{t}=s,A_{t}=a]

图2-3为马尔科夫决策过程的示例图,图2-3与图2-2相对应,在图2-3中,学生有五个状态,状态集S为{s_{1},s_{2},s_{3},s_{4},s_{5}},动作集为A={玩,退出,学习,发表,睡觉},图2-3中,立即回报用R标记。

强化学习的目标是给定一个马尔科夫决策过程,寻找最优策略。所谓策略就是指状态到动作的映射,策略常用符号\pi表示,它是指给定状态s时,动作集上的一个分布,即

\pi (a|s)=p[A_{t}=a|S_{t}=s]                            (2.1)

        这个公式中,策略的定义是用条件概率分布给出的。概率在强化学习中的重要作用,强化学习的策略往往是随机策略。采用随机策略的好处是可以将探索耦合到采样的过程中。所谓探索是指机器人尝试其他的动作以便找到更好的策略。其次,在实际应用中,存在各种噪声,这些噪声大都付出从正态分布,如何去掉噪声也用到概率的知识。

        公式(2-1)的含义是:策略\pi在每个状态s指定一个动作概率。如果给出的策略\pi是确定性的,那么策略\pi在每个状态s指定一个确定的动作。

        例如一个学生的策略\pi _{1}(玩|s_{1})=0.8,是指该学生在状态s1时玩的概率为0.8,不玩的概率为0.2,显然这个学生更喜欢玩。

         另一个学生的策略\pi _{2}(玩|s_{1})=0.3,是指该学生在状态s1时玩的概率为0.3,不玩的概率为0.7,显然这个学生不喜欢玩。

依次类推,每个学生都有自己的策略。强化学习是找到最优的策略,这里的最优是指得到的总回报最大。

        当给定一个策略\pi时,我们就可以计算累积回报了,首先定义累积回报:

            (2-2)

        当给定义一个\pi时,假设从状态s_{1}出发,学生状态序列可能为

        s1->s2->s3->s4->s5

        s1->s2->s3->s5

        ...

        在策略\pi下,利用公式2-2可以计算累积回报G_{1},此时G_{1}有多个可能值。由于策略\pi是随机的,因此累积回报也是随机的。利用累积回报来衡量状态s1的价值。然而累积回报G1是个随机变量,不是确定的值,但其期望是确定的,可以作为状态值函数的定义。

(1)状态值函数

        当智能体采用策略\pi时,累积回报服从一个分布,累积回报在状态s处的期望值定义为状态-值函数。

(2-3)

注意:状态值函数与策略是对应的,这是因为策略决定了累积回报G的状态分布.

        图2.4中空心圆圈中的值为该状态的值函数,如\nu _{\pi}(s)=-2.3。

        相应地,状态-行为值函数为

(2-4)

公式2-3和公式2-4是定义计算式,但实际编程中并不按定义式。

(2)状态值函数与状态-行为值函数的贝尔曼方程。

同样,可以得到状态-动作值函数的贝尔曼方程。

具体推导过程这里省略,看原书P24-P26.

2.2 MDP中的概率学基础讲解

(1)随机变量

(2)概率分布

(3)条件概率

(4)期望和方差

(5)方差

最常用的概率分布也就是最常用的随机策略。

(1)贪婪策略

一个确定性策略,只有在使得动作值函数q*(s,a)最大的动作处取概率1,选其他动作的概率为0.

(2)\varepsilon-greedy策略

是强化学习最基本最常用的策略。

(3)高斯策略

高斯策略也平衡了利用和探索,其中利用由确定性部分完成,探索由\varepsilon完成。高斯策略在连续系统的强化学习中应广泛。

(4)玻尔兹曼分布

2.3 基于gym的MDP实例讲解

http://www.xdnf.cn/news/12078.html

相关文章:

  • sentinel规则持久化
  • Postgresql常用函数操作
  • 详解如何通过playwright的 page.eval_on_selector_all() 方法来爬取网页中link进而实现爬虫
  • 动态规划-1035.不相交的线-力扣(LeetCode)
  • Index-TTS-1.5:多模态AI语音生成的革新突破
  • AI驱动游戏开发:Unity与ML-Agents结合
  • App使用webview套壳引入h5(三)——解决打包为app后在安卓机可物理返回但是在苹果手机无法测滑返回的问题
  • LeetCode 461.汉明距离
  • 机器学习监督学习实战四:九种回归算法对波士顿房价数据进行回归预测和评估方法可视化
  • Claude 写 PHP 项目的完整小白教程
  • GO协程(Goroutine)问题总结(待续)
  • 基于西门子S7-200 PLC、KEPServerEx、sql server2012 的闸门群OPC UA数据采集
  • docker快速部署OS web中间件 数据库 编程应用
  • FPGA点亮ILI9488驱动的SPI+RGB接口LCD显示屏(一)
  • 嵌入式学习之系统编程(十)网络编程之TCP传输控制协议
  • python打卡day45
  • OpenCV 图像通道的分离与合并
  • SpringBoot3项目架构设计与模块解析
  • CIFAR10的使用
  • 【Redis】Redis 的常见客户端汇总
  • 四六级监考《培训学习》+《培训考试》
  • linux 串口调试命令 stty
  • HTML中各种标签的作用
  • 储能数字化的第一步,是把直流能量“看清楚
  • 【Qt】之【Get√】【Bug】通过值捕获(或 const 引用捕获)传进 lambda,会默认复制成 const
  • 二叉树-104.二叉树的最大深度-力扣(LeetCode)
  • (头歌作业)-6.5 幻方(project)
  • 【大模型】MCP是啥?它和点菜、做菜、端菜有啥关系?
  • 【python深度学习】Day 45 Tensorboard使用介绍
  • [蓝桥杯]摆动序列