楼主: 我是超人超
458 3

[其他] 强化学习基本概念 [推广有奖]

  • 0关注
  • 0粉丝

小学生

42%

还不是VIP/贵宾

-

威望
0
论坛币
6 个
通用积分
1.0402
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
50 点
帖子
4
精华
0
在线时间
0 小时
注册时间
2018-8-27
最后登录
2018-8-27

楼主
我是超人超 发表于 2025-11-10 17:31:29 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

强化学习基本概念

1. 核心定义

强化学习(Reinforcement Learning, RL)是机器学习的一个分支,关注智能体(Agent)如何在一系列状态(State)中通过执行动作(Action)来最大化累积奖励(Reward)。

2. 基本要素

智能体(Agent):

  • 学习主体:作出决策的实体
  • 目标:学习最优策略以最大化长期奖励
  • 在你的代码中:DQN智能体选择最佳神经网络模型

环境(Environment):

  • 外部世界:智能体交互的对象,提供状态和奖励
  • 在你的代码中:
    TimeSeriesPredictionEnv

状态(State):

  • 环境描述:当前情况的表示
  • 数学表示:\( s_t \in S \)
  • 在你的代码中:输入特征向量的当前状态

动作(Action):

  • 决策选择:智能体可以执行的操作
  • 数学表示:\( a_t \in A \)
  • 在你的代码中:选择模型类型 {1:LSTM, 2:BiLSTM, 3:GRU}

奖励(Reward):

  • 即时反馈:执行动作后的收益
  • 数学表示:\( r_t = R(s_t, a_t) \)
  • 在你的代码中:基于预测精度的奖励信号

3. 核心概念

策略(Policy):

  • 行为函数:从状态到动作的映射
  • 数学表示:\( \pi(a|s) = P(A_t=a|S_t=s) \)
  • 类型:
    • 确定性策略:\( a = \pi(s) \)
    • 随机性策略:\( \pi(a|s) \)

价值函数(Value Function):

  • 状态价值函数:从状态 \( s \) 开始遵循策略 \( \pi \) 的期望累积奖励
    • 数学表示:\( V^\pi(s) = \mathbb{E}_\pi\left[\sum_{k=0}^\infty \gamma^k r_{t+k+1} \mid S_t = s\right] \)

动作价值函数(Q函数):

  • 在状态 \( s \) 执行动作 \( a \) 后遵循策略 \( \pi \) 的期望累积奖励
    • 数学表示:\( Q^\pi(s,a) = \mathbb{E}_\pi\left[\sum_{k=0}^\infty \gamma^k r_{t+k+1} \mid S_t = s, A_t = a\right] \)

贝尔曼方程(Bellman Equation):

  • Q函数的递归关系
    • 数学表示:\( Q^\pi(s,a) = \mathbb{E}_\pi\left[r_{t+1} + \gamma Q^\pi(S_{t+1}, A_{t+1}) \mid S_t = s, A_t = a\right] \)

4. 主要算法类型

基于值的方法(Value-based):

  • 思想:学习最优价值函数,导出最优策略
  • 代表算法:Q-learning, DQN
  • 在你的代码中:使用DQN算法

基于策略的方法(Policy-based):

  • 思想:直接学习策略函数
  • 代表算法:REINFORCE, PPO

演员-评论家方法(Actor-Critic):

  • 思想:结合值函数和策略梯度
  • 代表算法:A2C, A3C, SAC

5. DQN(深度Q网络)算法

核心创新:

  • 使用神经网络近似Q函数:\( Q(s,a;\theta) \)

经验回放(Experience Replay):

  • 目标网络(Target Network)
  • 损失函数
    • \( L(\theta) = \mathbb{E}\left[(r + \gamma \max_{a'} Q(s',a';\theta^-) - Q(s,a;\theta))^2\right] \)

在你的代码中的体现:

agentOpts = rlDQNAgentOptions(...
'UseDoubleDQN', true, ...
'TargetSmoothFactor', 1e-3, ...
'TargetUpdateFrequency', 100, ...
'ExperienceBufferLength', 1e6, ...
'MiniBatchSize', 256);
    

6. 学习过程

探索 vs 利用(Exploration vs Exploitation):

  • 探索:尝试新动作,发现更好策略
  • 利用:执行已知最优动作,获得奖励
  • 平衡方法:ε-贪婪策略

训练流程:

  • 初始化

网络参数、经验缓冲区

交互:智能体通过与环境互动来收集经验

学习:从积累的经验中取样,调整网络参数

评估:检验当前策略的效果

7. 代码应用

状态空间
obsInfo = rlNumericSpec([f_ 1]); % 输入特征维度

动作空间
actInfo = rlFiniteSetSpec([1 2 3]); % 三种模型选择

奖励设计
基于预测模型的准确性
更高的预测精度 → 更高的奖励

训练目标
学习一个策略,能够依据输入数据特征自动挑选最适宜的预测模型。

8. 强化学习优势

与传统方法的对比

传统方法 强化学习
手动调参 自动学习
固定规则 自适应策略
局部最优 全局优化

9. 数学基础

马尔可夫决策过程(MDP)
强化学习问题通常形式化为MDP,包含:

  • 状态空间 S
  • 动作空间 A
  • 转移概率 P(s′|s,a)
  • 奖励函数 R(s,a)
  • 折扣因子 γ

最优性原理
贝尔曼最优方程:
Q*(s,a) = E[r + γ max_a' Q*(s',a') | s,a]

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:exploitation Exploration environment Experience Prediction

沙发
xujingjun 发表于 2025-11-11 08:55:09

藤椅
tianwk 发表于 2025-11-11 10:40:51
thanks for sharing

板凳
晏几道 发表于 2025-11-11 17:21:39
关注一下

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-5 20:38