1. 课程导入

在量化研究、工程建模与科学发现中,我们经常面对同一类问题:给定一批输入变量与目标变量,希望找到一个既准确又能够被人理解的数学表达式。传统回归模型(如线性回归、岭回归、梯度提升树)擅长拟合,但它们的输出往往是一组系数或一棵难以复述的树;神经网络更强大,却几乎无法直接告诉我们“目标变量究竟由哪些变量、以什么形式组合而成”。符号回归(Symbolic Regression, SR)正是为解决这一矛盾而出现的建模范式。

一、符号回归的定义

符号回归是一种同时搜索函数结构与数值参数的回归方法。它不预设模型形式,而是在由变量、常数和算子构成的表达式空间中搜索,目标是找到一个表达式 f(x),使其在给定数据上误差足够小,同时表达式本身尽可能简洁、可解释。

与常规回归的差别可以用一句话概括:常规回归是“给定结构,求参数”;符号回归是“结构与参数一起求”。例如,面对房价数据,线性回归输出 y = 3.2x₁ + 1.7x₂ + b,而符号回归可能输出 y = (x₁ · x₂) / (x₃ + 1) 这样的非线性关系。后者不仅预测,还揭示了变量之间的交互与比例关系。

符号回归的核心三要素:
1. 搜索空间:由变量、常数、算子(+、−、×、÷、sin、exp、log 等)组成的表达式集合;
2. 评价函数:通常是最小化预测误差,并叠加复杂度惩罚;
3. 搜索策略:遗传编程、遗传算法、蒙特卡洛树搜索、强化学习、稀疏回归等。

二、因子搜索的意义

在量化投资、风险建模、推荐系统等场景中,“因子”指的是能够解释或预测目标变量的输入特征或其组合。因子搜索的目标,是从大量候选变量中找出真正有解释力、且组合方式合理的因子表达式。符号回归在这里的价值体现在三个层面:

  • 发现非线性关系:很多真实规律并非线性,如动量与反转的交互、波动率的倒数效应,符号回归可以自动构造 rank(volume) / volatility 这类组合因子。
  • 提升可解释性:输出是显式公式,研究员可以审查其经济含义,而不是面对黑箱。
  • 控制过拟合:通过复杂度约束,避免搜索出只在训练集上表现好、逻辑上却荒谬的表达式。

下面是一个典型的因子搜索配置片段,展示了搜索空间与复杂度惩罚的基本参数:

search_space:
  variables: [ret_1d, ret_5d, volume, turnover, volatility]
  operators: [+, -, *, /, rank, ts_mean, ts_std]
  max_depth: 4
  max_terms: 6

objective:
  metric: ic
  complexity_penalty: 0.002
  parsimony_pressure: true

这段配置说明:搜索并非无限制展开,而是在深度、项数和惩罚系数共同约束下进行。因子搜索的意义,不只是“找到公式”,而是“找到在统计上稳健、在逻辑上可被接受的公式”。

三、复杂度控制的必要性

符号回归最大的风险是表达式膨胀。随着搜索深度增加,候选表达式数量呈指数增长,算法很容易找到在训练集上误差极低、但包含大量冗余项和嵌套算子的公式。这类公式往往:

  1. 在样本外表现急剧下降;
  2. 难以解释,失去符号回归的核心优势;
  3. 计算成本高,难以部署到实时系统。

因此,复杂度控制不是可选项,而是符号回归能否落地的关键。常见控制手段包括:限制树深度、限制算子数量、对表达式长度施加惩罚、使用交叉验证选择复杂度、以及引入领域约束(如禁止某些算子组合)。

常见误区:只关注训练误差,忽略复杂度。一个深度为 8、包含 20 个算子的表达式,即使 IC 很高,也极可能是过拟合产物。复盘时应同时检查:样本外指标、表达式长度、算子分布是否符合领域常识。

四、整体课程框架与学习目标

本课程共 30 章,围绕“符号回归因子搜索”与“复杂度控制”两条主线展开。整体框架可分为四个阶段:

阶段核心内容学习目标
基础篇符号回归原理、搜索空间、评价指标理解 SR 与常规回归的区别,能定义搜索问题
方法篇遗传编程、稀疏回归、强化学习搜索掌握主流搜索算法并能配置参数
控制篇复杂度度量、惩罚项、交叉验证、领域约束能设计复杂度控制策略,平衡精度与简洁
实战篇因子挖掘、回测、稳健性检验、复盘能独立完成从搜索到评估的完整流程

学习目标可以归纳为三点:第一,能够用符号回归的语言描述一个因子搜索问题;第二,能够选择合适的搜索策略与复杂度控制方法;第三,能够对搜索结果进行解释、验证与复盘,而不是盲目接受高误差拟合的公式。

学习建议:每学完一个方法,尝试用一个小型数据集(如 500 行、5 个变量)手动运行一次搜索,观察表达式长度与样本外误差的变化。符号回归的直觉来自反复实验,而非仅阅读公式。