3. 在线学习基础

在金融场景中,模型面对的是持续到达的行情、交易、舆情与客户行为数据。若每次更新都重新训练全量模型,成本高且响应慢。在线学习(Online Learning)提供了一条“来一条、学一条、用一条”的增量路径。理解它与批量学习的差异,是构建实时风控、智能投顾与高频信号系统的前提。

一、核心原理:批量学习与在线学习的本质差异

批量学习假设数据分布固定,先收集完整训练集,再一次性优化经验风险最小化目标。在线学习则假设数据以流式到达,模型在每一步接收一个样本,预测后立即获得损失,并据此更新参数。两者的关键区别不在数据量,而在更新时机、计算复杂度与 regret 目标。

维度批量学习在线学习
数据假设独立同分布,分布固定任意序列,可对抗性到达
更新方式全量数据一次或多次迭代每步单样本或小批量增量更新
计算复杂度每轮 O(n·d)每步 O(d)
内存需求需保存全部训练数据仅需当前模型与少量状态
目标函数最小化经验风险最小化累积后悔(Regret)
典型算法批量梯度下降、牛顿法OGD、FTRL、AdaGrad

在线学习的理论基石是后悔界(Regret Bound)。定义累积损失与事后最优固定策略损失之差为后悔值 RT。若算法满足 RT = O(√T) 或 O(log T),则平均后悔随 T 增大趋于零,说明模型在长期意义上不劣于任何固定策略。金融场景中,这对应“策略长期跑赢基准”的理论保证。

二、方法流程:凸优化与随机梯度下降

在线学习通常建立在凸优化框架上。凸损失函数保证局部最优即全局最优,使增量更新不会陷入糟糕的局部极小。随机梯度下降(SGD)是最常用的在线优化器:每步用单样本梯度估计真实梯度,沿负方向更新参数。

# 在线 SGD 更新伪代码
初始化 w_1 = 0
for t = 1, 2, ..., T:
    接收样本 x_t
    预测 y_hat = w_t · x_t
    观测损失 l_t(w_t) 与梯度 g_t = ∇l_t(w_t)
    更新 w_{t+1} = w_t - η_t · g_t
    可选:投影到凸约束集 K

学习率 ηt 的衰减策略直接影响收敛。常见选择包括 ηt = 1/√t 或 ηt = 1/t。金融数据噪声大、非平稳,通常采用自适应学习率(如 AdaGrad、Adam)或 FTRL 的 proximal 更新,以兼顾稀疏性与稳定性。

在金融特征中,稀疏性非常普遍(如用户只点击少数产品、行情只在特定事件触发)。FTRL 结合 L1 正则与在线学习,能在保持稀疏权重的同时获得良好后悔界,是广告与推荐场景的工业标准。

三、案例/场景:实时信用评分中的在线更新

假设某消费金融平台需要实时评估每笔申请的违约概率。批量模型每天训练一次,但欺诈模式可能在数小时内突变。采用在线逻辑回归后,每笔申请到达时:

  1. 提取用户特征 xt(收入、负债、设备指纹、行为序列);
  2. 用当前权重 wt 计算违约概率 pt;
  3. 放款后经过观察期获得真实标签 yt;
  4. 计算对数损失梯度 gt = (pt - yt)·xt;
  5. 更新 wt+1 = wt - ηt·gt,并写入模型存储。

该流程将模型更新延迟从“天级”压缩到“秒级”,同时内存占用仅与特征维度 d 相关,而非样本量 n。对于千万级用户平台,这意味着无需保存全量历史样本即可持续适应新风险。

批量学习 vs 在线学习:数据流与更新路径 批量学习 全量历史数据 D = {(x₁,y₁)...(xₙ,yₙ)} 批量优化:min Σ l(w·xᵢ, yᵢ) 输出固定模型 w*,部署后不再更新 在线学习 流式样本 x₁, x₂, x₃, ... 依次到达 每步预测 → 观测损失 → 梯度更新 模型持续演化,后悔界 O(√T)

四、误区与复盘:在线学习不是“万能增量”

常见误区一:认为在线学习一定优于批量学习。若数据分布平稳且样本充足,批量学习往往更稳定、更易调参。在线学习在非平稳、流式、内存受限场景才体现优势。

误区二:忽略学习率与正则的耦合。在线学习中,学习率过大导致震荡,过小则适应缓慢;L1/L2 正则强度需随数据稀疏度动态调整。误区三:用在线学习替代离线评估。必须保留滑动窗口验证集,监控 regret 与业务指标(如 KS、AUC)的漂移。

复盘要点:

  • 确认损失函数凸性与梯度有界性,否则后悔界不成立;
  • 监控每步更新后的参数范数,防止梯度爆炸;
  • 对类别极不平衡的金融风控,采用加权损失或重采样;
  • 定期与批量模型对比,避免在线模型“跑偏”而不自知。
在线学习的价值不在于“永远最新”,而在于用可控的计算与内存代价,在非平稳环境中获得可证明的长期竞争性能。掌握后悔界、凸优化与 SGD 三件套,才能把增量更新真正落地到金融生产系统。