强化学习介绍

article/2025/8/22 7:21:11

文章目录

  • 1 什么是强化学习?
  • 2 强化学习的特征与特点
  • 3 强化学习的要素与框架
    • 3.1 Policy
    • 3.2 Reward
    • 3.3 Value
    • 3.4 model
    • 3.5 Return(cumulative future reward) 回报|未来累积回报
    • 3.6 Discounted return 折扣回报
  • 4 强化学习流程
  • 5 例子 马里奥 (一定要看)
    • 5.1 定义
    • 5.2 policy
    • 5.3 reward
    • 5.4 状态转移 state transition
    • 5.5 agent与环境交互
  • 6 强化学习的随机性
    • 6.1 动作随机性
    • 6.2 状态转移随机性

1 什么是强化学习?

监督学习:让系统在有标签训练集上按照每个样本对应的标签推断出相应的反馈机制,进而在未知标签上能够计算一个尽可能正常的结果

无监督学习:让系统在无标签训练集上发现隐藏的结构,自动对输入资料进行分类或分群。

强化学习:是除监督学习和无监督学习的第三种机器学习范式

在这里插入图片描述

强化学习(Reinforcement Learning, RL,评价学习、增强学习)是机器学习的范式和方法论之一,用于描述和解决agent与环境交互中,通过学习策略以达到最大化或实现特定目标的问题。

强化学习:

1、强化学习是机器学习的一种方法。

2、强化学习是agent与环境之间的交互。

3、强化学习的目标是追求最大回报或特定目标。

强化学习是一种学习如何从状态映射到行为获取奖励最大的学习机制,agent需要不断从环境中进行实验,通过环境给予的反馈(award)来不断优化状态-行为的对应关系。


2 强化学习的特征与特点

强化学习的两个特征:反复实验(trail and error)和延迟奖励(delay reward)。

强化学习的特点:

1、没有监督者,只有一个奖励信号。

2、延迟反馈,而不是即时反馈。

3、具有时间序列性质。

4、agent的行为影响后续数据。


3 强化学习的要素与框架

强化学习的要素:策略(policy)、奖励(award)、价值(value)、环境/模型(model)

3.1 Policy

policy定义一个从环境状态和agent状态行为映射。policy是强化学习的核心,

1、policy定义agent的行为。

2、policy是状态到行为的映射。

3、policy是具体的映射或随机分布。

3.2 Reward

Reward定义了强化学习的目标在每个时间步骤内,环境向强化学习发出的标量值为奖励,奖励能定义agent的好坏。

1、奖励是一个标量的反馈信号。

2、奖励表示在某一步骤agent的表现如何。

3、agent的任务就是一个时间段内积累的总奖励值最大。

3.3 Value

价值函数是对长期收益的衡量,其从一个长期的角度评判当前行为的收益

1、价值函数是对未来奖励的预测。

2、价值函数可以评估状态的好坏。

3、价值函数的计算需要对状态之间的转移进行分析。

3.4 model

强化学习有基于模型(model-based)和不基于模型(model-free)两种方法。model是对环境的模拟。

model-based:当给出状态和行为后,通过model就可以预测接下来的状态和对应的奖励。

model-free:通过对策略和价值函数分析进行学习。

1、模型能预测环境下一步的表现。

2、表现具体由预测的状态和奖励来反应。

3.5 Return(cumulative future reward) 回报|未来累积回报

t时刻的return叫做 U t U_t Ut

把t时刻开始未来所有的奖励都累加起来,一直加到游戏结束最后一个奖励 U t = R t + R t + 1 + R t + 2 + . . . R n U_t = R_t+R_{t+1}+R_{t+2}+...R_n Ut=Rt+Rt+1+Rt+2+...Rn

3.6 Discounted return 折扣回报

折扣率为 γ , γ ∈ ( 0 , 1 ) \gamma,\gamma ∈ (0,1) γγ(0,1),需要自定义。

现在奖励与未来奖励对比,未来奖励具有不确定性,于是将未来的奖励打一个折扣。

U t = R t + γ 1 R t + 1 + γ 2 R t + 2 + . . . γ n R n U_t = R_t+\gamma^1 R_{t+1}+\gamma^2R_{t+2}+...\gamma^nR_n Ut=Rt+γ1Rt+1+γ2Rt+2+...γnRn

4 强化学习流程

1.action
2.reward
3.observation
agent state
model

1、首先agent根据当前状态 S t a S_t^a Sta做出一个行为 A t A_t At对model产生一个影响

2、然后model对agent反馈一个奖励信号 R t R_t Rt

3、此时agent从model中发现一些信息 O t O_t Ot

4、最后agent进入一个新状态,依次类推。


5 例子 马里奥 (一定要看)

以马里奥游戏为例子:

5.1 定义

state为环境状态,当前状态就是游戏此刻的画面。

action为向左、向右、上挑三个动作。

agent就是马里奥(在一个应用中谁做动作,谁就是agent)

model是游戏程序。

5.2 policy

policy为 π \pi π函数,其根据观测到的state进行决策,控制agent运行。 π ( a ∣ s ) = P ( A = a ∣ S = s ) \pi(a|s)=P(A=a|S=s) π(as)=P(A=aS=s),在当前状态 s s s下,做出动作 a a a的概率密度。

将当前state(画面)输入到policy函数 π \pi π中,此刻会计算出向左、向右、向上的概率,根据此概率选择一个action,或者根据一个确定的policy选择action。

例如: a = ′ l e f t ′ o r ′ r i g h t ′ o r ′ u p ′ a ='left' \ or\ 'right'\ or\ 'up' a=left or right or up

π ( l e f t ∣ s ) = 0.2 \pi(left|s)=0.2 π(lefts)=0.2

π ( r i g h t ∣ s ) = 0.1 \pi(right|s)=0.1 π(rights)=0.1

π ( u p ∣ s ) = 0.7 \pi(up|s)=0.7 π(ups)=0.7

5.3 reward

agent做出一个动作,游戏就会给出一个奖励(该奖励需要自定义),马里奥每吃到一个金币,奖励 R + = 1 R+=1 R+=1,强化学习的目标就是使获得的奖励总和尽量高。

5.4 状态转移 state transition

当前state下,马里奥每做一个动作,游戏就会给出一个新状态,这个过程叫状态转移,状态转移可以是固定的或随机的。

状态转移p函数: p ( s ′ ∣ s , a ) = P ( S ′ = s ∣ S = s , A = a ) p(s'|s,a)=P(S'=s|S=s,A=a) p(ss,a)=P(S=sS=s,A=a)

5.5 agent与环境交互

agent是马里奥,当前状态是 S t S_t St,动作是 a t a_t at

agent根据 S t S_t St做出一个 a t a_t at,model根据 a t a_t at会反馈奖励reward。



6 强化学习的随机性

6.1 动作随机性

policy函数 π \pi π控制agent,给定当前状态S,按照policy输出概率随机抽样,获得动作action。

State
left
π(left|s)=0.2
up
π(up|s)=0.7
right
π(right|s)=0.1

6.2 状态转移随机性

当agent做出动作后,model用状态转移函数p算出概率,然后使用随机抽样得到下一状态S‘。

State
agent
State1'
p(State1'|s,a)=0.3
State2'
p(State2'|s,a)=0.7

http://chatgpt.dhexx.cn/article/Djsuxm8d.shtml

相关文章

强化学习(Q-learning)

强化学习RF简介 强化学习是机器学习中的一种重要类型,一个其中特工通过 执行操作并查看查询查询结果来学习如何在环境中表现行为。 机器学习算法可以分为3种:有监督学习(Supervised Learning)、无监督学习(Unsupervi…

强化学习简介

强化学习简介 强化学习(Reinforcement Learning,RL)是机器学习中的一个领域,是学习做什么(即如何把当前的情景映射成动作)才能使得数值化的收益最大化,学习者不会被告知应该采取什么动作,而是必须自己通过尝试去发现哪…

强化学习(一):简介——什么是强化学习?

本文将介绍强化学习的基本含义,了解什么是强化学习、强化学习的概念与基本框架以及强化学习中常见的问题类型。 什么是强化学习? 强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习&#xff0c…

机器学习算法(三十):强化学习(Reinforcement Learning)

目录 1 简介 1.1 什么是强化学习 1.2 强化学习的主要特点 1.3 强化学习的组成部分 2 强化学习训练过程 3 强化学习算法归类 3.1 Value Based 3.2 Policy Based 3.3 Actor-Critic 3.4 其他分类 4 EE(Explore & Exploit)探索与利用 5 强化…

强化学习入门这一篇就够了!!!万字长文

强化学习 强化学习入门这一篇就够了万字长文带你明明白白学习强化学习... 强化学习入门这一篇就够了 强化学习前言一、概率统计知识回顾1.1 随机变量和观测值1.2 概率密度函数1.3 期望1.4 随机抽样 二、强化学习的专业术语2.1 State and action2.2 policy-策略2.3 reward2.4 状…

关于gensim的一些使用记录

NLP神器 Gensim是一款开源的第三方Python工具包,用于从原始的非结构化的文本中,无监督地学习到文本隐层的主题向量表达。 支持包括TF-IDF,潜在语义分析(Latent Semantic Analysis,LSA),潜狄利克…

gensim官方文档实践笔记

中文文档比机翻还颠三倒四, 所以还是自己记录一下, 顺便加一些注解. 目录 文档document 语料库Corpus 语料库作用 语料库预处理 词汇编号 向量Vector 方法1: 特征向量(vector of features) 方法2: doc2bow 模型Model 语料库和向量空间 字符串转向量 语料库流Corpu…

gensim安装

输入以下命令即可: pip install gensim -i http://pypi.douban.com/simple --trusted-host pypi.douban.com以下是过程: 尝试1:直接在anaconda3上面搜索出来安装 速度太慢,失败 尝试2:更换pip源,如下所示…

Gensim:一款进行文本主题识别的 Python 工具库

从大量文本中自动提取人们谈论的主题(主题识别)是自然语言处理的基本应用之一。大型文本示例包括社交媒体订阅、消费者对酒店、电影和其他业务的评价、用户评论、新闻和客户发来的邮件。 在本中,将使用LDA 从 20Newsgroup 数据集 中提取主题的实战案例。欢迎深入探…

gensim 快速入门 Word2Vec

文章目录 gensim的核心概念Word2Vec简介Word2Vec初试探将单词可视化 训练自己的Word2Vec模型 gensim的核心概念 Document: 文档。可以是一个一句话,或者一段话Corpus: 文档的集合Vector: 文档向量。将文档通过数学向量表示。Model: 模型。将文档转换为向量的模型。…

vue获得焦点事件处理函数中控制其失去焦点,但是失去焦点后该获得焦点事件一直被触发

当input获取焦点的时候需要判断另一个操作是否已完成,否则需要引导用户先去执行另一个操作,是则允许输入。 另一个操作跟当前操作是在同一个页面上,无法通过“下一步”进行控制。 解决思路是: 当input获取焦点的时候&#xff0…

div失去焦点事件onblur()无效

初学js事件&#xff0c;想做一个点击时变红&#xff0c;取消聚焦时变白的div&#xff0c;于是我这样写代码&#xff1a; <div style"width: 100px;height: 50px;border: 1px solid;"></div> <script>let div document.getElementsByTagName(&quo…

input失去焦点事件和点击事件冲突的解决思路

首先说一下应用场景 el-input框为禁用状态时&#xff0c;点击取消禁用&#xff0c;并显示后方两个按钮&#xff0c; 点击绿色按钮保存input框当前值&#xff0c;失去焦点或点击红色框时恢复改变前的值 思路就是不在input上的失去焦点方法&#xff0c;而是手动调用失去焦点方法…

input中blur失去焦点事件与点击事件冲突

场景&#xff1a; 当在输入框里输入手机号的时候&#xff0c;输入框高亮&#xff0c;并且关闭按钮显示&#xff0c;input失焦时关闭按钮隐藏 现象&#xff1a; 遇到的问题是&#xff0c;当我们点击关闭按钮清空input框数据时&#xff0c;发现只是关闭按钮隐藏了&#xff0c…

div失去焦点事件onblur()不触发解决方法

需求&#xff1a; 做一个弹出框组件&#xff0c;文字点击时会在文字下方弹出一个框&#xff0c;在vue3中监听div元素的blur事件发现事件并不会在div失去焦点时触发 解决方法 bug原因&#xff1a;在vue中div默认不触发事件,除非将元素添加tabindex"-1"属性才会触发…

JavaScript学习(二十一)——表单相关事件(焦点事件)

表单事件实际上就是对元素获得或失去焦点的动作进行控制。可以利用表单事件来改变获得或失去焦点的元素样式&#xff0c;这里所指的元素可以是同一类型&#xff0c;也可以是多个不同类型的元素。 获取焦点与失去焦点事件 获得焦点事件(onfocus) 是当某个元素获得焦点时触发事件…

特征工程 - 数据分析 - 峰度 and 偏度

特征工程 - 数据分析 - 峰度 and 偏度 偏度峰度 偏度 偏度&#xff08;Skewness&#xff09;用来描述数据分布的对称性。 当偏度 <0 时&#xff0c;称为负偏&#xff0c;数据出现左侧长尾&#xff1b;当偏度>0时&#xff0c;称为正偏&#xff0c;数据出现右侧长尾。 正态…

python金融分析小知识(6)——偏度与峰度的计算

Hello 大家好&#xff0c;我是一名新来的金融领域打工人&#xff0c;日常分享一些python知识&#xff0c;都是自己在学习生活中遇到的一些问题&#xff0c;分享给大家&#xff0c;希望对大家有一定的帮助&#xff01; 相信大家在平时的统计分析中&#xff0c;一定会用到数组偏…

使用Excel计算峰度(Kurtosis)和偏度(Skewness)

峰度&#xff08;Kurtosis&#xff09;和偏度&#xff08;Skewness&#xff09; 峰度是描述总体中所有取值分布形态陡缓程度的统计量。计算公式是&#xff1a; 在Excel中的公式是&#xff1a;KURT 因为是与标准正态分布比较&#xff0c;而标准正态分布的四阶矩为3&#xff0c;…

Resnet解读

pytorch的resnet模块在torchvision的models中。 里面可以选择的resnet类型有&#xff1a; _all_列表的每一个resnet都提供了实现的函数&#xff1a; def resnet18(pretrainedFalse, progressTrue, **kwargs):"""Constructs a ResNet-18 model.Args:pretrained …