news 2026/6/25 7:19:07

【强化学习】值函数近似——曲线拟合

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【强化学习】值函数近似——曲线拟合

文章目录

    • 1. 为什么要引入函数近似?
    • 2. 核心概念:价值函数近似
      • 曲线拟合 (Curve Fitting)
    • 3. 函数近似的两大优势
    • 4. 代价

1. 为什么要引入函数近似?

在之前的内容(如 Q-learning, Sarsa)中,我们通常假设状态价值V ( s ) V(s)V(s)或动作价值Q ( s , a ) Q(s, a)Q(s,a)是存储在一个**表格(Table)**中的。

  • 表格型表示 (Tabular Representation):类似于一个查找表(Lookup Table)。
    • 例如:Q QQ-table 的行代表状态s ss,列代表动作a aa,表格中的每个格子存储具体的数值。
    • 程序实现:通常使用数组、矩阵或张量。

🚫 表格型方法的局限性:

  1. 无法处理大规模/连续空间
  • 如果状态空间(State Space)非常大(例如围棋的状态数),或者是连续的(例如机器人关节的角度、速度),表格无法列举所有可能的状态。

  • 即使使用离散化(网格法),网格太密会导致计算量爆炸(维数灾难),太疏又会丢失精度。

  1. 缺乏泛化能力
  • 在表格法中,你必须亲自访问并更新每一个状态-动作对,才能知道它的值
  • 未被访问过的状态,其值永远不会更新。但在现实中,我们希望在学过类似状态后,能推断出未见过的状态的值。

2. 核心概念:价值函数近似

为了解决上述问题,我们不再用表格记录每个点的具体数值,而是用一个函数来拟合这些值。
定义:使用一个带参数w ww的函数v ^ ( s , w ) \hat{v}(s, w)v^(s,w)来近似真实的状态价值v π ( s ) v_\pi(s)vπ(s)

  • v ^ \hat{v}v^:估计值
  • s ss:状态
  • w ww:权重/参数

曲线拟合 (Curve Fitting)

  • 假设有n nn个状态S 1 , S 2 , . . . , S n S_1, S_2, ..., S_nS1,S2,...,Sn,它们对应的真实价值是图上的一系列离散点。
  • 表格法:相当于要记录n nn个点的( x , y ) (x, y)(x,y)坐标,需要大量内存。
  • 函数近似法:
    • 试图画一条直线(或曲线)穿过这些点。
    • 一旦确定了直线的方程(例如y = a x + b y = ax + by=ax+b),我们只需要存储a aab bb这两个参数,就能算出任意s ss对应的价值。
    • 参数数量远小于状态数量(例如 2 个参数 vs 100万个状态),极大地节省了内存。

🧮 数学形式 (线性近似)
最简单的形式是线性函数近似:

v ^ ( s , w ) = ϕ ( s ) T w \hat{v}(s, w) = \phi(s)^T wv^(s,w)=ϕ(s)Tw

  • ϕ ( s ) \phi(s)ϕ(s)- 特征向量 :描述状态s ss特征的向量(例如:[状态数值, 1])。
  • w ww- 权重向量 :我们需要学习和存储的参数。

注:也可以使用非线性函数(如神经网络)来拟合,这属于 Deep RL 的范畴,但基本原理相同:调整w ww使得v ^ \hat{v}v^尽可能接近真实价值。

3. 函数近似的两大优势

✅ 1. 节省存储 (Storage Efficiency)

  • 对比:
    • 表格法:需要存储空间∝ \propto状态数量 (N NN)。
    • 函数法:需要存储空间∝ \propto参数数量维度 (d i m ( w ) dim(w)dim(w))。
  • 当状态无限多时,我们只需要存储有限的几个参数w ww即可。

✅ 2. 泛化能力 (Generalization)

这是函数近似最强大的地方。

  • 表格法:更新状态S 2 S_2S2的值,只会改变S 2 S_2S2的记录,S 1 S_1S1S 3 S_3S3的值完全不受影响。
  • 函数法:
    • 更新状态S 2 S_2S2的值,实际上是在调整参数w ww(例如改变了直线的斜率)。
    • 牵一发而动全身:因为w ww变了,整个函数曲线都会发生变化。
    • 结果:即使我们从未访问过S 1 S_1S1S 3 S_3S3,因为它们在S 2 S_2S2附近(或共享相同的参数w ww),它们的估计值也会根据S 2 S_2S2的经验自动得到修正。这使得智能体能够对未见过的状态做出预测。

4. 代价

天下没有免费的午餐。函数近似的代价是精度 (Precision)。

  • 一条直线可能无法完美穿过所有离散的点。
  • v ^ ( s , w ) \hat{v}(s, w)v^(s,w)只是一个近似值 (Approximation),通常不等于真实的v π ( s ) v_\pi(s)vπ(s),会存在误差。
  • 可以通过提高函数的复杂度(如使用高阶多项式、深度神经网络)来提高精度,但这会增加计算量和过拟合的风险。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/24 20:37:15

LobeChat能否实现多人协同编辑?共享会话功能设想

LobeChat能否实现多人协同编辑?共享会话功能设想 在远程办公常态化、AI助手深度融入工作流的今天,一个看似简单却日益凸显的问题浮出水面:我们能否像协作编辑一份文档那样,多人实时共用同一个AI对话? 想象这样一个场…

作者头像 李华
网站建设 2026/6/23 23:08:20

基于单片机的智能温控风扇系统设计(温度+风速调节)【附代码】

📈 算法与建模 | 专注PLC、单片机毕业设计 ✨ 擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导,毕业论文、期刊论文经验交流。✅ 专业定制毕业设计✅ 具体问题可以私信或查看文章底部二维码本系统的核心设计内容在于构建一个以单片机…

作者头像 李华
网站建设 2026/6/23 18:01:59

Python中配置TensorFlow-GPU的完整方法

Python中配置TensorFlow-GPU的完整方法 在深度学习项目开发中,模型训练动辄需要数小时甚至数天,而能否充分利用GPU资源,往往决定了整个研发流程的效率。如果你还在用CPU跑ResNet或Transformer,那可能连一个epoch都坚持不下来就放…

作者头像 李华
网站建设 2026/6/25 7:43:27

基于单片机的智能晾衣架控制系统设计【附代码】

📈 算法与建模 | 专注PLC、单片机毕业设计 ✨ 擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导,毕业论文、期刊论文经验交流。✅ 专业定制毕业设计✅ 具体问题可以私信或查看文章底部二维码在智能晾衣架控制系统的核心控制单元与驱动…

作者头像 李华
网站建设 2026/6/25 2:53:41

SP40P65NJ:一款高性能40V P沟道MOSFET深度解析

在电源管理与DC-DC转换器设计中,MOSFET的选择直接影响系统的效率、可靠性与成本。今天我们将推出的一款40V P沟道MOSFET——SP40P65NJ,结合其官方规格书,从关键参数、性能特点到封装信息进行全面梳理。一、核心规格摘要参数典型值条件漏源击穿…

作者头像 李华
网站建设 2026/6/24 10:20:55

基于单片机的智能卧室助眠灯光系统设计【附代码】

📈 算法与建模 | 专注PLC、单片机毕业设计 ✨ 擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导,毕业论文、期刊论文经验交流。✅ 专业定制毕业设计✅ 具体问题可以私信或查看文章底部二维码智能卧室助眠灯光系统的设计核心在于通过单…

作者头像 李华