Blog
Lingqi Zeng
2025-06-05
Actor-Critic 方法将值函数近似和策略梯度相结合的方法,它由两个部分组成:
[…] Actor:负责 policy update。
[…] Critic:负责 policy evaluation。
[…] 这两个部分相互合作,Actor 采取 action 与环境进行交互,Critic 评估 Actor 的表现,指导 Actor …
Lingqi Zeng
2025-06-02
在之前的算法中,policy 也是表格形式的,类似于值函数近似,引入一个函数 \(\pi(a|s,\theta)\) 来近似 policy。这个函数通常是一个神经网络,参数是 \(\theta\),输入是 state \(s\),输出是采取各个 action 的概率。当 state space 很大的时候,该方法可以提升存储效率和泛化能力。
[…] 策略梯度(Policy …
Lingqi Zeng
2025-05-25
之前学习的算法,都是基于表格形式的,也就是将 state value 和 action value 记录在表格中。这种方法的优势是非常直观并且容易分析,劣势是当 state 非常多甚至是连续的时候存储这个表格就需要花费大量的内存,并且处理起来效率很低。
[…] 为了克服这个问题,可以引入一个函数来近似 state value。例如,有 \(n\) 个状态 \(s_1, \cdots, …
Lingqi Zeng
2025-04-26
之前介绍的蒙特卡洛学习方法每次更新时需要完整的采样 episode,本节介绍的时序差分方法(Temporal Difference Learning)不需要完整的 episode,只需要利用当前状态和下一状态的信息,是一种增量式 model-free 的算法。
[…] 给定一个 policy \(\pi\),我们的目标是估计 state value \(v_{\pi}(s), …
Lingqi Zeng
2025-04-23
在介绍蒙特卡洛方法时我们提到了可以用不精确的中间结果估计来提高算法效率的方法,也就是增量式更新,这样就不需要等数据全部收集完再进行参数更新。我们先以均值估计例子来回顾这个方法。
[…] 假设我们收集了随机变量 \(X\) 的一系列独立同分布的样本 \(\{x_i\}_{i=1}^{N}\),需要估计它的均值 \(\mathbb{E}[X]\),有两种方法:
[…] 根据 …
Lingqi Zeng
2025-04-21
上一节介绍的策略迭代算法是基于明确的环境模型(model-based)来进行策略评估和改进的。然而在许多现实问题中,模型 \(p(s'|s,a), p(r|s,a)\) 不能够轻易得到,那么可以使用基于蒙特卡洛(Monte Carlo,MC)的无模型(model-free)方法进行策略的评估和改进。
[…] 回顾策略迭代算法的两个步骤:
[…] 其中 policy …
Lingqi Zeng
2025-04-14
上一节介绍了求 Bellman optimality equation(BOE) 的迭代算法:
[…] 这个算法称为值迭代算法(Value Iteration Algorithm),可以分为两步:
[…] 其中,\(\mathbf{v}_k\) 并不是一个 state value,因为它不一定满足 Bellman equation。
[…] 上述算法流程用 …
Lingqi Zeng
2025-04-08
State value 可以用于评价 policy 的好坏,如果有
[…] 则称 policy \(\pi_1\) 好于 policy \(\pi_2\)。
[…] 如果有一个 policy \(\pi^*\) 满足
[…] 则称 policy \(\pi^*\) 为 optimal policy,\(\pi^*\) 的 state values …
Lingqi Zeng
2025-04-02
Return 是一个 trajectory 所有 reward 的 discounted 和,可以用于量化一个 policy 的好坏。下图是从 state \(s_1\)出发的三种策略,下面我们分别计算它们的 return。
[…] […] 对于第一个 policy,它的 trajectory 是 \(s_1 \rightarrow s_3 \rightarrow …
Lingqi Zeng
2025-04-01
本强化学习系列(1-10)笔记参考西湖大学赵世钰老师的强化学习课程,github 链接。
[…] 课程始终以 grid world 作为例子介绍强化学习,具体而言,一个机器人(agent)在网格世界中自由地移动,目的是从一个给定的初始位置,找到一条“最好”的路径达到目标位置(蓝色),中途会遇到一些障碍物(黄色)。
[…] […] 那么如何定义路径的好坏呢? …
Lingqi Zeng
2025-01-25
人类可以直接理解现实世界的对象,如文本、图像和音频等,而机器只能够处理数值数据,无法理解这些对象。为了能够让机器进行理解,必须先将它们转化为数值形式。Embedding 就是将现实对象表示为连续向量空间中的点的方法,这些点在空间中的位置蕴含着对象的信息。
[…] 具体在 NLP 领域中,词嵌入(Word Embedding)就是将单词转化为数值向量,且向量的相对位置反映了词之间的语义 …
Lingqi Zeng
2025-01-22
分词是将文本拆分成一系列词元的过程,使得模型能够进行处理,词元称为“token”。一个 token 可以是一个词,一个子词,或者一个字符。
[…] 分词为什么重要呢?LLM 会产生一些奇怪的问题,例如:
[…] 不能拼写单词
[…] 不能反转一个字符串
[…] GPT-2 处理代码的能力很差
[…] …
Lingqi Zeng
2024-11-30
XGBoost 与 GBDT 一样,使用向前分步算法,但是 XGBoost 的目标是结构风险最小化,即加入了正则化项:
[…] 其中,\(\Omega(f)=\gamma J+\frac{1}{2}\lambda \sum_{j=1}^{J}w_{j}^{2}\) 是正则化项,\(J\) 是叶子结点数量,\(\gamma,\lambda \geq 0\) 是参数。 …
Lingqi Zeng
2024-11-28
Boosting 可以看作是一个加法模型:
[…] 其中,\(F_m\) 是第 \(m\) 个基模型,\(\beta_m\) 是第 \(m\) 个基模型的权重。为了训练一个好的集成学习模型 \(f(\mathbf{x};\boldsymbol{\theta})\),我们可以通过最小化如下的经验损失函数来实现:
[…] 由于 Boosting 是加法模型,且后一基模型都是 …
Lingqi Zeng
2024-11-22
仅使用单个的模型进行分类和预测,特别是决策树这种对数据非常敏感的模型,丢失某些数据可能会构造一棵与初始树完全不同的树结构,容易使得结果不稳定且可信度低。因此,为了得到更好且更稳定的结果,可以通过某种策略将将多个模型进行结合,也就是所谓的集成学习,降低模型的偏差和方差,其中的单个模型称为基模型。一个最简单的结合方法就是将多个模型的结果进行平均:
[…] 其中,\(f_{m}\) …
Lingqi Zeng
2024-11-18
决策树模型由一系列的问题构成,通过问题的回答结果不断地对输入数据进行区域划分,并以树状结构展示数据所在的区域,树的每一个叶子结点就是一个区域。因此,如果我们根据训练数据构建出一颗决策树,也就是划分出不同特征值组合对应的区域,那么给出新的数据,我们只要根据该决策树的规则,找出新数据所在的区域即可。
[…] […] CART 决策树既可以用于回归和分类,是最常用的决策树。先 …