量化交易中文教材

第 10 册 神经网络 · 本册导读

1. 本册定位

1.1 底本

底本是 Martin T. Hagan、Howard B. Demuth、Mark Hudson Beale、Orlando De Jesús 合著的《Neural Network Design》第 2 版,PDF 共 1,012 页,正文 27 章,另有附录 A(参考文献)、附录 B(记号)、附录 C(软件)和索引。原书的特点是每章固定为"目标—理论与例题—结果汇总—已解习题—结语—延伸阅读—习题"七段,例题全部手算到具体数字,配套 MATLAB 演示程序(nnd 系列)。它讲的是 1990–2010 年代的"经典"神经网络:感知机、LMS、反向传播及其二阶加速、泛化与贝叶斯正则化、动态网络、径向基网络、竞争网络和 Hopfield 网络,并用五个案例收尾。深度学习的卷积、注意力、批归一化、Adam 等内容不在原书范围内,本册只在第 14 章(LSTM/GRU)和若干量化实战代码(Adam)里做了编者补充。

页码约定。 原书印刷页码是"章-页"格式,例如 13-23 表示第 13 章第 23 页。本册各章"原书对照"表里写的都是 PDF 页码。两者换算为:PDF 页码 = 该章起始 PDF 页 + 章内页号 − 1。各章起始 PDF 页如下(由各章原书对照表汇总):

原书章 1 2 3 4 5 6 7 8 9 10 11 12 13 14
起始 PDF 页 23 36 62 80 122 157 194 228 267 309 357 413 468 520
原书章 15 16 17 18 19 20 21 22 23 24 25 26 27 附录
起始 PDF 页 574 616 664 707 755 805 839 883 915 927 941 953 965 980

文件编号与原书章号。 本册文件名里的数字就是原书章号。原书有几组章节合并成了一个文件,所以编号不连续,这是有意的:

  • 原书第 1、2 章 → 本册第 01 章;
  • 原书第 5、6 章 → 本册第 05 章;
  • 原书第 15、16 章 → 本册第 15 章;
  • 原书第 19、20、21 章 → 本册第 19 章;
  • 原书第 23、24 章 → 本册第 23 章;
  • 原书第 25、26 章 → 本册第 25 章。

原书第 13 章(泛化)内容多,拆为第 13a 章(提前停止与正则化)和第 13b 章(贝叶斯正则化与有效参数个数)。因此本册正文里说"第 15 章"一律指本册文件;需要指原书章号时写"原书第 16 章"。例如"竞争网络"在原书是第 16 章,在本册是第 15 章;"Hopfield 网络设计"在原书是第 21 章,在本册是第 19 章。

第一版章号遗留问题。 原书第 2 版在第一版基础上插入了第 13、14、17 章和第 22–27 章,但第 15–21 章正文中不少交叉引用和演示程序名仍沿用第一版章号(如"第 13 章的 instar 规则"实为第 15 章,"第 14 章 Kohonen 网络"实为第 16 章,"第 16 章 ART"实为第 19 章,"第 17 章稳定性"实为第 20 章,演示 nnd16al1 在附录 C 中是 nnd19al1)。各章已按第 2 版章号改正,并换算成本册编号;详见第 6 节勘误汇总。

1.2 在量化交易中的作用

神经网络在量化中的用途可以归成四类,本册每一类都有对应章节和可运行的实战代码:

  • 非线性收益预测与因子组合:多层感知机(第 11 章)学习因子之间的交互,例如"低波动股票动量延续、高波动股票动量反转";RBF 网络(第 17 章)在低维截面上做"k-means 中心 + 岭回归";NARX 网络(第 27 章)做日频收益的 walk-forward 预测。
  • 模型校准与代理模型:Levenberg–Marquardt(第 12 章)是一切非线性最小二乘校准的标准工具,本册用它拟合 Nelson–Siegel 收益率曲线并给出参数标准误;第 23 章用网络学习蒙特卡洛定价函数,说明网络学到的是真价格而不是模拟噪声。
  • 在线估计与时间序列:LMS(第 10 章)就是时变对冲比率的在线回归;第 14 章证明 GARCH(1,1) 的方差递推正是一个线性 IIR 递归神经元,BPTT 给出它的解析梯度。
  • 状态识别与聚类:Hamming 网络(第 03 章)、竞争学习与 SOFM(第 15、25 章)、ART 的警戒阈值(第 19 章)都可以用来识别牛熊、震荡、高波动等市场状态。

比这些具体模型更重要的是本册反复强调的三条纪律:过拟合(第 11、13a、13b 章)、外推(第 13a、22 章)、按时间划分并留间隔(第 13a、22、27 章)。原书默认随机划分训练/验证/测试集,这在金融时间序列上会造成前视偏差,本册第 22.7 节和第 27.7 节专门讲怎样改。读完本册,你应当能够判断一个"神经网络预测股票"的结果是否可信。

1.3 与其他各册的关系

  • 第 01 册(线性代数):本册第 05 章与第 01 册大量重叠,只保留神经网络视角;严格证明见第 01 册第 00 章(向量空间、内积、Gram–Schmidt)、第 01 章(特征值)、第 02b 章(谱定理)、第 04a 章(Hermitian 矩阵与 Rayleigh 商)。第 08 章的 Hessian 特征分析、第 19 章的 Hopfield 能量也依赖这些结论。
  • 第 03 册(统计推断):第 13b 章的贝叶斯正则化与第 03 册第 11 章(贝叶斯推断、Black–Litterman)同源;第 13a 章的"测试集只用一次"与第 03 册第 10b 章(多重检验与策略过拟合)是同一件事;第 04 章提到的逻辑回归见第 03 册第 13b 章。
  • 第 04 册(数值最优化):本册第 08、09、12 章与第 04 册高度重叠。最优性条件见第 04 册第 02 章,线搜索见第 03 章,共轭梯度见第 05 章,牛顿法修正见第 06 章,拟牛顿见第 08 章,Gauss–Newton 与 LM 见第 10 章;反向传播就是第 04 册第 07 章的反向模式自动微分。本册不重复严格理论,只讲这些算法用于训练网络时的特殊问题(误差曲面非二次、参数多、需要 Jacobian)。
  • 第 05、06 册(计量与金融时间序列):伪逆规则就是 OLS(第 07 章),RBF 第二层就是岭回归(第 17 章,对照第 05 册第 19c 章);LMS 与 Kalman 滤波、时变 β 的关系见第 06 册第 11b 章;自适应预测器与 Yule–Walker 方程见第 06 册第 02a 章;GARCH 见第 06 册第 03a 章;Markov 转换模型见第 06 册第 12b 章;Ljung–Box 检验见第 06 册第 02a 章。
  • 第 08 册(衍生品):第 23 章的定价代理模型以第 08 册第 21b 章的蒙特卡洛定价为目标;第 11 章提到的 AAD 求 Greeks 就是反向传播。
  • 第 11 册(综合实战):第 22、27 章给出的训练流程与检查清单,是第 11 册所有预测模型都要过的一关。

2. 前置知识与自测

开始本册之前,你应当掌握:

  1. 线性代数:矩阵乘法与维数、转置、逆、特征值与特征向量、对称矩阵的谱分解、正定性。第 05 章会复习,但节奏很快。
  2. 多元微积分:梯度、Hessian、链式法则、二阶 Taylor 展开。反向传播就是链式法则的系统化。
  3. 概率统计:条件概率与贝叶斯公式、正态分布、均值方差、OLS 回归与 \(R^2\)。第 13b 章用到高斯似然和先验。
  4. 时间序列常识:自相关、平稳性、AR 模型、样本外检验。第 14、22、27 章用到。
  5. Python 与 numpy:数组广播、矩阵运算、随机数种子。本册几乎所有算法都用 numpy 从零实现。

自测题(每题 10 分钟内答出要点即可;答不出的,先读括号内的对应章节)。

题 1(特征值与迭代稳定性) 设 \(\mathbf W=\begin{bmatrix}0.5&0.4\\0.4&0.5\end{bmatrix}\),迭代 \(\mathbf a(t+1)=\mathbf W\mathbf a(t)\)。\(\mathbf a(t)\) 会收敛、发散还是振荡?若把对角元改成 0.7 呢?(第 01 册第 01 章;本册第 05 章)

答案要点:\(\mathbf W\) 对称,特征向量为 \([1,1]^T\) 和 \([1,-1]^T\),特征值为 \(0.9\) 和 \(0.1\),都小于 1,所以 \(\mathbf a(t)\to\mathbf 0\),沿 \([1,1]^T\) 方向衰减最慢。对角元改成 0.7 时特征值为 \(1.1\) 和 \(0.3\),初值在 \([1,1]^T\) 上的分量会以 \(1.1^t\) 增长,迭代发散。判据是谱半径是否小于 1。

题 2(链式法则) 单个神经元 \(a=\tanh(\mathbf w^T\mathbf p+b)\),损失 \(F=(t-a)^2\)。写出 \(\partial F/\partial\mathbf w\) 和 \(\partial F/\partial b\)。(第 11 章)

答案要点:令 \(n=\mathbf w^T\mathbf p+b\),则 \(\partial F/\partial n=-2(t-a)(1-a^2)\),这就是第 11 章的"敏感度" \(s\)。于是 \(\partial F/\partial\mathbf w=s\,\mathbf p\),\(\partial F/\partial b=s\)。多层网络只是把 \(s\) 从输出层逐层往回乘 \(\mathbf W^T\) 和传递函数的导数。

题 3(二次函数与最速下降) \(F(\mathbf x)=\tfrac12\mathbf x^T\mathbf A\mathbf x+\mathbf d^T\mathbf x\),\(\mathbf A=\begin{bmatrix}2&1\\1&2\end{bmatrix}\),\(\mathbf d=[-1,1]^T\)。求极小点;用固定学习率最速下降时,学习率上限是多少?(第 08、09 章)

答案要点:梯度 \(\mathbf A\mathbf x+\mathbf d=0\),\(\mathbf x^*=-\mathbf A^{-1}\mathbf d=[1,-1]^T\)。\(\mathbf A\) 的特征值为 1 和 3,正定,所以是强全局极小。稳定条件 \(\alpha<2/\lambda_{\max}=2/3\)。条件数为 3,等高线是长短轴比 \(\sqrt3\) 的椭圆。

题 4(贝叶斯公式) 某种"崩盘信号"在真实崩盘前出现的概率是 99%,在平常日子误报的概率是 5%,崩盘的先验概率是 1%。信号出现时真崩盘的概率是多少?(第 13b 章 13b.1 节)

答案要点:\(P=\dfrac{0.99\times0.01}{0.99\times0.01+0.05\times0.99}=\dfrac{0.0099}{0.0594}\approx16.7\%\)。先验很小时,即使检测很准,后验也不高。第 13b 章把这个逻辑用到权值上:权值的先验决定正则化强度。

题 5(回归与样本划分) 用 20 日动量、20 日波动率预测次日收益,共 2,500 个交易日。(a) 写出 OLS 和岭回归的解;(b) 为什么不能把 2,500 个样本随机打乱后按 70/15/15 划分?(第 07、17、22 章)

答案要点:(a) OLS \(\hat{\boldsymbol\beta}=(\mathbf X^T\mathbf X)^{-1}\mathbf X^T\mathbf y\),岭回归 \((\mathbf X^T\mathbf X+\rho\mathbf I)^{-1}\mathbf X^T\mathbf y\)。(b) 20 日窗口使相邻样本的特征高度重叠,随机划分后测试点被训练点"包围",测出的是内插能力而非对未来的预测能力;而且归一化统计量会用到未来数据。应按时间顺序划分,训练段与测试段之间留出至少等于特征窗口或预测期长度的间隔(purge/embargo),预处理统计量只用训练段。

3. 章节地图

建议学时按"读正文 + 手算例题 + 运行代码 + 做 3–5 道练习"估计。必学是做量化研究绕不开的内容;选学有用但可以按需回来读;速读只需知道思想和结论。

文件 原书章节 一句话内容 学时 标记
第 01 章 引言与神经元模型 第 1、2 章 发展史、神经元模型 \(a=f(\mathbf{Wp}+b)\)、九种传递函数、多层与循环结构的记号 4 必学
第 03 章 三种网络初探 第 3 章 用苹果/橙子例预演感知机、Hamming 网络、Hopfield 网络三类结构,并实现市场状态识别器 2 速读
第 04 章 感知机学习规则 第 4 章 感知机规则 \(\mathbf W\leftarrow\mathbf W+\mathbf e\mathbf p^T\)、收敛定理与间隔、线性可分的局限 3 必学
第 05 章 信号与权值向量空间、线性变换 第 5、6 章 内积、Gram–Schmidt、换基、特征值;因子正交化、PCA 与迭代稳定性 3 选学
第 07 章 有监督 Hebb 学习 第 7 章 Hebb 规则与串扰、伪逆规则、自联想记忆;Hebb 即 IC 加权,伪逆即 OLS 3 选学
第 08 章 性能曲面与最优点 第 8 章 Taylor 展开、梯度与 Hessian、最优性条件、二次曲面的特征结构;均值–方差的病态 3 必学
第 09 章 性能优化 第 9 章 最速下降与学习率上限、牛顿法、共轭梯度;条件数与特征标准化 4 必学
第 10 章 Widrow–Hoff 学习与 LMS 算法 第 10 章 ADALINE、均方误差曲面、LMS 及其收敛条件、自适应滤波;时变对冲比率的在线估计 4 必学
第 11 章 反向传播 第 11 章 多层感知机、万能逼近、敏感度反传、梯度检验;非线性因子交互的截面预测 6 必学
第 12 章 反向传播的变体 第 12 章 误差曲面为何难、动量、可变学习率、共轭梯度、Levenberg–Marquardt;Nelson–Siegel 校准 5 必学
第 13a 章 泛化:提前停止与正则化 第 13 章前半 过拟合、插值与外推、训练/验证/测试集、提前停止、L2 正则化;低信噪比实验 4 必学
第 13b 章 贝叶斯正则化与有效参数个数 第 13 章后半 MAP 与正则化、证据框架定 \(\alpha,\beta\)、GNBR、提前停止与正则化等价、有效参数个数 5 必学
第 14 章 动态网络与随时间反向传播 第 14 章 LDDN 记号、FIR/IIR、RTRL 与 BPTT、梯度消失、LSTM/GRU;GARCH 即 IIR 神经元 7 必学
第 15 章 联想学习与竞争网络 第 15、16 章 instar/outstar/Kohonen 规则、竞争层、SOFM、LVQ;市场状态在线聚类 3 选学
第 17 章 径向基网络 第 17 章 RBF 结构、局部与全局表示、岭回归求第二层、OLS 前向选择、聚类定中心 5 选学
第 18 章 Grossberg 网络 第 18 章 分流模型、中心兴奋/周边抑制、对比度增强与短时记忆、连续时间 instar 2 速读
第 19 章 自适应共振、稳定性与 Hopfield 网络 第 19、20、21 章 ART1 与警戒参数、Lyapunov 与 LaSalle、连续 Hopfield 网络;Hopfield 能量与 QUBO 选股 3 速读
第 22 章 实际训练问题 第 22 章 数据、预处理、结构、初始化、算法、训练后诊断的完整流程;金融数据的时间划分与 purge 6 必学
第 23 章 案例:函数逼近与概率估计 第 23、24 章 智能传感器的贝叶斯正则化拟合、softmax 概率估计;期权定价代理模型与涨跌概率 4 选学
第 25 章 案例:模式识别与聚类 第 25、26 章 心肌梗死识别(不平衡、ROC、蒙特卡洛评估)、森林覆盖的批量 SOM;大跌预警与状态地图 4 选学
第 27 章 案例:预测与金融时间序列 第 27 章、附录 A–C 磁悬浮 NARX 辨识、串并联与并联形式、残差检验;walk-forward NARX 收益预测与检查清单 6 必学

全册合计约 86 学时:必学 12 章约 57 学时,选学 6 章约 22 学时,速读 3 章约 7 学时。

各章量化实战一览。 每章最后一节是编者补充的量化实战,原书没有。它们用模拟数据演示原书方法在金融问题上的用法和陷阱,下表列出设定与要带走的结论,方便按问题查找:

章 实战设定 要带走的结论
01 5 个因子映射成上涨概率的两层网络前向计算;去掉偏置的后果 维数要写清;标准化后"中性"股票在无偏置网络中被强行映射到 0
03 5 个二值化市场指标 + Hamming 网络识别牛市/熊市/震荡 前馈层输出可直接读成与各原型的距离;二值化会造成平局,丢失信息
04 涨跌方向分类,比较感知机与逻辑回归 金融数据几乎不可分,感知机权值来回震荡,应改用连续损失或最大间隔方法
05 因子顺序正交化、协方差对角化、VAR(1) 的特征值 Gram–Schmidt 就是回归取残差;慢特征值决定均值回复的半衰期
07 Hebb 与伪逆合成两个相关因子;带衰减 Hebb 跟踪结构突变 Hebb(IC 加权)给无效但相关的因子分配权重,伪逆即 OLS 能去掉串扰;衰减率是反应速度与估计噪声的权衡
08 20 只两两相关 0.9 的资产做均值–方差 Hessian 病态使最优权重对 \(\boldsymbol\mu\) 的误差极度敏感;向对角阵收缩显著降低条件数和漂移
09 因子结构协方差上的最速下降与共轭梯度;特征量纲不一 共轭梯度对特征值成簇的矩阵收敛极快;不标准化输入时最速下降实际上不动
10 LMS 在线估计漂移并跳变的对冲比率 输入不缩放就学不动;学习率就是记忆长度;实用学习率要比期望分析的上限小一到两个数量级
11 "股票-月"截面,动量效应随波动率反转 线性模型样本外 \(R^2\) 为负,小网络接近理论上限;对输入求导能恢复交互结构
12 用自写 LM 校准 Nelson–Siegel 收益率曲线 几次迭代即收敛并与 scipy 一致;\(\mathbf J^T\mathbf J\) 给出标准误,曲率与形状参数难以分辨
13a 低信噪比日频预测,比较训练到底、提前停止、L2 正则化与 OLS 训练到底的网络样本外 \(R^2\) 显著为负;提前停止与正则化效果相近,但也只与线性模型相当
13b GNBR 训练 1-20-1 网络;40 个高度相关候选因子的贝叶斯岭回归 有效参数个数远小于总参数时网络偏大;证据框架自动给出收缩强度
14 用 BPTT 梯度估计"GARCH(1,1) = 线性 IIR 神经元",与 FIR(ARCH(5))对照 递归结构用少数参数表达长记忆;GARCH 的解析梯度就是本章的递推
15 三状态模拟市场的竞争学习与一维 SOFM 远处初值会成为死神经元,良心机制只能部分补救;SOFM 节点有序,可观察状态迁移
17 "k-means 中心 + 岭回归"的 RBF 截面模型 宽度是第一位超参数;验证损失差异极小却对应显著的 Rank IC 差别
18 分流网络仿真;泄漏积分器离散化 泄漏积分器的差分形式就是 EMA;分流归一化只保留相对强度
19 带警戒阈值的在线状态聚类;Hopfield 能量 = QUBO 的基数约束低方差选股 警戒参数控制类别粒度;惩罚系数决定 Hopfield 能否给出可行解
22 持续但无关的特征上比较随机 5 折与 walk-forward;完整训练后诊断流程 随机划分会给出虚假的样本外表现;必须按时间划分并留间隔,预处理只用训练期
23 期权蒙特卡洛价格的代理网络;三分类涨跌概率的软目标训练 网络离真价格的误差远小于训练目标本身的噪声,学到的是函数而非噪声
25 稀有"大跌"事件预警;4 种市场状态的批量 SOM 先过采样再划分会泄漏;单次评估不可信,要看多窗口多种子的误差分布
27 日频收益的 walk-forward NARX 与线性基准、残差检验、多步预测 残差白噪声只是必要条件;对照线性基准、IC 与夏普才能判断网络是否有增量价值

章节依赖。 第 01 章的记号是全册的语言。之后分成三条线:

  • 性能学习主线(本册重心):08 → 09 → 10 → 11 → 12 → 13a → 13b → 14,再接 22 → 23/25/27。第 17 章 RBF 依赖 10、11、13a。
  • 联想与竞争线:03 → 07 → 15 → 18 → 19;第 25 章后半(SOM 聚类)依赖第 15 章。
  • 线性代数工具:第 05 章服务于第 07、08、19 章;已学过第 01 册的读者可以速读。

4. 学习路径

4.1 量化研究速成路径(约 48 学时)

目标是尽快能自己训练、诊断和评估一个用于收益预测的神经网络,并知道什么时候不该用它。按以下顺序:

  1. 第 01 章(3 学时):跳过 1.1 历史,掌握 1.2–1.4 的记号和传递函数表,跑一遍 1.5 的前向计算代码。
  2. 第 08 章(2 学时):只读 8.2、8.4、8.5 和 8.7。重点是"Hessian 的特征值决定曲面形状"和均值–方差的病态。
  3. 第 09 章(3 学时):最速下降的学习率上限 \(2/\lambda_{\max}\)、牛顿法为什么不直接用、9.6 的条件数实验。已学第 04 册的读者 1 学时即可。
  4. 第 10 章(3 学时):LMS 推导与收敛条件,10.6 的时变对冲比率。
  5. 第 11 章(6 学时):全章精读,手算 11.4 数值例,自己实现一次梯度检验。
  6. 第 12 章(4 学时):12.1 理解误差曲面,12.2 动量,12.5 Levenberg–Marquardt,12.7 的 Nelson–Siegel 校准。12.3、12.4 可速读。
  7. 第 13a 章(4 学时):全章精读,特别是 13a.3 的数据划分纪律和 13a.6 的低信噪比实验。
  8. 第 13b 章(4 学时):13b.2、13b.3 的结论(可跳过证据的推导细节),13b.6 有效参数个数,13b.7 的贝叶斯岭回归。
  9. 第 22 章(6 学时):全章精读,这是全书最值得精读的一章;22.7 节务必运行代码,看清随机 5 折与 walk-forward 的差异。
  10. 第 14 章(6 学时):14.1–14.4 和 14.6 的 BPTT,14.8 为什么难训练,14.9 的 LSTM/GRU 补充,14.10 的 GARCH 实战。RTRL 的一般形式(14.5)可速读。
  11. 第 27 章(6 学时):27.3 串并联与并联形式,27.5 残差检验,27.7 的 walk-forward NARX 和检查清单。

完成后可按需补第 17 章(低维截面非线性建模)、第 23 章(定价代理模型)、第 25 章前半(稀有事件预警的评估陷阱)。

4.2 完整系统路径(约 86 学时)

按原书顺序通读全部 21 个文件,分五个阶段,每个阶段结束时做该阶段各章练习中带"量化"标记的题目:

  1. 基础与记号(约 12 学时):01 → 03 → 04 → 05。读完能写出任意前馈和循环网络的矩阵形式,知道感知机为什么解决不了 XOR。
  2. 联想学习与性能曲面(约 10 学时):07 → 08 → 09。读完能把"学习"理解为在二次或近似二次的曲面上找极小。
  3. 监督训练主线(约 24 学时):10 → 11 → 12 → 13a → 13b。这是全册核心,建议每章都手算一遍原书数值例并对照代码输出。
  4. 动态网络与其他结构(约 20 学时):14 → 15 → 17 → 18 → 19。第 18、19 章与量化实务关系较弱,抓住"分流归一化""警戒阈值聚类""Lyapunov 函数""Hopfield 能量即 QUBO"四个思想即可。
  5. 实践与案例(约 20 学时):22 → 23 → 25 → 27。每个案例先读原书做法,再读本册的量化改写,重点比较两者在数据划分和评估上的差异。

4.3 市场状态识别专题路径(约 15 学时,可选)

适合想做 regime 识别、无监督聚类的读者:03(3.6 节 Hamming 状态识别)→ 15(竞争学习与 SOFM)→ 25 后半(批量 SOM 与 U 矩阵)→ 19 的 19.1 节(ART 警戒阈值)→ 回到第 22 章 22.6 节的新颖性检测。对照阅读第 06 册第 12b 章的 Markov 转换模型:后者给出状态的后验概率,更适合需要概率输出的场合。

5. 核心公式与概念速查

记号沿用原书:上标 \(m\) 为层号,\(\mathbf W^m\) 为第 \(m\) 层权值矩阵,\(w_{i,j}\) 中 \(i\) 为目标神经元、\(j\) 为来源;\({}_i\mathbf w\) 为 \(\mathbf W\) 第 \(i\) 行(写成列向量);\(R\) 为输入维数,\(S^m\) 为第 \(m\) 层神经元数,\(Q\) 为样本数,\(M\) 为层数;\(\mathbf P\) 的列是样本。

# 概念 公式 / 要点 章
1 神经元与层 \(\mathbf a=\mathbf f(\mathbf W\mathbf p+\mathbf b)\);多层 \(\mathbf a^{m+1}=\mathbf f^{m+1}(\mathbf W^{m+1}\mathbf a^m+\mathbf b^{m+1})\) 01
2 常用传递函数 hardlim、purelin、logsig \(1/(1+e^{-n})\)、tansig \((e^n-e^{-n})/(e^n+e^{-n})\)、poslin、compet 01
3 决策边界 \(\mathbf w^T\mathbf p+b=0\),与权值向量正交,偏置平移边界 03、04
4 Hamming 网络 前馈层输出 \(=2R-2\times\)Hamming 距离;竞争层要求 \(\varepsilon<1/(S-1)\) 03
5 感知机规则 \(\mathbf W\leftarrow\mathbf W+\mathbf e\mathbf p^T\),\(\mathbf b\leftarrow\mathbf b+\mathbf e\);线性可分时有限步收敛,步数上界 \(\Pi|\mathbf x^*|^2/\delta^2\) 04
6 换基与相似变换 \(\mathbf x^v=\mathbf B^{-1}\mathbf x^s\),\(\mathbf A'=\mathbf B^{-1}\mathbf A\mathbf B\);对称阵 \(\mathbf A=\mathbf B\boldsymbol\Lambda\mathbf B^T\) 05
7 Hebb 规则 \(\mathbf W=\mathbf T\mathbf P^T\);原型标准正交时精确回忆,否则有串扰项 07
8 伪逆规则 \(\mathbf W=\mathbf T\mathbf P^+\);\(R>Q\) 时 \(\mathbf P^+=(\mathbf P^T\mathbf P)^{-1}\mathbf P^T\),\(R<Q\) 时 \(\mathbf P^+=\mathbf P^T(\mathbf P\mathbf P^T)^{-1}\)(后者对应 OLS) 07
9 二阶 Taylor 展开 \(F(\mathbf x)\approx F(\mathbf x^*)+\nabla F^T\Delta\mathbf x+\tfrac12\Delta\mathbf x^T\nabla^2F\,\Delta\mathbf x\) 08
10 最优性条件 一阶 \(\nabla F=\mathbf 0\);二阶充分 \(\nabla^2F\) 正定;Rayleigh 商 \(\lambda_{\min}\le\mathbf p^T\mathbf A\mathbf p/|\mathbf p|^2\le\lambda_{\max}\) 08
11 最速下降 \(\mathbf x_{k+1}=\mathbf x_k-\alpha\mathbf g_k\);二次函数上稳定条件 \(\alpha<2/\lambda_{\max}\) 09
12 精确线搜索步长 \(\alpha_k=-\mathbf g_k^T\mathbf p_k/(\mathbf p_k^T\mathbf A\mathbf p_k)\);新梯度与搜索方向正交,轨迹呈锯齿 09
13 牛顿法 \(\mathbf x_{k+1}=\mathbf x_k-\mathbf A_k^{-1}\mathbf g_k\);二次函数一步收敛,一般函数可能到鞍点或发散 09
14 共轭梯度 \(\mathbf p_k=-\mathbf g_k+\beta_k\mathbf p_{k-1}\),Fletcher–Reeves \(\beta_k=\mathbf g_k^T\mathbf g_k/\mathbf g_{k-1}^T\mathbf g_{k-1}\);\(n\) 维二次函数 \(n\) 步终止 09
15 均方误差曲面 \(F(\mathbf x)=c-2\mathbf x^T\mathbf h+\mathbf x^T\mathbf R\mathbf x\),\(\mathbf x^*=\mathbf R^{-1}\mathbf h\),Hessian \(2\mathbf R\) 10
16 LMS \(\mathbf W\leftarrow\mathbf W+2\alpha\mathbf e\mathbf p^T\),\(\mathbf b\leftarrow\mathbf b+2\alpha\mathbf e\);期望收敛条件 \(0<\alpha<1/\lambda_{\max}(\mathbf R)\) 10
17 敏感度反传 \(\mathbf s^M=-2\dot{\mathbf F}^M(\mathbf n^M)(\mathbf t-\mathbf a)\),\(\mathbf s^m=\dot{\mathbf F}^m(\mathbf n^m)(\mathbf W^{m+1})^T\mathbf s^{m+1}\) 11
18 反向传播更新 \(\mathbf W^m\leftarrow\mathbf W^m-\alpha\mathbf s^m(\mathbf a^{m-1})^T\),\(\mathbf b^m\leftarrow\mathbf b^m-\alpha\mathbf s^m\) 11
19 对输入求导 \(\partial\hat F/\partial\mathbf p=(\mathbf W^1)^T\mathbf s^1\),用于敏感性分析和因子边际效应 11、22
20 动量 MOBP \(\Delta\mathbf W^m(k)=\gamma\Delta\mathbf W^m(k-1)-(1-\gamma)\alpha\mathbf s^m(\mathbf a^{m-1})^T\) 12
21 Levenberg–Marquardt \(\Delta\mathbf x=-(\mathbf J^T\mathbf J+\mu\mathbf I)^{-1}\mathbf J^T\mathbf v\);\(\mu\) 大时近似最速下降,小时近似 Gauss–Newton 12
22 校准参数协方差 \(\hat\sigma^2(\mathbf J^T\mathbf J)^{-1}\),\(\hat\sigma^2=F/(N-n)\);\(\mathbf J^T\mathbf J\) 条件数诊断可识别性 12
23 正则化指标 \(F=\beta E_D+\alpha E_W\),\(E_D\) 为误差平方和,\(E_W\) 为权值平方和,比值 \(\rho=\alpha/\beta\) 13a
24 提前停止 监控验证误差,取其最小处的权值;测试集只在最后用一次 13a
25 贝叶斯解释 \(\beta=1/(2\sigma^2_\varepsilon)\),\(\alpha=1/(2\sigma^2_w)\);MAP 即正则化解 13b
26 证据框架更新 \(\alpha=\gamma/(2E_W)\),\(\beta=(N-\gamma)/(2E_D)\) 13b
27 有效参数个数 \(\gamma=\sum_i\beta\lambda_i/(\beta\lambda_i+2\alpha)=n-2\alpha\,\mathrm{tr}(\mathbf H^{-1})\) 13b
28 提前停止与正则化 二次曲面上近似满足 \(\alpha k\approx1/(2\rho)\)(\(\alpha\) 为学习率,\(k\) 为迭代次数) 13b
29 LDDN 净输入 \(\mathbf n^m(t)=\sum\mathbf{LW}^{m,l}(d)\mathbf a^l(t-d)+\sum\mathbf{IW}^{m,l}(d)\mathbf p^l(t-d)+\mathbf b^m\) 14
30 RTRL 与 BPTT RTRL 向前传播 \(\partial\mathbf a(t)/\partial\mathbf x^T\),计算量 \(O(S^4D^2Q)\);BPTT 向后传播 \(\partial F/\partial\mathbf a(t)\),计算量 \(O(S^2DQ)\) 但存储随 \(Q\) 增长;两者梯度相同 14
31 GARCH 与 IIR \(\sigma^2_t=\omega+\alpha r^2_{t-1}+\beta\sigma^2_{t-1}\) 对应 \(a(t)=lw\,a(t-1)+iw\,p(t)+b\) 14
32 instar 与 Kohonen \({}_i\mathbf w\leftarrow{}_i\mathbf w+\alpha a_i(\mathbf p-{}_i\mathbf w)\);Kohonen \({}_i\mathbf w\leftarrow(1-\alpha){}_i\mathbf w+\alpha\mathbf p\);竞争层即在线 k-means 15
33 SOFM 与 LVQ 获胜者及邻域 \(N_{i^*}(d)\) 一起更新;LVQ 分类正确拉近、错误推远 15
34 RBF 网络 \(a^1_i=\exp(-(|\mathbf p-{}_i\mathbf w^1|b^1_i)^2)\),\(b=1/(\sigma\sqrt2)\);第二层 \((\mathbf U^T\mathbf U+\rho\mathbf I)\mathbf x=\mathbf U^T\mathbf t\) 即岭回归 17
35 泄漏积分器与分流模型 \(\varepsilon\dot n=-n+p\)(离散化即 EMA);\(\varepsilon\dot n=-n+(b^+-n)p^+-(n+b^-)p^-\) 18
36 ART1 警戒 \(|\mathbf a^1|^2/|\mathbf p|^2<\rho\) 时重置,\(\rho\) 控制类别粒度 19
37 Hopfield 能量 高增益下 \(V=-\tfrac12\mathbf a^T\mathbf W\mathbf a-\mathbf b^T\mathbf a\);Hebb 存储容量约 \(0.15S\) 19
38 softmax 与导数 \(a_i=e^{n_i}/\sum_je^{n_j}\),\(\partial\mathbf a/\partial\mathbf n^T=\mathrm{diag}(\mathbf a)-\mathbf a\mathbf a^T\);配交叉熵时输出敏感度 \(\mathbf a-\mathbf t\) 22、23
39 训练实务要点 输入缩放到 \([-1,1]\) 或标准化;tansig 分类目标 \(\pm0.76\);Nguyen–Widrow 初始化 \(|{}_i\mathbf w^1|=0.7(S^1)^{1/R}\) 22
40 残差白噪声检验 \(\vert R_e(\tau)\vert <2R_e(0)/\sqrt Q\);误差–输入互相关 \(\vert R_{pe}(\tau)\vert <2\sqrt{R_e(0)R_p(0)}/\sqrt Q\) 22、27

符号冲突提醒。 原书同一字母在不同章含义不同,读跨章公式时要注意:\(\alpha\) 在第 09–12 章是学习率,在第 13a、13b 章是权值先验的超参数,第 13b 章的"\(\alpha k\approx1/(2\rho)\)"中又是学习率;\(\rho\) 在第 13a、13b、17 章是正则化比 \(\alpha/\beta\),在第 12 章是 VLBP 的学习率缩减因子,在第 19 章是 ART1 的警戒参数;\(\gamma\) 在第 12 章是动量系数,在第 13b 章是有效参数个数,在第 15 章是 Hebb 衰减率;\(\beta\) 在第 13a、13b 章是噪声精度超参数,在第 14 章 GARCH 例中是方差持续性系数。LMS 的学习率上限写作 \(1/\lambda_{\max}(\mathbf R)\),与第 09 章的 \(2/\lambda_{\max}(\mathbf A)\) 一致,因为均方误差的 Hessian 是 \(\mathbf A=2\mathbf R\)。

6. 勘误汇总

6.1 原书错误与第一版遗留(正文已按正确形式叙述)

  • 22_实际训练问题.md:原书正文把图 22.8 混淆矩阵中类 1 正确分类数写作 41,与图中 47 不符;以图为准,\(47+1+4+162=214\),各百分比与图一致,22.7 节代码已复算核对。
  • 07_有监督Hebb学习.md:原书 7.7 节"见第 13 章"按第 2 版应为第 15 章(联想学习);原书说伪模式"将在第 18 章循环联想记忆中再谈",按第 2 版是原书第 21 章,即本册第 19 章。
  • 12_反向传播的变体.md:原书结语"更多变体见第 19 章"沿用第一版章号(第一版第 19 章为结语,第 2 版第 19 章是 ART,与此无关);本册改为指向第 22 章的训练算法选择。
  • 15_联想学习与竞争网络.md:原书第 15、16 章正文的交叉引用和演示程序编号(nnd13xx、nnd14xx)沿用第一版章号,已按第 2 版改写。
  • 18_Grossberg网络.md:原书"第 13 章的 instar 规则"实为第 15 章,"第 14 章的 Kohonen 网络"实为第 16 章,"第 16 章 ART"实为第 19 章,"第 17 章稳定性"实为第 20 章;演示程序 nnd15xx 对应本章。
  • 19_自适应共振稳定性与Hopfield网络.md、27_案例_预测与金融时间序列.md:原书第 19–21 章正文中的演示名(nnd16al1、nnd17ds、nnd18hn 等)沿用第一版编号,附录 C 中为 nnd19al1、nnd20ds、nnd21hn,以附录为准。
  • 27_案例_预测与金融时间序列.md:附录 A 参考文献中 [Mill93] 与 [Moll93] 是同一篇标度共轭梯度论文(作者 M. F. Møller),书中出现两种拼写。
  • 23_案例_函数逼近与概率估计.md:原书把 softmax 导数矩阵的对角元写成 \(a_i(\sum_ka_k-a_i)\);因 \(\sum_ka_k=1\),与本册写法 \(a_i(1-a_i)\) 相同,不是错误,只是写法不同。

6.2 精读笔记的更正

  • 04_感知机学习规则.md:4.3 节苹果/橙子例第 2 次迭代的净输入,精读笔记依据的抽取文本为 −0.5,按计算应为 −1.5,结论 \(a=0\) 不变。
  • 07_有监督Hebb学习.md:精读笔记的量化注释把伪逆的两种情形写反了。按原书记号(\(\mathbf P\) 的列是样本),\(R>Q\) 时用 \((\mathbf P^T\mathbf P)^{-1}\mathbf P^T\),\(R<Q\) 时用 \(\mathbf P^T(\mathbf P\mathbf P^T)^{-1}\),后者对应 OLS 正规方程。

6.3 仍需回查原书

  • 12_反向传播的变体.md:"更多变体见第 19 章"指向第一版结语,是编辑依据第一版目录作出的判断,建议对照原书 PDF p.458–461 确认。
  • 04_感知机学习规则.md:第 2 次迭代净输入 −1.5 由计算得出,未对照 PDF 原页(p.87–94 范围内)的印刷数字。
  • 13a_泛化_提前停止与正则化.md、13b_贝叶斯正则化与有效参数个数.md:原书第 13 章的已解习题(PDF p.499–510)和习题(p.514–519)被拆到两篇,两篇原书对照表的页码区间相同,按题号分配,查找时以题号为准。
  • 14_动态网络与随时间反向传播.md:练习提示引用原书式 (17.82)(RBF 第一层导数),本册第 17 章 17.10 节给出的梯度微调公式应即此式,但未标原书式号,建议核对。

7. 配套代码说明

运行环境。 Python 3.9 及以上,依赖 numpy、scipy、scikit-learn、statsmodels(仅第 27 章的 Ljung–Box 检验)、pandas(第 01、15 章少量使用)。本册没有用到 arch 和深度学习框架:所有反向传播、Levenberg–Marquardt、BPTT、贝叶斯正则化都用 numpy 从零实现,以便和原书公式逐行对照;第 22、23、25、27 章的案例改用 scikit-learn 的 MLPRegressor/MLPClassifier 以缩短代码。第 18 章用 scipy.integrate.solve_ivp 仿真连续时间网络,第 12 章用 scipy.optimize.least_squares 核对自写的 LM 结果,第 13b 章用 sklearn.linear_model.BayesianRidge 对照证据框架,第 17 章用 sklearn.cluster.KMeans 定中心。所有代码不画图,只打印数字,便于和正文的"解读"段落核对。

数据。 原书案例数据(智能传感器、CVD 反应、心电图、森林覆盖、磁悬浮)随原书 MATLAB 软件提供,本册不依赖它们:原书例题用其公开的数值复现,量化实战全部使用固定随机种子的模拟数据(截面收益、GARCH 日收益、三状态市场、收益率曲线等),因此每次运行结果与正文一致。模拟数据的好处是知道真值,能直接看到网络离真实条件期望或真概率有多远;代价是信噪比由编者设定,把结论搬到真实数据时要重新验证。

跨章依赖。 本册 21 个文件共 34 个代码段,每段都自带 import 和全部函数定义,可以单独运行,没有跨章依赖的模块。同一章内的多个代码段也彼此独立(例如第 14 章三段分别是梯度消失的数值演示、天际线输入下递归神经元的 BPTT 训练和 GARCH 实战,各自重新定义所需函数)。需要注意的是概念上的复用:第 11 章的两层网络反向传播在第 12、13a、13b 章被重新实现并扩展(动量、LM 的 Marquardt 敏感度、正则化项、GNBR),读后面几章的代码前最好先读懂第 11 章 11.8 节的实现;第 14 章 BPTT 代码的记号依赖 14.2 节的 LDDN 定义。

运行时间。 绝大多数代码段在普通笔记本上几秒内完成;第 22、25、27 章含多次重训(walk-forward、多种子、多窗口),可能需要一到数分钟,可以减少窗口数或种子数加快。

建议用法。 先运行代码核对正文给出的数字,再改动参数(学习率、隐层规模、正则化系数、划分方式)观察结论如何变化。各章练习中带编程要求的题目大多是在该章代码上做小改动。