精读笔记:Hagan, Demuth, Beale, De Jesús《Neural Network Design》(2nd ed.) — 负责 PDF 第 1–266 页(封面、目录、前言、第 1–8 章)
前置部分(PDF p.1–22)
封面、扉页、版权(PDF p.1–3)
- 书名《Neural Network Design》第 2 版(电子书)。作者:Martin T. Hagan(Oklahoma State University)、Howard B. Demuth(University of Colorado)、Mark Hudson Beale(MHB Inc.)、Orlando De Jesús(顾问,Frisco, Texas)。
- 版权归 Hagan 与 Demuth。配套幻灯片(overheads)和演示程序(demonstration programs)在 hagan.okstate.edu/nnd.html 下载;另有精简纸质版。
目录(PDF p.4–17)
全书 27 章加附录(A 参考文献、B 符号表、C 软件、索引): 1 引言;2 神经元模型与网络结构;3 一个说明性例子;4 感知机学习规则;5 信号与权值向量空间;6 神经网络中的线性变换;7 有监督 Hebb 学习;8 性能曲面与最优点;9 性能优化;10 Widrow-Hoff 学习;11 反向传播;12 反向传播的变形;13 泛化;14 动态网络;15 联想学习;16 竞争网络;17 径向基网络;18 Grossberg 网络;19 自适应共振理论(ART);20 稳定性;21 Hopfield 网络;22 实际训练问题;23–27 五个案例(函数逼近、概率估计、模式识别、聚类、预测)。 每章固定结构:Objectives(目标)、Theory and Examples(理论与例子)、Summary of Results(结果汇总)、Solved Problems(已解习题,约占每章 1/3)、Epilogue(结语)、Further Reading(延伸阅读)、Exercises(习题)。
前言(Preface,PDF p.18–22)
- 定位:介绍基本神经网络结构与学习规则,强调对网络的数学分析、训练方法以及在非线性回归、模式识别、信号处理、数据挖掘、控制系统中的工程应用。大量已解习题;最后几章用案例展示实际问题。
- 选题原则:①挑最有用、最实用的结构、学习规则与训练技术;②全书自洽、章节衔接顺畅——所需的应用数学(线性代数、优化)在用到之前插入讲解。刻意略去:网络结构大全、硬件实现(VLSI、光学器件、并行计算机)、深入的生物/心理学基础。
- 对象:高年级本科或研究生一年级一学期课程,也适合短训与自学。需要线性代数、概率、微分方程基础。
- 章节依赖图(PDF p.19):第 1–6 章是所有后续章的基础。第 1 章引言与历史;第 2 章基本结构与全书记号;第 3 章用一个模式识别问题演示三类网络(感知机、Hamming、Hopfield),作为全书的公共线索;第 4 章第一个实用学习算法——感知机学习规则;第 5、6 章复习线性代数。
- 第 7、15–19 章:受生物/心理学启发的网络,分为联想网络与竞争网络两类(7、15 讲基础,16–19 讲进阶)。
- 第 8–14、17 章:性能学习(performance learning),即训练网络优化某个性能指标。8、9 章讲基本概念(性能曲面、优化),10–13 章应用于逐渐复杂的前馈网络,14 章用于动态网络,17 章用于径向基网络。
- 第 20、21 章:带反馈的循环联想记忆网络(动力系统),20 章讲稳定性,21 章讲 Hopfield 网络。
- 第 22–27 章:实际训练技巧与五个案例。
- 软件:MATLAB 非必需,任何语言都可做计算机练习;配套 Neural Network Design Demonstrations 在 MATLAB 中输入
nnd启动(需 MATLAB 2010a 或以上)。书中用页边图标标出 MATLAB 练习与演示程序。 - 致谢(p.22):审稿人、各校研究生课程、资助方(TI、Halliburton、Cummins、Amgen、NSF)及 MathWorks。
第 1 章 引言(Introduction,PDF p.23–35)
1.0 目标(PDF p.23)
人脑约有 \(10^{11}\) 个高度互联的神经元,每个生物神经元的复杂程度堪比微处理器(但速度慢得多)。一般认为生物神经功能(包括记忆)存储在神经元及其连接中,学习就是建立新连接或修改已有连接。本书的问题:虽然对生物神经网络只有初步理解,能否构造一组简单的人工"神经元"并训练它们完成有用的功能?答案是肯定的。本书研究的人工神经元是生物神经元的极简抽象,用程序或硅电路实现,能力远不及人脑,但可训练来完成有用任务。
1.1 历史(History,PDF p.24–26)
- 技术进步的两个要素:概念(concept)与实现(implementation)。例:心脏在 17 世纪才被视为"泵",由此才理解循环系统;CT 图像重建的数学早已存在,但要等高速计算机与高效算法出现才实用。神经网络的发展也是概念创新与实现手段交替推动,且呈"间歇式跃进"而非平稳演进。
- 19 世纪末到 20 世纪初的背景工作:Helmholtz、Mach、Pavlov 等在物理、心理、神经生理方面的跨学科研究,侧重学习、视觉、条件反射的一般理论,没有神经元运作的数学模型。
- 1940 年代:McCulloch 与 Pitts [McPi43] 证明人工神经元网络原则上能计算任何算术或逻辑函数,被视为本领域起点。Hebb [Hebb49] 提出经典条件反射源于单个神经元的性质,并给出生物神经元的学习机制(见第 7 章)。
- 1950 年代末:Rosenblatt [Rose58] 发明感知机(perceptron)及其学习规则,并演示了模式识别,这是人工神经网络第一个实际应用。后来发现基本感知机只能解决有限一类问题(第 4 章)。同期 Widrow 与 Hoff [WiHo60] 提出新学习算法训练自适应线性网络(ADALINE),结构和能力与感知机类似,Widrow-Hoff 规则至今仍在使用(第 10 章)。
- 1969 年:Minsky 与 Papert 的《Perceptrons》[MiPa69] 广泛宣传了这两类网络的固有局限。Rosenblatt 与 Widrow 虽提出了克服局限的更复杂网络,但未能修改学习算法去训练它们。很多人认为神经网络是死胡同,又缺强大的数字计算机做实验,研究停滞约十年。
- 1970 年代:1972 年 Kohonen [Koho72] 与 Anderson [Ande72] 各自独立提出可作记忆的网络(第 15、16 章);Grossberg [Gros76] 研究自组织网络(第 18、19 章)。
- 1980 年代复兴:个人计算机与工作站普及;两个关键新概念:①物理学家 Hopfield [Hopf82] 用统计力学解释一类可作联想记忆的循环网络(第 20、21 章);②多层感知机的反向传播(backpropagation)算法,被多人独立发现,最有影响的是 Rumelhart 与 McClelland [RuMc86],它回应了 Minsky 和 Papert 的批评(第 11 章)。
- 展望:神经网络已成为重要的数学/工程工具,不能解决所有问题,但在合适场景中必不可少;人类对大脑仍知之甚少,最重要的进展可能还在未来。
1.2 应用(Applications,PDF p.27–29)
- 实例:Aston 大学用网络识别写作风格比对莎士比亚及同时代作品;意大利研究所检测橄榄油纯度;Google 图像标注;Microsoft 英语语音转中文语音;瑞典 Lund 大学与 Skåne 医院匹配心脏移植供受体以提高长期存活率。
- 1988 年 DARPA 神经网络研究 [DARP88]:最早的商业成功是约 1984 年的自适应信道均衡器(adaptive channel equalizer)——长途电话中稳定语音信号的单神经元网络;另有小型词识别器、过程监控、声呐分类器、风险分析系统。
- 应用表(转引自 MATLAB Neural Network Toolbox),按行业列举:航空航天(自动驾驶仪、飞行路径仿真、部件故障检测);汽车(自动导航、喷油控制、失火检测、虚拟排放传感器);银行(支票读取、信贷申请评估、现金预测、企业分类、汇率预测、贷款回收率预测、信用风险度量);国防;电子;娱乐(含市场预测);金融(房地产估价、贷款顾问、按揭筛选、公司债评级、信用额度使用分析、组合交易程序、公司财务分析、货币价格预测);保险;制造;医疗;油气;机器人;语音;证券(市场分析、自动债券评级、股票交易建议系统);电信;交通。
- 结论:应用数量、投入的资金和关注的广度都非常大。
1.3 生物学启发(Biological Inspiration,PDF p.30–31)
- 大脑约 \(10^{11}\) 个神经元,每个约 \(10^4\) 个连接。神经元三个主要部分:树突(dendrites,树状接收网络,将电信号送入胞体)、胞体(cell body,对输入信号求和并取阈值)、轴突(axon,单根长纤维,把信号送往其他神经元)。轴突与另一细胞树突的接触点称突触(synapse)。神经元的排列方式和突触强度(由复杂化学过程决定)决定网络的功能(图 1.1)。
- 部分结构出生即有,其余通过学习形成(新连接建立、旧连接萎缩),早期最明显:幼猫在关键期被剥夺单眼使用,该眼永不能正常视物;6 个月以上婴儿无法分辨早期未接触过的某些语音 [WeTe84]。成年后的变化主要是突触强弱改变,新记忆即突触强度改变;伦敦出租车司机的海马体显著偏大 [MaGa00](需约两年记忆大量路线)。
- 人工网络与生物网络的两个关键相似点:①基本单元都是高度互联的简单计算单元;②神经元之间的连接决定网络功能。本书的主要目标就是确定合适的连接来解决特定问题。
- 生物神经元很慢(约 \(10^{-3}\) s,电路约 \(10^{-10}\) s),但大脑因大规模并行而在很多任务上更快。人工网络也具有并行结构,适合用 VLSI、光学器件和并行处理器实现。
1.4 延伸阅读(PDF p.32–35)
列出并点评:[Ande72] Anderson 线性联想器(linear associator),用 Hebb 假设的推广训练,强调生理合理性;[AnRo88] Anderson & Rosenfeld《Neurocomputing》,收录四十余篇经典论文并附导读;[DARP88] DARPA 研究报告;[Gros76] Grossberg 基于视觉系统的自组织连续时间竞争网络,是 ART 的基础;[Gros80];[Hebb49]《The Organization of Behavior》,提出细胞层面的学习机制;[Hopf82] 内容可寻址网络;[Koho72] 相关矩阵记忆,用外积规则(即 Hebb 规则)训练,强调数学结构;[MaGa00] 出租车司机海马体研究;[McPi43] 第一个神经元数学模型(加权和与阈值比较);[MiPa69]《Perceptrons》,首个严格研究感知机能学什么,但悲观预言使研究和经费冷却数年;[Rose58] 感知机;[RuMc86]《Parallel Distributed Processing》,提出反向传播;[WeTe84] 婴儿语音感知实验;[WiHo60] 自适应开关电路,用梯度下降最小化均方误差,即 LMS 算法。
第 1 章 本章要点
神经网络是由简单、高度互联的计算单元组成的系统,功能由连接权决定,学习即调整连接。历史上经历了 1940s 起源(McCulloch-Pitts、Hebb)、1950s 末感知机与 ADALINE、1969 年后的低潮、1980s 由 Hopfield 网络与反向传播带来的复兴。应用覆盖工程、医疗、金融、证券等领域。
第 1 章 与量化交易的关联
本章是背景介绍,没有可直接用于量化的方法。应用表中银行、金融、证券条目(汇率与货币价格预测、信用风险度量、债券评级、交易建议系统)说明神经网络在金融领域的应用由来已久,可作为教材中"机器学习在量化中的历史"一节的素材。
第 1 章 推荐习题
本章无习题。
第 2 章 神经元模型与网络结构(Neuron Model and Network Architectures,PDF p.36–60)
2.0 目标(PDF p.36)
引入简化的人工神经元数学模型,说明神经元如何互连成各种网络结构,并通过简例说明其运行。本章的记号贯穿全书(完整符号表见附录 B)。作者提醒:初读不必记住全部细节,可作为日后查阅的资源。
2.1 记号(Notation,PDF p.37)
神经网络领域缺乏统一记号,不同学科(工程、物理、心理、数学)的术语造成文献难读、"重复造轮子"。本书约定:
- 标量(scalar):小写斜体 \(a, b, c\);
- 向量(vector):小写粗体正体 \(\mathbf{a}, \mathbf{b}, \mathbf{c}\);
- 矩阵(matrix):大写粗体正体 \(\mathbf{A}, \mathbf{B}, \mathbf{C}\)。
2.2 神经元模型(Neuron Model,PDF p.37–43)
单输入神经元(Single-Input Neuron)
标量输入 \(p\) 乘以标量权值(weight)\(w\) 得到 \(wp\) 送入求和器;另一个输入常数 1 乘以偏置(bias)\(b\) 也送入求和器。求和器输出 \(n\) 称为净输入(net input),经传递函数(transfer function,有的文献称激活函数 activation function;偏置也称 offset)\(f\) 得到标量输出 \(a\):
- 偏置就像一个输入恒为 1 的权值;不需要时可以省略(第 3、7、16 章有例子)。
- \(w\) 和 \(b\) 是可调参数;传递函数由设计者选定,然后用某种学习规则(第 4 章起)调整 \(w\)、\(b\),使输入/输出关系满足目标。
传递函数(Transfer Functions)
传递函数可以是 \(n\) 的线性或非线性函数,按问题需求选择。三种最常用:
- 硬限幅(hard limit,
hardlim):\(n<0\) 时 \(a=0\),\(n\ge0\) 时 \(a=1\)。用于把输入分成两类(第 4 章大量使用)。单输入 hardlim 神经元的输入/输出图在 \(p=-b/w\) 处跳变——由此可看出权值与偏置的作用:偏置决定跳变点位置,权值符号决定方向。 - 线性(linear,
purelin):\(a=n\)(式 2.1)。用于 ADALINE(第 10 章)。单输入线性神经元的 \(a\)-\(p\) 图是斜率 \(w\)、截距 \(b\) 的直线,零点在 \(-b/w\)。 - 对数-S 型(log-sigmoid,
logsig):把 \((-\infty,\infty)\) 压缩到 \((0,1)\):\[a=\frac{1}{1+e^{-n}}\qquad(2.2)\]因可微,常用于用反向传播训练的多层网络(第 11 章)。
表 2.1 传递函数汇总(PDF p.41,原表为乱码,依标准定义还原):
| 名称 | 输入/输出关系 | MATLAB 函数 |
|---|---|---|
| 硬限幅 Hard Limit | \(a=0,\ n<0\);\(a=1,\ n\ge0\) | hardlim |
| 对称硬限幅 Symmetrical Hard Limit | \(a=-1,\ n<0\);\(a=+1,\ n\ge0\) | hardlims |
| 线性 Linear | \(a=n\) | purelin |
| 饱和线性 Saturating Linear | \(a=0\ (n<0)\);\(a=n\ (0\le n\le1)\);\(a=1\ (n>1)\) | satlin |
| 对称饱和线性 Symmetric Saturating Linear | \(a=-1\ (n<-1)\);\(a=n\ (-1\le n\le1)\);\(a=1\ (n>1)\) | satlins |
| 对数-S 型 Log-Sigmoid | \(a=1/(1+e^{-n})\) | logsig |
| 双曲正切 S 型 Hyperbolic Tangent Sigmoid | \(a=(e^n-e^{-n})/(e^n+e^{-n})\) | tansig |
| 正线性 Positive Linear | \(a=0\ (n<0)\);\(a=n\ (n\ge0)\) | poslin |
| 竞争 Competitive | 净输入最大的神经元 \(a=1\),其余 \(a=0\) | compet |
注:poslin 即今天的 ReLU;compet 是对整层而言的函数(图标中标 C)。演示程序 nnd2n1(单输入神经元)。
多输入神经元(Multiple-Input Neuron)
\(R\) 个输入 \(p_1,\dots,p_R\) 分别乘以权值矩阵 \(\mathbf{W}\) 的元素 \(w_{1,1},\dots,w_{1,R}\),加偏置得净输入
权值下标约定(weight indices):\(w_{i,j}\) 的第一个下标是目标神经元(destination),第二个是信号来源(source)。如 \(w_{1,2}\) 表示从第 2 个输入到第 1 个神经元的连接。
简化记号(abbreviated notation,图 2.6):输入向量 \(\mathbf{p}\) 画成左侧竖条,下方标维数 \(R\times1\);\(\mathbf{W}\) 为 \(1\times R\);常数 1 乘标量偏置 \(b\);\(n\)、\(a\) 为 \(1\times1\)。图中总是标出各变量维数,读者可立即判断是标量、向量还是矩阵。 输入个数由问题外部规格决定:例如预测放风筝条件,输入为气温、风速、湿度,则网络有 3 个输入。演示 nnd2n2(两输入神经元)。
2.3 网络结构(Network Architectures,PDF p.44–50)
一层神经元(A Layer of Neurons)
\(S\) 个神经元组成一层(图 2.7),\(R\) 个输入每个都连到每个神经元,权值矩阵为 \(S\times R\):
- 通常 \(R\ne S\)。
- 同层神经元不必用相同传递函数:可把两个网络并联成"复合层",二者输入相同、各产生一部分输出。
- 行下标=目标神经元,列下标=输入来源,如 \(w_{3,2}\) 是第 2 个输入到第 3 个神经元的连接。
多层神经元(Multiple Layers of Neurons)
每层有自己的权值矩阵、偏置向量、净输入向量和输出向量,用上标标识层号(上标是层号不是幂):\(\mathbf{W}^1,\mathbf{W}^2,\dots\)。三层网络(图 2.9、2.10):
- 输出为网络输出的层称输出层(output layer),其余称隐层(hidden layers)。上例有 1 个输出层(第 3 层)和 2 个隐层。
- 多层网络比单层强:例如第一层 S 型、第二层线性的两层网络经训练可以任意精度逼近大多数函数,单层网络做不到。
如何选结构(p.47–48 及汇总 p.54):
- 网络输入数 = 问题输入数;
- 输出层神经元数 = 问题输出数;
- 输出层传递函数至少部分由输出规格决定(如输出只取 \(-1\) 或 \(1\),用对称硬限幅)。 因此单层网络的结构几乎完全由问题规格决定。多层时,隐层神经元数无法由外部问题直接确定,很少有问题能预知最优隐层规模(第 11 章再讨论)。实用网络大多只有两三层,四层以上少见。
- 偏置:有偏置的网络多一个变量,能力更强。例如无偏置的神经元在输入 \(\mathbf{p}=\mathbf{0}\) 时净输入恒为 0,这可能不合需要。后文某些例子省略偏置只是为了减少参数,以便在二维平面上画收敛过程。
循环网络(Recurrent Networks)
两个基本构件:
- 延迟块(delay,图 2.11):\(a(t)=u(t-1)\)(2.7),时间离散取整数值;需要初始条件 \(a(0)\)(图中从下方进入的箭头)。
- 积分器(integrator,图 2.12):用于第 18–21 章的连续时间循环网络,
\[a(t)=\int_0^t u(\tau)\,d\tau + a(0)\qquad(2.8)\]循环网络(recurrent network)是带反馈的网络,部分输出连回输入;此前讨论的都是严格前馈(feedforward)网络。图 2.13 的离散时间循环网络:\[\mathbf{a}(0)=\mathbf{p},\qquad \mathbf{a}(t+1)=\mathrm{satlins}(\mathbf{W}\mathbf{a}(t)+\mathbf{b})\]即 \(\mathbf{a}(1)=\mathrm{satlins}(\mathbf{W}\mathbf{a}(0)+\mathbf{b})\),\(\mathbf{a}(2)=\mathrm{satlins}(\mathbf{W}\mathbf{a}(1)+\mathbf{b})\),……其中 \(\mathbf{W}\) 为 \(S\times S\),输入 \(\mathbf{p}\) 只提供初始条件。循环网络潜在能力强于前馈网络,能表现时间行为(第 3、14、18–21 章)。
2.4 结果汇总(PDF p.51–54)
汇总单输入/多输入神经元、表 2.1、单层与三层网络的简化记号图、延迟、积分器、循环网络,以及上述"如何选结构"三条规则。
2.5 已解习题(Solved Problems,PDF p.55–56)
- P2.1 单输入神经元 \(p=2.0\),\(w=2.3\),\(b=-3\)。净输入 \(n=2.3\times2-3=1.6\);输出无法确定,因为未指定传递函数。
- P2.2 上题若 \(f\) 分别为:硬限幅 \(a=\mathrm{hardlim}(1.6)=1.0\);线性 \(a=1.6\);对数 S 型 \(a=1/(1+e^{-1.6})=0.8320\)。
- P2.3 两输入神经元 \(b=1.2\),\(\mathbf{W}=[3\ \ 2]\),\(\mathbf{p}=[-5\ \ 6]^T\),则 \(n=3(-5)+2(6)+1.2=-1.8\)。对称硬限幅 \(a=-1\);饱和线性 \(a=\mathrm{satlin}(-1.8)=0\);双曲正切 \(a=\mathrm{tansig}(-1.8)=-0.9468\)。
- P2.4 单层网络 6 个输入、2 个输出,输出在 0 到 1 之间连续:需 2 个神经元;权值矩阵 \(2\times6\)(\(\mathbf{W}\mathbf{p}\) 为 2 维向量);传递函数宜用
logsig;信息不足以判断是否需要偏置。
2.6 结语(Epilogue,PDF p.57)
本章引入简单的人工神经元并说明如何以不同方式连接成网络,主要目的是确立记号。第 3 章用一个简例展示本章的若干网络,它们代表了全书的网络类型。
2.7 习题(Exercises,PDF p.58–60)
- E2.1 单输入神经元 \(w=1.3\),\(b=3.0\),给定输出 1.6、1.0、0.9963、−1.0,判断可能是表 2.1 中哪些传递函数,并求对应输入(考查对各传递函数值域与反函数的理解,例如 0.9963 可能来自 logsig 或 tansig)。
- E2.2 设计单输入带偏置神经元,使 \(p<3\) 时输出 −1,\(p\ge3\) 时输出 +1:选传递函数(hardlims)、偏置与权值的关系(\(b=-3w\),\(w>0\)),画图并用 MATLAB 验证。
- E2.3 \(\mathbf{W}=[3\ 2]\),\(\mathbf{p}=[-5\ 7]^T\)(\(\mathbf{W}\mathbf{p}=-1\)),希望输出 0.5:分别讨论零偏置时哪种传递函数可行、线性传递函数所需偏置(\(b=1.5\))、log-sigmoid 所需偏置(\(b=1\),因 \(\mathrm{logsig}(0)=0.5\))、对称硬限幅是否可能(不可能)。
- E2.4 两层网络 4 输入 6 输出、输出在 0–1 连续:各层神经元数、权值矩阵维数、可用传递函数、是否需要偏置(考查结构由问题规格决定的程度,隐层规模无法确定)。
- E2.5 画单输入神经元在 \(-2<p<2\) 上的响应:(i) \(w=1,b=1\),hardlims;(ii) \(w=-1,b=1\),hardlims;(iii) \(w=2,b=3\),purelin;(iv) \(w=2,b=3\),satlins;(v) \(w=-2,b=-1\),poslin。
- E2.6 两层网络:第一层 satlin(两个神经元,\(w^1_{1,1}=2,\ w^1_{2,1}=1,\ b^1_1=2,\ b^1_2=-1\)),第二层 purelin(\(w^2_{1,1}=1,\ w^2_{1,2}=-1,\ b^2_1=0\)),在 \(-3<p<3\) 上画 \(n^1_1, a^1_1, n^1_2, a^1_2, n^2_1, a^2_1\) 对 \(p\) 的曲线(考查分段线性函数的合成,是理解多层网络函数逼近能力的预备)。
第 2 章 本章要点
- 神经元:\(a=f(\mathbf{W}\mathbf{p}+b)\),权值、偏置可学习,传递函数由设计者选。
- 常用传递函数:hardlim/hardlims(分类)、purelin(线性回归/ADALINE)、logsig/tansig(可微,多层网络)、satlin/satlins、poslin(ReLU)、compet(竞争层)。
- 层:\(\mathbf{a}=\mathbf{f}(\mathbf{W}\mathbf{p}+\mathbf{b})\),\(\mathbf{W}\) 为 \(S\times R\),\(w_{i,j}\) 为第 \(j\) 个输入到第 \(i\) 个神经元;多层用上标区分层号,有隐层与输出层之分。
- 结构选择:输入数、输出神经元数、输出层传递函数由问题决定;隐层规模需经验或实验确定;两三层足以应付大多数问题;"S 型隐层 + 线性输出层"的两层网络可逼近大多数函数。
- 循环网络通过延迟(离散)或积分器(连续)引入反馈,具有时间动态。
第 2 章 与量化交易的关联
- 记号与结构是后续所有建模的基础。在用神经网络做收益预测或因子合成时,"输入数 = 因子数、输出数 = 预测目标数、输出层传递函数由目标类型决定"直接适用:预测连续收益用 purelin 输出层;预测涨跌方向或概率用 logsig(输出 0–1,可解释为概率);多空三分类可用 compet/softmax 思想。
- 无偏置时零输入导致零净输入:因子做标准化后若不加偏置,模型被强制过原点,可能引入系统偏差。
- 循环网络(带延迟反馈)是处理时间序列(如价格序列、成交量序列)的基础结构,后续第 14 章动态网络更相关。
- 本章本身不涉及具体金融方法。
第 2 章 推荐习题
- E2.3:理解偏置与不同传递函数取值范围的配合。
- E2.6:手算两层分段线性网络的响应,建立"多层网络是基函数叠加"的直观,是理解函数逼近的关键练习。
- E2.4、P2.4:根据问题规格确定网络结构。
第 3 章 一个说明性例子(An Illustrative Example,PDF p.61–79)
3.0 目标(PDF p.61)
本章是"预告片":用一个极度简化的模式识别问题,展示三种不同网络结构如何求解,说明同一问题可用多种网络解决。三种网络分别代表全书的三大类:前馈网络(以感知机为代表)、竞争网络(以 Hamming 网络为代表)、循环联想记忆网络(以 Hopfield 网络为代表)。不要求读完本章就完全理解它们。
3.1 问题陈述(Problem Statement,PDF p.62–63)
农产品仓库要用机器把混在一起的水果按种类分拣。传送带经过三个简陋的传感器:
- 形状(shape):近似圆形输出 1,偏椭圆输出 −1;
- 质地(texture):表面光滑输出 1,粗糙输出 −1;
- 重量(weight):超过 1 磅输出 1,否则 −1。
假设只有苹果和橙子两类。每个水果表示为三维向量 \(\mathbf{p}=[\text{shape},\ \text{texture},\ \text{weight}]^T\)(3.1)。原型(prototype):
\[\text{橙子 } \mathbf{p}_1=\begin{bmatrix}1\\-1\\-1\end{bmatrix}\ (3.2),\qquad \text{苹果 } \mathbf{p}_2=\begin{bmatrix}1\\1\\-1\end{bmatrix}\ (3.3)\]网络对每个输入向量判断是橙子还是苹果。
3.2 感知机(Perceptron,PDF p.63–68)
单层感知机,使用对称硬限幅:\(\mathbf{a}=\mathrm{hardlims}(\mathbf{W}\mathbf{p}+\mathbf{b})\)(图 3.1)。
两输入情形(Two-Input Case)
先分析 \(R=2\) 的单神经元感知机。取 \(w_{1,1}=-1\),\(w_{1,2}=1\):
- 决策边界总与权值向量正交,改变 \(b\) 可平移边界。\(\mathbf{W}\) 有多行时每行对应一条边界(第 4 章)。阴影区(输出 1)在权值向量指向的一侧。
- 一般地,决策边界由 \(\mathbf{W}\mathbf{p}+b=0\)(3.6)决定。边界必须是线性的,故单层感知机只能识别线性可分(linearly separable)的模式。
模式识别例(Pattern Recognition Example)
\(R=3\):\(a=\mathrm{hardlims}\big([w_{1,1}\ w_{1,2}\ w_{1,3}]\mathbf{p}+b\big)\)(3.7)。希望苹果输出 1、橙子输出 −1。由图 3.4,对称地分开两个原型的线性边界是 \(p_1\)-\(p_3\) 平面,即 \(p_2=0\)(3.8),写成 \([0\ 1\ 0]\mathbf{p}+0=0\)(3.9),于是
- 后续问题:高维输入无法画图设计边界,需学习算法(第 4、7、10、11 章);非线性可分的类别需多层感知机(第 11 章),多层网络能解决任意复杂的分类问题。
3.3 Hamming 网络(Hamming Network,PDF p.68–72)
Hamming 网络 [Lipp87] 专为二值模式识别设计(输入元素只取两个值,此处为 ±1),同时使用前馈层和循环层(图 3.5),两层神经元数相同。目标:判断哪个原型向量最接近输入。循环层每个原型对应一个神经元,收敛后只有一个神经元输出非零,指示最接近的原型。
前馈层(Feedforward Layer)
计算每个原型与输入的相关(内积)。权值矩阵 \(\mathbf{W}^1\) 的各行设为原型:
- 等长向量方向相同时内积最大、相反时最小(第 5、8、9 章细讲)。加 \(R\) 保证前馈层输出非负,这是循环层正常工作所必需的。
- 之所以叫 Hamming 网络:前馈层输出最大的神经元对应与输入 Hamming 距离(二值向量中不同元素的个数)最近的原型。读者可证明:前馈层输出 \(=2R-2\times\)(Hamming 距离)。(推导:\(\pm1\) 向量相同元素贡献 +1、不同贡献 −1,内积 \(=R-2d\),加 \(R\) 得 \(2R-2d\)。)
循环层(Recurrent Layer)
循环层是竞争层(competitive layer):以前馈层输出初始化,神经元相互竞争,最后只有一个神经元输出非零(胜者)。
例:椭圆橙子 \(\mathbf{p}=[-1,-1,-1]^T\)(3.22)。前馈层输出 \(\mathbf{a}^1=[(1+1+1)+3,\ (-1+1+1)+3]^T=[4,\ 2]^T\)(3.23)。取 \(\varepsilon=1/2\):
- 许多网络采用"内积前馈层 + 竞争动态层"的原理:第 15、16、18、19 章的自组织竞争网络,能根据输入自行调整原型向量。
3.4 Hopfield 网络(Hopfield Network,PDF p.72–74)
循环网络,类似 Hamming 的循环层,但能一并完成 Hamming 两层的工作(图 3.6 是标准 Hopfield 网络的简化变体)。神经元用输入向量初始化,迭代至输出收敛;正常工作时输出就是某个原型向量本身(Hamming 网络是用非零神经元的位置指示原型)。
3.5 结语(Epilogue,PDF p.75)
- 前馈网络(第 4、7、11、12、13、17 章):一次前向计算得到输出、无反馈;用于模式识别和函数逼近(自适应滤波、自动控制)。
- 竞争网络(以 Hamming 为代表):①计算存储原型与输入的某种距离;②通过竞争确定最接近的原型。第 16、18、19 章中原型会随新输入调整,即学会把输入聚类。
- 循环网络(如 Hopfield):受统计力学启发,用作联想记忆(按内容联想而非按地址取回数据),也用于求解优化问题(第 20、21 章)。
- 后续将回答的五个问题:多输入感知机如何确定权值(第 4、10 章);非线性可分时如何扩展感知机(第 11–13 章);不知原型时能否学习 Hamming 网络权值(第 16、18、19 章);如何设计 Hopfield 网络权值(第 21 章);Hopfield 网络是否收敛(第 20、21 章)。
3.6 习题(Exercises,PDF p.76–79)
- E3.1 区分香蕉 \([-1,1,-1]^T\) 与菠萝 \([-1,-1,1]^T\):分别设计感知机、Hamming、Hopfield 网络并用多种输入测试,讨论优缺点。
- E3.2 两个二维原型:求感知机决策边界、权值与偏置并画网络图;对输入 \([1,0]^T\) 计算输出并判断是否合理;再设计 Hamming 网络、比较两网络的判决,讨论哪种更适合(考点:Hamming 网络针对二值输入,用于非二值时内积判据与欧氏距离判据可能不一致)。
- E3.3 Hopfield 网络 \(\mathbf{W}=\begin{bmatrix}1&-1\\-1&1\end{bmatrix}\),\(\mathbf{b}=\mathbf{0}\),输入 \([0.9,\ 1]^T\):逐次迭代至收敛;画出收敛到同一输出的输入区域;找出其他收敛点及吸引域。
- E3.4 两神经元 hardlims 感知机 \(\mathbf{W}=\begin{bmatrix}1&1\\-1&1\end{bmatrix}\),\(\mathbf{b}=[-2,\ 0]^T\):能分几类(最多 4 类)、画出各类区域、计算输入 \([1,-1]^T\) 的输出并在图上验证。
- E3.5 设计感知机使两个给定向量输出 1、另两个输出 −1:画边界、求权值偏置、画简化记号图、逐个验证,讨论解的非唯一性及什么样的边界"最好"(考点:最大间隔思想的萌芽)。
- E3.6 两个原型向量,测试输入 \([0.5,-0.5]^T\):依次设计感知机、Hamming 网络、Hopfield 网络并比较输出好坏。
- E3.7 为给定的二维原型设计 Hamming 网络:求两层权值偏置、画图、对输入 \([1,0]^T\) 迭代第二层至收敛并解释输出含义、画出决策边界。
第 3 章 本章要点
- 同一分类问题可用感知机(线性决策边界)、Hamming 网络(内积 + 竞争,选最近原型)、Hopfield 网络(动力系统收敛到原型)三种方式求解。
- 感知机决策边界 \(\mathbf{W}\mathbf{p}+b=0\) 与权值向量正交,偏置控制平移,只能处理线性可分问题。
- Hamming 网络前馈层输出 \(=2R-2\times\)Hamming 距离;循环竞争层通过侧抑制 \(\mathbf{W}^2=\begin{bmatrix}1&-\varepsilon\\-\varepsilon&1\end{bmatrix}\),\(\varepsilon<1/(S-1)\) 选出胜者。
- Hopfield 网络通过设计 \(\mathbf{W}\)、\(\mathbf{b}\) 使原型成为稳定吸引点,输出即原型本身。
第 3 章 与量化交易的关联
- 三类网络对应量化中的三种任务形态:感知机/前馈网络对应涨跌方向分类、信号合成;竞争网络(最近原型)对应市场状态(regime)识别——把当前市场特征向量与若干典型状态原型(如牛市、熊市、震荡)比较,取最近者,这本质上是最近邻/聚类思想;Hopfield 型联想记忆对应"从带噪观测恢复典型模式",在量化中较少直接使用。
- "线性可分"的局限提醒:单个线性打分模型(如线性多因子打分后取阈值)只能给出线性决策边界,因子交互和非线性需更复杂模型。
- 本章是概念演示,没有直接可用于实盘的方法。
第 3 章 推荐习题
- E3.1:完整走一遍三种网络的设计,巩固本章全部概念。
- E3.2:对比感知机与 Hamming 网络在非二值输入下的差异。
- E3.3:理解 Hopfield 网络的吸引域。
- E3.5:体会决策边界的非唯一性与"最优边界"问题。
第 4 章 感知机学习规则(Perceptron Learning Rule,PDF p.80–121)
4.0 目标与历史(PDF p.80–81)
回答第 3 章的问题:输入维数很高、无法画出决策边界时,如何确定感知机的权值和偏置?本章先说明什么是学习规则,再推导感知机学习规则,证明其收敛,最后讨论单层感知机的局限。
- 1943 年 McCulloch-Pitts 神经元:输入加权和与阈值比较,\(\ge\) 阈值输出 1,否则 0;网络可计算任意算术/逻辑函数,但参数需人工设计,没有训练方法。
- 1950 年代末 Rosenblatt 的关键贡献:感知机学习规则,并证明只要存在能解决问题的权值,规则一定收敛到正确权值。学习简单自动:给网络呈现正确行为的样例,网络从错误中学习,甚至可从随机初值开始。
- 局限由 Minsky & Papert《Perceptrons》[MiPa69] 广为宣传:感知机不能实现某些基本函数。直到 1980 年代才由多层感知机及其学习规则克服(第 11、12 章)。
- 感知机至今仍是其可解问题类上快速可靠的网络,也是理解复杂网络的良好基础。
4.1 学习规则(Learning Rules,PDF p.81–82)
学习规则(learning rule,也称训练算法 training algorithm):修改网络权值与偏置的过程,目的是训练网络完成某项任务。三大类:
- 有监督学习(supervised learning):给定训练集(training set)
\[\{\mathbf{p}_1,\mathbf{t}_1\},\{\mathbf{p}_2,\mathbf{t}_2\},\dots,\{\mathbf{p}_Q,\mathbf{t}_Q\}\qquad(4.1)\]\(\mathbf{p}_q\) 为输入,\(\mathbf{t}_q\) 为对应的正确输出(目标 target)。比较网络输出与目标,调整参数使输出靠近目标。感知机规则属于此类;第 7–14 章也是有监督算法。
- 强化学习(reinforcement / graded learning):不提供每个输入的正确输出,只给出一个评分(grade),衡量网络在一段输入序列上的表现。当时远不如有监督学习常见,最适合控制系统([BaSu83]、[WhSo92])。
- 无监督学习(unsupervised learning):只根据输入调整参数,没有目标输出。多数算法做某种聚类,把输入模式归入有限个类别,适用于向量量化(vector quantization)等(第 15–19 章)。
4.2 感知机结构(Perceptron Architecture,PDF p.82–88)
一般感知机网络(图 4.1):
单神经元感知机(Single-Neuron Perceptron)
两输入:\(a=\mathrm{hardlim}(w_{1,1}p_1+w_{1,2}p_2+b)\)(4.8)。决策边界(decision boundary)为净输入为零的输入集合:
图解法:边界 \({}_1\mathbf{w}^T\mathbf{p}+b=0\)(4.15)上所有点与权值向量的内积相同(\(=-b\)),即在 \({}_1\mathbf{w}\) 上投影相同,故位于与 \({}_1\mathbf{w}\) 正交的直线上。阴影区内积 \(>-b\),其余 \(<-b\),因此权值向量总指向输出为 1 的区域。选好方向正确的权值向量后,在边界上取一点代入(4.15)即可求 \(b\)。
例:AND 门。\(\{\mathbf{p}_1=[0,0]^T,t_1=0\}\),\(\{\mathbf{p}_2=[0,1]^T,t_2=0\}\),\(\{\mathbf{p}_3=[1,0]^T,t_3=0\}\),\(\{\mathbf{p}_4=[1,1]^T,t_4=1\}\)。选位于两类"正中间"的边界,权值向量与之正交,任意长度,取 \({}_1\mathbf{w}=[2,2]^T\)(4.16)。取边界上一点 \(\mathbf{p}=[1.5,0]^T\):\([2\ 2][1.5,0]^T+b=3+b=0\Rightarrow b=-3\)(4.17)。检验 \(\mathbf{p}_2\):\(a=\mathrm{hardlim}([2\ 2][0,1]^T-3)=\mathrm{hardlim}(-1)=0=t_2\)(4.18)。演示 nnd4db。
多神经元感知机(Multiple-Neuron Perceptron)
每个神经元一条边界:\({}_i\mathbf{w}^T\mathbf{p}+b_i=0\)(4.19)。单神经元只能分两类;\(S\) 个神经元的输出向量每个元素取 0 或 1,最多可表示 \(2^S\) 个类别。
4.3 感知机学习规则(Perceptron Learning Rule,PDF p.87–94)
测试问题(Test Problem)
训练集 \(\{\mathbf{p}_1=[1,2]^T,t_1=1\}\),\(\{\mathbf{p}_2=[-1,2]^T,t_2=0\}\),\(\{\mathbf{p}_3=[0,-1]^T,t_3=0\}\)。为简化,先用无偏置两输入单输出网络 \(a=\mathrm{hardlim}(\mathbf{W}\mathbf{p})\)(图 4.4),只有 \(w_{1,1}, w_{1,2}\) 两个参数。无偏置时边界必须过原点;图示表明确有无穷多条过原点的边界能分开 \(\mathbf{p}_2,\mathbf{p}_3\) 与 \(\mathbf{p}_1\)。我们希望学习规则找到指向允许方向之一的权值向量——只有方向重要,长度无关。
构造学习规则(Constructing Learning Rules)
随机初始化 \({}_1\mathbf{w}^T=[1.0,\ -0.8]\)(4.21)。
- 呈现 \(\mathbf{p}_1\):\(a=\mathrm{hardlim}([1.0\ -0.8][1,2]^T)=\mathrm{hardlim}(-0.6)=0\)(4.22),目标 1,错分。需让 \({}_1\mathbf{w}\) 更多指向 \(\mathbf{p}_1\)。
- 方案一:令 \({}_1\mathbf{w}=\mathbf{p}_1\)。简单但可能失败:存在问题(图示两个类 1 向量方向不同)使权值直接指向任一类 1 向量都无法求解,每次错分时把权值设成该向量会来回振荡、永不收敛。
- 方案二:把 \(\mathbf{p}_1\) 加到 \({}_1\mathbf{w}\) 上,使其方向更接近 \(\mathbf{p}_1\);反复呈现会使方向渐近趋于 \(\mathbf{p}_1\)。规则:若 \(t=1\) 且 \(a=0\),则 \({}_1\mathbf{w}^{new}={}_1\mathbf{w}^{old}+\mathbf{p}\)(4.23)。
- 得 \({}_1\mathbf{w}^{new}=[1.0,-0.8]^T+[1,2]^T=[2.0,1.2]^T\)(4.24)。
- 呈现 \(\mathbf{p}_2\):\(a=\mathrm{hardlim}([2.0\ 1.2][-1,2]^T)=\mathrm{hardlim}(0.4)=1\)(4.25),目标 0,类 0 被错分为 1。要让权值远离该输入,把加法改为减法:若 \(t=0\) 且 \(a=1\),则 \({}_1\mathbf{w}^{new}={}_1\mathbf{w}^{old}-\mathbf{p}\)(4.26)。得 \([2.0,1.2]^T-[-1,2]^T=[3.0,-0.8]^T\)(4.27)。
- 呈现 \(\mathbf{p}_3\):\(a=\mathrm{hardlim}([3.0\ -0.8][0,-1]^T)=\mathrm{hardlim}(0.8)=1\)(4.28),错分,用(4.26):\([3.0,-0.8]^T-[0,-1]^T=[3.0,0.2]^T\)(4.29)。此时三个向量都被正确分类。
- 第三条规则:"能用就别修":若 \(t=a\),则 \({}_1\mathbf{w}^{new}={}_1\mathbf{w}^{old}\)(4.30)。三条规则覆盖输出与目标的全部组合(4.31)。
统一学习规则(Unified Learning Rule)
定义感知机误差 \(e=t-a\)(4.32)。三条规则改写为:\(e=1\) 时加 \(\mathbf{p}\);\(e=-1\) 时减 \(\mathbf{p}\);\(e=0\) 时不变(4.33)。\(\mathbf{p}\) 前的符号与 \(e\) 相同,故统一为
训练多神经元感知机(Training Multiple-Neuron Perceptrons)
第 \(i\) 行:\({}_i\mathbf{w}^{new}={}_i\mathbf{w}^{old}+e_i\mathbf{p}\)(4.36);\(b_i^{new}=b_i^{old}+e_i\)(4.37)。矩阵形式(感知机规则):
例:苹果/橙子。\(\{\mathbf{p}_1=[1,-1,-1]^T,t_1=0\}\)(橙子),\(\{\mathbf{p}_2=[1,1,-1]^T,t_2=1\}\)(苹果)(4.40)(因用 hardlim,橙子目标取 0 而非 −1)。权值偏置通常初始化为小随机数,这里取 \(\mathbf{W}=[0.5\ -1\ -0.5]\),\(b=0.5\)(4.41)。
- 第 1 次迭代:\(a=\mathrm{hardlim}(0.5+1+0.5+0.5)=\mathrm{hardlim}(2.5)=1\)(4.42);\(e=0-1=-1\)(4.43);\(\mathbf{W}=[0.5\ -1\ -0.5]-[1\ -1\ -1]=[-0.5\ 0\ 0.5]\)(4.44);\(b=0.5-1=-0.5\)(4.45)。
- 第 2 次:\(\mathbf{p}_2\):\(a=\mathrm{hardlim}(-0.5+0-0.5-0.5)=\mathrm{hardlim}(-1.5)=0\)(抽取文本中此处中间值显示为 \(-0.5\),按计算应为 \(-1.5\),结论 \(a=0\) 不变);\(e=1\);\(\mathbf{W}=[-0.5\ 0\ 0.5]+[1\ 1\ -1]=[0.5\ 1\ -0.5]\);\(b=-0.5+1=0.5\)(4.46–4.49)。
- 第 3 次:\(\mathbf{p}_1\):\(a=\mathrm{hardlim}(0.5-1+0.5+0.5)=\mathrm{hardlim}(0.5)=1\);\(e=-1\);\(\mathbf{W}=[0.5\ 1\ -0.5]-[1\ -1\ -1]=[-0.5\ 2\ 0.5]\);\(b=-0.5\)(4.50–4.53)。 继续迭代会发现两个输入都已正确分类,算法收敛。最终边界与第 3 章设计的不同,但都能正确分类。演示 nnd4pr。
4.4 收敛性证明(Proof of Convergence,PDF p.94–97)
定理:若存在能正确分类全部样本的权值,单神经元感知机学习规则在有限步内收敛。
记号:单神经元 \(a=\mathrm{hardlim}({}_1\mathbf{w}^T\mathbf{p}+b)\)(4.54),训练集(4.55)中 \(t_q\in\{0,1\}\)。合并权值与偏置 \(\mathbf{x}=\begin{bmatrix}{}_1\mathbf{w}\\ b\end{bmatrix}\)(4.56),增广输入 \(\mathbf{z}_q=\begin{bmatrix}\mathbf{p}_q\\1\end{bmatrix}\)(4.57),则 \(n=\mathbf{x}^T\mathbf{z}\)(4.58),规则为 \(\mathbf{x}^{new}=\mathbf{x}^{old}+e\mathbf{z}\)(4.59)。只计权值发生改变的迭代:
证明思路:给出第 \(k\) 步权值向量长度的上下界,二者矛盾说明 \(k\) 有上界。
- 下界:设 \(\mathbf{x}(0)=\mathbf{0}\)(不失一般性),则 \(\mathbf{x}(k)=\mathbf{z}'(0)+\cdots+\mathbf{z}'(k-1)\)(4.64)。与解向量作内积 \(\mathbf{x}^{*T}\mathbf{x}(k)=\sum_i\mathbf{x}^{*T}\mathbf{z}'(i)\)(4.65)。由于 \(\mathbf{z}'\) 只在错分时带入且符号已校正,\(\mathbf{x}^{*T}\mathbf{z}'(i)>\delta\)(4.66),故 \(\mathbf{x}^{*T}\mathbf{x}(k)>k\delta\)(4.67)。由 Cauchy-Schwarz 不等式 \((\mathbf{x}^{*T}\mathbf{x}(k))^2\le\|\mathbf{x}^*\|^2\|\mathbf{x}(k)\|^2\)(4.68,\(\|\mathbf{x}\|^2=\mathbf{x}^T\mathbf{x}\),4.69)得
\[\|\mathbf{x}(k)\|^2\ge\frac{(\mathbf{x}^{*T}\mathbf{x}(k))^2}{\|\mathbf{x}^*\|^2}>\frac{(k\delta)^2}{\|\mathbf{x}^*\|^2}\qquad(4.70)\]
- 上界:\(\|\mathbf{x}(k)\|^2=\|\mathbf{x}(k-1)\|^2+2\mathbf{x}^T(k-1)\mathbf{z}'(k-1)+\|\mathbf{z}'(k-1)\|^2\)(4.71)。由于只有在上一步错分时才更新,\(\mathbf{x}^T(k-1)\mathbf{z}'(k-1)\le0\)(4.72),故 \(\|\mathbf{x}(k)\|^2\le\|\mathbf{x}(k-1)\|^2+\|\mathbf{z}'(k-1)\|^2\)(4.73)。递推得 \(\|\mathbf{x}(k)\|^2\le\|\mathbf{z}'(0)\|^2+\cdots+\|\mathbf{z}'(k-1)\|^2\)(4.74)。令 \(\Pi=\max\{\|\mathbf{z}'(i)\|^2\}\),则 \(\|\mathbf{x}(k)\|^2\le k\Pi\)(4.75)。
- 合并:
\[k\Pi\ge\|\mathbf{x}(k)\|^2>\frac{(k\delta)^2}{\|\mathbf{x}^*\|^2}\ \Longrightarrow\ k<\frac{\Pi\|\mathbf{x}^*\|^2}{\delta^2}\qquad(4.76)\]\(k\) 有上界,故权值只会改变有限次,算法在有限步内收敛。
- 解读:最大迭代次数与 \(\delta^2\) 成反比;\(\delta\) 衡量解边界离输入模式有多近(即间隔 margin)。类别越难分(越靠近边界),收敛所需迭代越多。
- 证明只需三个假设:①解存在(4.66 成立);②只在错分时更新(4.72 成立);③输入向量长度有上界 \(\Pi\)。由于证明的一般性,很多感知机规则的变体也能证明收敛(见 E4.13)。
4.5 局限性(Limitations,PDF p.97–98)
单神经元感知机的边界 \({}_1\mathbf{w}^T\mathbf{p}+b=0\)(4.77)是线性边界(超平面,hyperplane),只能分类线性可分(linearly separable)向量。AND 门(二维)和苹果/橙子(三维)是线性可分例子。经典的非线性可分例是 XOR 门:\(\{[0,0]^T,0\},\{[0,1]^T,1\},\{[1,0]^T,1\},\{[1,1]^T,0\}\);图 4.6 还给出另外两个线性不可分问题。基本感知机无法解决这类简单问题,部分导致了 1970 年代研究热度下降。Rosenblatt 研究过更复杂的网络,但未能把感知机规则有效推广。第 11 章的多层感知机可解决任意分类问题,用反向传播训练。
4.6 结果汇总(PDF p.99)
\(\mathbf{a}=\mathrm{hardlim}(\mathbf{W}\mathbf{p}+\mathbf{b})\);\(a_i=\mathrm{hardlim}({}_i\mathbf{w}^T\mathbf{p}+b_i)\);边界 \({}_i\mathbf{w}^T\mathbf{p}+b_i=0\),总与权值向量正交;单层感知机只能分类线性可分向量;规则 \(\mathbf{W}^{new}=\mathbf{W}^{old}+\mathbf{e}\mathbf{p}^T\),\(\mathbf{b}^{new}=\mathbf{b}^{old}+\mathbf{e}\),\(\mathbf{e}=\mathbf{t}-\mathbf{a}\)。
4.7 已解习题(Solved Problems,PDF p.100–112)
- P4.1 图解三个简单二维分类问题:画分隔线,权值向量与边界正交并指向类 1(深色点),长度任意。取 (a) \({}_1\mathbf{w}=[-2,1]^T\),(b) \([0,-2]^T\),(c) \([2,-2]^T\);在边界上取点由 \(b=-{}_1\mathbf{w}^T\mathbf{p}\) 得 (a) \(b=0\),(b) \(b=-2\),(c) \(b=6\)。检验 (a) 对 \(\mathbf{p}=[-2,2]^T\):\(a=\mathrm{hardlim}(6)=1\)。附 MATLAB:
w=[-2 1]; b=0; a=hardlim(w*[1;1]+b)得 0。 - P4.2 把分类问题转化为关于权值与偏置的不等式组。\(\{[0,2]^T,1\},\{[1,0]^T,1\},\{[0,-2]^T,0\},\{[2,0]^T,0\}\)。目标为 1 要求净输入 \(\ge0\),为 0 要求 \(<0\):(i) \(2w_{1,2}+b\ge0\);(ii) \(w_{1,1}+b\ge0\);(iii) \(-2w_{1,2}+b<0\);(iv) \(2w_{1,1}+b<0\)。\(w_{1,1}\) 只出现在 (ii)(iv),\(w_{1,2}\) 只出现在 (i)(iii),可分别在 \((w_{1,1},b)\)、\((w_{1,2},b)\) 平面上画可行域,取交集。一个解:\(\mathbf{W}=[-2\ \ 3]\),\(b=3\)。解不等式比解等式难,且通常有无穷多解。
- P4.3 四类问题:类 1 \(\{[1,1]^T,[1,2]^T\}\),类 2 \(\{[2,-1]^T,[2,0]^T\}\),类 3 \(\{[-1,2]^T,[-2,1]^T\}\),类 4 \(\{[-1,-1]^T,[-2,-2]^T\}\)。\(S\) 个神经元可分 \(2^S\) 类,故至少 2 个神经元。思路:一条边界把四类分成两组各两类,另一条再把每组分开,从而确认线性可分。选目标:类 1 \([0,0]^T\),类 2 \([0,1]^T\),类 3 \([1,0]^T\),类 4 \([1,1]^T\)。权值 \({}_1\mathbf{w}=[-3,-1]^T\),\({}_2\mathbf{w}=[1,-2]^T\);取边界上点求得 \(b_1=1\),\(b_2=0\)。即 \(\mathbf{W}=\begin{bmatrix}-3&-1\\1&-2\end{bmatrix}\),\(\mathbf{b}=[1,0]^T\)。
- P4.4 用感知机规则求解 \(\{[2,2]^T,0\},\{[1,-2]^T,1\},\{[-2,2]^T,0\},\{[-1,1]^T,1\}\),初值 \(\mathbf{W}(0)=[0\ 0]\),\(b(0)=0\),按顺序循环:
- \(\mathbf{p}_1\):\(a=\mathrm{hardlim}(0)=1\),\(e=-1\),\(\mathbf{W}(1)=[-2\ -2]\),\(b(1)=-1\);
- \(\mathbf{p}_2\):\(a=\mathrm{hardlim}(-2+4-1)=\mathrm{hardlim}(1)=1=t_2\),不变;
- \(\mathbf{p}_3\):\(a=\mathrm{hardlim}(4-4-1)=0=t_3\),不变;
- \(\mathbf{p}_4\):\(a=\mathrm{hardlim}(2-2-1)=0\ne1\),\(e=1\),\(\mathbf{W}(4)=[-3\ -1]\),\(b(4)=0\);
- \(\mathbf{p}_1\):\(a=\mathrm{hardlim}(-8)=0\),正确;
- \(\mathbf{p}_2\):\(a=\mathrm{hardlim}(-3+2+0)=\mathrm{hardlim}(-1)=0\ne1\),\(e=1\),\(\mathbf{W}(6)=[-2\ -3]\),\(b(6)=1\);
- 再循环一遍全部正确,收敛:\(\mathbf{W}=[-2\ -3]\),\(b=1\)。边界 \(-2p_1-3p_2+1=0\),截距 \(p_2=1/3\)、\(p_1=1/2\)。注意边界恰好穿过一个训练向量(\(\mathbf{p}_4\):\(2-3+1=0\)),因 hardlim(0)=1 且其目标为 1,按问题定义可接受(但不稳健)。
- P4.5 用感知机规则训练 P4.3 的四类问题,初值 \(\mathbf{W}(0)=\mathbf{I}\),\(\mathbf{b}(0)=[1,1]^T\):
- 第 1 次(\(\mathbf{p}_1=[1,1]^T\)):\(\mathbf{a}=[1,1]^T\),\(\mathbf{e}=[-1,-1]^T\),\(\mathbf{W}(1)=\begin{bmatrix}0&-1\\-1&0\end{bmatrix}\),\(\mathbf{b}(1)=[0,0]^T\);
- 第 2 次(\(\mathbf{p}_2\)):\(\mathbf{a}=[0,0]^T\),无误差;
- 第 3 次(\(\mathbf{p}_3=[2,-1]^T\)):\(\mathbf{a}=[1,0]^T\),\(\mathbf{e}=[-1,1]^T\),\(\mathbf{W}(3)=\begin{bmatrix}-2&0\\1&-1\end{bmatrix}\),\(\mathbf{b}(3)=[-1,1]^T\);
- 第 4–8 次无变化;第 9 次(\(\mathbf{p}_1\)):\(\mathbf{a}=[0,1]^T\),\(\mathbf{e}=[0,-1]^T\),\(\mathbf{W}(9)=\begin{bmatrix}-2&0\\0&-2\end{bmatrix}\),\(\mathbf{b}(9)=[-1,0]^T\)。
- 此后全部正确,收敛。最终边界(图 P4.7)与 P4.3 人工设计的不同。
4.8 结语与延伸阅读(PDF p.113–115)
感知机规则是第一个有监督学习规则,简单而强大,只要解存在就收敛。弱点不在规则而在网络结构:标准感知机只能分类线性可分向量;第 11 章推广到多层感知机并用反向传播训练。第 3、4 章已用到内积、投影、距离(范数)等线性代数概念,第 5、6 章将系统复习。 延伸阅读:[BaSu83] 用强化学习训练神经网络平衡倒立摆;[Brog91] Brogan《Modern Control Theory》,前半部分为线性代数;[McPi43];[MiPa69];[Rose58];[Rose61]《Principles of Neurodynamics》;[WhSo92]《Handbook of Intelligent Control》。
4.9 习题(Exercises,PDF p.116–121)
- E4.1 五个二维点(\([-1,1],[0,0],[1,-1]\) 目标 1;\([1,0],[0,1]\) 目标 0):画单神经元感知机,判断是否可解(考点:线性可分性判断——此题点 \([0,0]\) 夹在中间,需检查)。
- E4.2 \(\{[-1,1]^T,1\},\{[-1,-1]^T,1\},\{[0,0]^T,0\},\{[1,0]^T,0\}\):图解设计、测试,并分类新点 \([-2,0]^T,[1,1]^T,[0,1]^T,[-1,-2]^T\);讨论哪些新点的分类与具体解无关、哪些依赖于解(考点:解不唯一导致对未见样本的泛化不同)。
- E4.3 用不等式法解 E4.2(不能像 P4.2 那样按参数成对分离)。
- E4.4 用感知机规则从 \(\mathbf{W}(0)=[0\ 0]\),\(b(0)=0\) 解 E4.2。
- E4.5 用数学方法(非图解)证明 \(\{[-1,1]^T,1\},\{[-1,-1]^T,0\},\{[1,-1]^T,1\},\{[1,1]^T,0\}\) 对两输入单神经元感知机不可解(提示:写成不等式组导出矛盾;这是 XOR 型问题)。
- E4.6 四类向量:设计两神经元感知机、画边界与网络图;向类 I 新增一个向量后做一次感知机规则迭代并画新边界。
- E4.7 两类向量:设计单神经元感知机、画边界;新增向量是否被正确分类,能否修改权值使之正确(考点:新点可能导致线性不可分)。
- E4.8 训练集 \(\{[-1,-1]^T,0\},\{[0,0]^T,0\},\{[-1,1]^T,1\}\),初值 \(\mathbf{W}(0)=[1\ 0]\),\(b(0)=0.5\):画初始边界、训练一遍、画最终边界;讨论任意初值下感知机规则是否总能学会(考点:收敛定理的条件——线性可分即可)。
- E4.9 三个训练向量,初值 \(\mathbf{W}(0)=[0\ 1]\),\(b(0)=1\):逐步迭代并画边界变化;不计算判断最终是否收敛。
- E4.10 对称硬限幅(目标 ±1)与硬限幅(目标 0/1):写出 \([0,1]\leftrightarrow[-1,1]\) 映射(\(y=2x-1\),\(x=(y+1)/2\));相同初值、相同输入下二者权值更新是否相同、差在哪里(hardlims 的误差为 ±2,更新量是 hardlim 的两倍);给出使两者训练过程完全一致的初始化方法(初值取 2 倍)。
- E4.11 玩具兔子与熊:特征为重量与耳长,兔子 \([1,4],[1,5],[2,4],[2,5]\) 目标 0,熊 \([3,1],[3,2],[4,1],[4,2]\) 目标 1。用 MATLAB 训练测试;再设计通用方法添加辅助训练向量,确保解边界不穿过原始样本(考点:稳健边界/间隔)。
- E4.12 把 P4.3 中 \(\mathbf{p}_3\) 改为 \([2,2]^T\),问是否仍线性可分并训练;再改为 \([2,1.5]^T\) 重复(考点:线性不可分时感知机规则不收敛的表现)。
- E4.13 带学习率的变体 \(\mathbf{W}^{new}=\mathbf{W}^{old}+\alpha\mathbf{e}\mathbf{p}^T\),\(\mathbf{b}^{new}=\mathbf{b}^{old}+\alpha\mathbf{e}\):证明收敛,并讨论是否需要限制学习率(结论:对任意 \(\alpha>0\) 均收敛,因为从零初值出发时 \(\alpha\) 只是整体缩放权值)。
第 4 章 本章要点
- 学习规则分有监督、强化、无监督三类。感知机规则是有监督规则:\(\mathbf{W}^{new}=\mathbf{W}^{old}+\mathbf{e}\mathbf{p}^T\),\(\mathbf{b}^{new}=\mathbf{b}^{old}+\mathbf{e}\),\(\mathbf{e}=\mathbf{t}-\mathbf{a}\),只在错分时更新。
- 决策边界与权值向量正交,权值向量指向输出 1 的一侧;偏置平移边界。\(S\) 个神经元最多分 \(2^S\) 类。
- 收敛定理:线性可分时有限步收敛,迭代次数上界 \(\Pi\|\mathbf{x}^*\|^2/\delta^2\),与间隔平方成反比。
- 局限:只能处理线性可分问题(XOR 不行),且找到的解是"任意一个可行解",可能紧贴样本、不稳健。
第 4 章 与量化交易的关联
- 方向分类:以因子向量为输入、次日涨跌(0/1)为目标的线性分类器,本质就是感知机;感知机规则是在线逐样本更新的最简单算法,可作为在线学习(online learning)概念的入门。但金融数据几乎从不线性可分,感知机规则在不可分数据上不会收敛而会持续震荡,实践中要用基于损失函数的方法(第 10 章 LMS、逻辑回归、SVM)。
- 间隔与稳健性:收敛界中的 \(\delta\)(间隔)以及 P4.4 中"边界穿过训练点"的例子说明,只求在训练集上分对的解对噪声极其敏感——这是量化中过拟合的直观来源,引出最大间隔分类器(SVM)和正则化思想。
- 不等式法(P4.2)把分类变成线性可行性问题,与线性规划形式的分类器、组合约束的可行域分析在数学上同构。
第 4 章 推荐习题
- P4.4、P4.5:手算感知机规则,掌握逐样本更新流程。
- E4.5:用不等式证明 XOR 型问题不可解,理解线性可分性的代数含义。
- E4.10:hardlim 与 hardlims 的等价性。
- E4.11 (iii):设计提高边界稳健性的方法,联系间隔概念。
- E4.13:带学习率的收敛性证明,巩固收敛定理。
第 5 章 信号与权值向量空间(Signal and Weight Vector Spaces,PDF p.122–156)
5.0 目标与动机(PDF p.122–123)
第 3、4 章表明,把网络的输入、输出以及权值矩阵的各行看作向量非常有用。例如 Hamming 网络前馈层的权值行就是原型向量,作用是计算原型与输入的内积;单神经元感知机的决策边界总与权值行向量正交。本章复习向量空间中对分析神经网络最有用的性质(内积、正交等),本章与第 6 章的概念贯穿全书,是理解"神经网络为何有效"的关键。 记号:\(\mathbb{R}^n\) 中的向量用粗体小写 \(\mathbf{x}=[x_1,\dots,x_n]^T\)(5.1);更一般向量空间中的向量用花体 \(\mathcal{x}\)(本笔记中用 \(x\) 表示一般向量,必要时说明)。后文将说明一般向量也常可用一列数表示。
5.1 线性向量空间(Linear Vector Spaces,PDF p.123–125)
定义:定义在标量域 \(F\) 上的线性向量空间 \(X\) 是满足以下十条的元素(向量)集合:
- 向量加法封闭:\(x\in X,\ y\in X\Rightarrow x+y\in X\);
- 交换律 \(x+y=y+x\);
- 结合律 \((x+y)+z=x+(y+z)\);
- 存在唯一零向量 \(0\in X\),使 \(x+0=x\) 对一切 \(x\) 成立;
- 每个 \(x\) 有唯一的 \(-x\in X\),使 \(x+(-x)=0\);
- 数乘封闭:对一切 \(a\in F\)、\(x\in X\),\(ax\in X\);
- \(1x=x\);
- \(a(bx)=(ab)x\);
- \((a+b)x=ax+bx\);
- \(a(x+y)=ax+ay\)。
例子:
- \(\mathbb{R}^2\) 显然是向量空间。
- \(\mathbb{R}^2\) 中的有界方框不是:两向量在框内,和可能在框外,条件 1 不满足。任何有界集都不是向量空间。
- \(\mathbb{R}^2\) 中过原点的无限直线是向量空间(子空间 subspace);不过原点的直线不满足条件 4。
- \(P^2\):次数不超过 2 的多项式全体,如 \(x=2+t+4t^2\),\(y=1+5t\)(5.2)。加法、数乘后仍为次数 \(\le2\) 的多项式,十条都满足。
- \(C[0,1]\):\([0,1]\) 上全体连续函数,如 \(x=\sin t\),\(y=e^{-2t}\)(5.3)。也是向量空间,且是无穷维的。
5.2 线性无关(Linear Independence,PDF p.125–126)
若存在不全为零的标量 \(a_1,\dots,a_n\) 使
- 例:橙子 \(\mathbf{p}_1=[1,-1,-1]^T\) 与苹果 \(\mathbf{p}_2=[1,1,-1]^T\)(5.5)。\(a_1\mathbf{p}_1+a_2\mathbf{p}_2=[a_1+a_2,\ -a_1+a_2,\ -(a_1+a_2)]^T=\mathbf{0}\)(5.6)只有 \(a_1=a_2=0\),故无关。
- 例:\(P^2\) 中 \(x_1=1+t+t^2\),\(x_2=2+2t+t^2\),\(x_3=1+t\)(5.7),取 \(a_1=1,a_2=-1,a_3=1\) 得 \(x_1-x_2+x_3=0\)(5.8),故相关。
5.3 张成空间(Spanning a Space,PDF p.126–127)
子集 \(\{u_1,\dots,u_m\}\) 张成(spans)\(X\),当且仅当对每个 \(x\in X\) 存在标量 \(x_1,\dots,x_m\) 使 \(x=x_1u_1+\cdots+x_mu_m\)。 基(basis set):张成 \(X\) 的线性无关向量集,包含张成所需的最少向量数。\(X\) 的维数(dimension)= 基中元素个数。基不唯一,但所有基元素个数相同([Stra80])。
- 例:\(P^2\) 的一组基 \(u_1=1,\ u_2=t,\ u_3=t^2\)(5.9);任意三个无关向量也构成基,如 \(u_1=1,\ u_2=1+t,\ u_3=1+t+t^2\)(5.10)。
5.4 内积(Inner Product,PDF p.127)
任一满足以下性质的标量函数 \((x,y)\) 都可定义为内积:
- \((x,y)=(y,x)\);
- \((x,ay_1+by_2)=a(x,y_1)+b(x,y_2)\);
- \((x,x)\ge0\),等号当且仅当 \(x\) 为零向量。 \(\mathbb{R}^n\) 的标准内积 \(\mathbf{x}^T\mathbf{y}=x_1y_1+\cdots+x_ny_n\)(5.11),但不是唯一选择。\(C[0,1]\) 上可定义 \((x,y)=\int_0^1 x(t)y(t)\,dt\)(5.12)(证明见 P5.6)。
5.5 范数(Norm,PDF p.128)
标量函数 \(\|x\|\) 称为范数,若:
- \(\|x\|\ge0\);
- \(\|x\|=0 \iff x=0\);
- \(\|ax\|=|a|\,\|x\|\);
- 三角不等式 \(\|x+y\|\le\|x\|+\|y\|\)。 常用的由内积导出的范数 \(\|x\|=(x,x)^{1/2}\)(5.13);在 \(\mathbb{R}^n\) 中即欧氏范数 \(\|\mathbf{x}\|=(\mathbf{x}^T\mathbf{x})^{1/2}=\sqrt{x_1^2+\cdots+x_n^2}\)(5.14)。
- 神经网络中常对输入归一化(normalize),使每个输入向量 \(\|\mathbf{p}_i\|=1\)。
- 夹角(angle)推广到高维:
\[\cos\theta=\frac{(x,y)}{\|x\|\,\|y\|}\qquad(5.15)\]
5.6 正交(Orthogonality,PDF p.128–129)
\((x,y)=0\) 时称 \(x,y\) 正交。第 7 章会看到:模式识别问题的原型向量若正交且归一化,线性联想器用 Hebb 规则训练可实现完美识别。
- 向量 \(x\) 与子空间 \(X_1\) 正交(\(x\perp X_1\)):\(x\) 与 \(X_1\) 中每个向量正交。子空间 \(X_1\perp X_2\):\(X_1\) 中每个向量都与 \(X_2\) 中每个向量正交。
- 例:第 3 章感知机中,\(p_1\)-\(p_3\) 平面(决策边界)是 \(\mathbb{R}^3\) 的子空间,与 \(p_2\) 轴(另一个子空间)正交。P5.1 将证明偏置为零时感知机决策边界是向量空间。
5.7 Gram-Schmidt 正交化(Gram-Schmidt Orthogonalization,PDF p.129–130)
把 \(n\) 个无关向量 \(y_1,\dots,y_n\) 变成张成同一空间的 \(n\) 个正交向量 \(v_1,\dots,v_n\):
- \(v_1=y_1\)(5.16);
- \(v_2=y_2-a v_1\)(5.17),选 \(a\) 使 \((v_1,v_2)=(v_1,y_2)-a(v_1,v_1)=0\)(5.18),得 \(a=\dfrac{(v_1,y_2)}{(v_1,v_1)}\)(5.19)。\(av_1\) 称为 \(y_2\) 在 \(v_1\) 上的投影(projection),即减去 \(y_2\) 中沿 \(v_1\) 方向的分量;
- 第 \(k\) 步:
\[v_k=y_k-\sum_{i=1}^{k-1}\frac{(v_i,y_k)}{(v_i,v_i)}v_i\qquad(5.20)\]例:\(\mathbf{y}_1=[2,1]^T\),\(\mathbf{y}_2=[1,2]^T\)(5.21)。\(\mathbf{v}_1=[2,1]^T\)(5.22);\(\mathbf{v}_2=[1,2]^T-\frac{4}{5}[2,1]^T=[1,2]^T-[1.6,0.8]^T=[-0.6,1.2]^T\)(5.23)(图 5.1)。各向量除以范数即得标准正交(orthonormal)集。演示 nnd5gs。
5.8 向量展开(Vector Expansions,PDF p.130–134)
有限维空间中的一般向量都可写成一列数,因而在某种意义上与 \(\mathbb{R}^n\) 等价。若 \(X\) 有基 \(\{v_1,\dots,v_n\}\),则任一 \(x\in X\) 有唯一展开
互逆基向量(Reciprocal Basis Vectors)
基不正交时引入互逆基(reciprocal basis)\(\{r_1,\dots,r_n\}\),定义为
5.9 结果汇总(PDF p.135–137)
汇总向量空间十条公理、线性无关、张成、内积三条件、范数四条件、夹角、正交、Gram-Schmidt 公式、正交基展开系数 \(x_j=(v_j,x)/(v_j,v_j)\)、互逆基 \((r_i,v_j)=\delta_{ij}\)、\(x_j=(r_j,x)\)、\(\mathbf{R}^T=\mathbf{B}^{-1}\)、\(\mathbf{x}^v=\mathbf{B}^{-1}\mathbf{x}^s\)。
5.10 已解习题(Solved Problems,PDF p.138–146)
- P5.1 证明 \(b=0\) 时感知机决策边界 \(\mathbf{W}\mathbf{p}+b=0\) 是向量空间。设 \(\mathbf{p}_1,\mathbf{p}_2\) 在边界上:\(\mathbf{W}\mathbf{p}_1=0\)、\(\mathbf{W}\mathbf{p}_2=0\),相加得 \(\mathbf{W}(\mathbf{p}_1+\mathbf{p}_2)=0\)(条件 1);\(\mathbf{W}\mathbf{0}=0\)(条件 4);\(\mathbf{W}(-\mathbf{p})=0\)(条件 5);\(\mathbf{W}(a\mathbf{p})=0\)(条件 6);其余显然。
- P5.2 非负连续函数集 \(\{f(t)\ge0\}\) 不是向量空间:没有负向量(条件 5 不满足);取 \(f(t)=t\)、\(a=-2\),\(af(2)=-4<0\),条件 6 不满足。
- P5.3 判断无关并求张成空间维数:
- (i) \(\{[1,1,1]^T,[1,0,1]^T,[1,2,1]^T\}\):\(a_1=2,a_2=-1,a_3=-1\) 使组合为零,相关。通用判据:\(n\) 个 \(\mathbb{R}^n\) 向量作列组成方阵,行列式为零则相关;用 Laplace 展开得 \(\det=-2+0+2=0\)。任两个无关,维数 2。
- (ii) \(\{\sin t,\cos t,\cos(t+\pi/4)\}\):\(\cos(t+\pi/4)=-\frac{1}{\sqrt2}\sin t+\frac{1}{\sqrt2}\cos t\),相关;\(\sin t\) 与 \(\cos t\) 无关,维数 2。
- (iii) \(\{[1,1,1,1]^T,[1,0,1,1]^T,[1,2,1,1]^T\}\)(\(\mathbb{R}^4\) 中 3 个向量,不能用行列式):用 Gram 行列式(Gramian,元素 \((x_i,x_j)\) 的矩阵的行列式),向量组相关当且仅当 Gramian 为零。\(G=\det\begin{bmatrix}4&3&5\\3&3&3\\5&3&7\end{bmatrix}=48-18-30=0\),相关(亦可见 \(2x_1-x_2-x_3=0\))。\(x_1,x_2\) 的 Gramian \(\det\begin{bmatrix}4&3\\3&3\end{bmatrix}=3\ne0\),维数 2。
- P5.4 线性可分是否蕴含线性无关?不是,二者无关。例:\(\mathbf{p}_1=[0.5,0.5]^T\)、\(\mathbf{p}_2=[1.5,1.5]^T\),取 \(w_{11}=w_{12}=1\)、\(b=-2\) 即可分开,但 \(\mathbf{p}_2=3\mathbf{p}_1\),线性相关。
- P5.5 对 \(\mathbf{y}_1=[1,1,1]^T,\ \mathbf{y}_2=[1,0,0]^T,\ \mathbf{y}_3=[0,1,0]^T\) 做 Gram-Schmidt:\(\mathbf{v}_1=[1,1,1]^T\);\(\mathbf{v}_2=\mathbf{y}_2-\frac13\mathbf{v}_1=[2/3,-1/3,-1/3]^T\);\(\mathbf{v}_3=\mathbf{y}_3-\frac13\mathbf{v}_1-\frac{-1/3}{2/3}\mathbf{v}_2=[0,\ 1/2,\ -1/2]^T\)。
- P5.6 证明 \([-1,1]\) 上多项式空间中 \((x,y)=\int_{-1}^1x(t)y(t)dt\) 是内积:对称性显然;线性性由积分线性得出;\((x,x)=\int_{-1}^1x^2(t)dt\ge0\),等号仅当 \(x(t)\equiv0\)。
- P5.7 在上述空间中由 \(y_1=1+t\)、\(y_2=1-t\) 构造正交集:\(v_1=1+t\);\((v_1,y_2)=\int_{-1}^1(1-t^2)dt=4/3\),\((v_1,v_1)=\int_{-1}^1(1+t)^2dt=8/3\);\(v_2=(1-t)-\frac{4/3}{8/3}(1+t)=\frac12-\frac32t\)。
- P5.8 把 \(\mathbf{x}=[6,9,9]^T\) 按基 \(\mathbf{v}_1=[1,1,1]^T,\ \mathbf{v}_2=[1,2,3]^T,\ \mathbf{v}_3=[1,3,2]^T\) 展开。\(\mathbf{B}^{-1}=\begin{bmatrix}5/3&-1/3&-1/3\\-1/3&-1/3&2/3\\-1/3&2/3&-1/3\end{bmatrix}\),其行即互逆基 \(\mathbf{r}_1,\mathbf{r}_2,\mathbf{r}_3\)。系数 \(x_1^v=\mathbf{r}_1^T\mathbf{x}=4\),\(x_2^v=1\),\(x_3^v=1\),即 \(\mathbf{x}=4\mathbf{v}_1+\mathbf{v}_2+\mathbf{v}_3\),\(\mathbf{x}^v=\mathbf{B}^{-1}\mathbf{x}=[4,1,1]^T\)。
5.11 结语与延伸阅读(PDF p.147–148)
本章只介绍了与神经网络最相关的向量空间概念,几乎每章都会再用到;下一章转向线性变换与矩阵。延伸阅读:[Brog91] Brogan《Modern Control Theory》(前半部为线性代数,含大量例题);[Stra80] Strang《Linear Algebra and Its Applications》。
5.12 习题(Exercises,PDF p.149–156)
题型以证明某集合是否为向量空间、判定无关与维数、Gram-Schmidt、换基展开为主:
- E5.1–E5.2:\(b\ne0\) 时感知机边界不是向量空间;P5.1 中边界空间的维数(\(R-1\))。
- E5.3–E5.4:满足 \(f(0)=0\) 的连续函数集、\(2\times2\) 矩阵集是向量空间。
- E5.5:给定 \(b=0\) 的感知机,写边界方程、验证十条、求维数和一组基。
- E5.6–E5.7:判断函数子集(\(f(0.5)=2\);\(f(0.75)=0\);\(f(0.5)=-f(0.75)-3\))和多项式子集(次数 \(\le5\);\(t>0\) 时为正;\(t\to0\) 时趋于 0)是否为向量空间,指出违反哪条。
- E5.8:判断若干向量组(含三角函数组 \(\{\sin t,\cos t,\cos 2t\}\)、\(\{1+t,1-t\}\) 等)是否无关并求维数,用 MATLAB
rank验证。 - E5.9:求橙子、苹果原型与椭圆橙子 \([-1,-1,-1]^T\) 的夹角,验证直觉(与橙子夹角更小)。
- E5.10:对 \([1,0,0]^T,[1,1,0]^T,[1,1,1]^T\) 做 Gram-Schmidt。
- E5.11–E5.12、E5.15:\([0,1]\) 上分段连续函数的 Gram-Schmidt 与展开(内积 \(\int_0^1 f g\,dt\)),讨论展开失败的原因(目标函数不在所张成的子空间中)。
- E5.13:一次多项式空间,基 \(\{1,t\}\) 下 \(y=2+4t\) 表示为 \([2,4]^T\);用互逆基求在新基 \(\{1+t,1-t\}\) 下的表示(答案 \([3,-1]^T\))。
- E5.14:两组基之间的展开换算。
- E5.16:复数集作为向量空间,内积 \((x,y)=\mathrm{Re}(x)\mathrm{Re}(y)+\mathrm{Im}(x)\mathrm{Im}(y)\);对基 \(\{1+2j,\ 2+j\}\) 做 Gram-Schmidt,再用互逆基在 \(\{1-j,1+j\}\) 下展开 \(x=3+j\) 并验证一致。
- E5.17:标准基与另一组基下的展开及作图。
- E5.18:形如 \(A\sin(t+\theta)\) 的函数空间,基 \(\{\sin t,\cos t\}\),展开 \(x=2\sin t+4\cos t\),再换到基 \(\{2\sin t+\cos t,\ 3\sin t\}\)。
- E5.19:给 \(x\) 加 \(y\) 的倍数使结果与 \(z\) 正交(\(\mathbf{x}=[1,0]^T,\mathbf{y}=[1,0.5]^T,\mathbf{z}=[0.5,1]^T\))。
- E5.20:把 \([1,2,2]^T\) 按基 \(\{[-1,1,0]^T,[1,1,-2]^T,[1,1,0]^T\}\) 展开。
- E5.21:求 \(a\) 使 \(\|x-ay\|\) 最小,证明此时 \(z=x-ay\) 与 \(y\) 正交且 \(\|x-ay\|^2+\|ay\|^2=\|x\|^2\)(\(ay\) 是 \(x\) 在 \(y\) 上的投影),说明与 Gram-Schmidt 的关系。
第 5 章 本章要点
- 向量空间由十条公理定义,不限于 \(\mathbb{R}^n\):多项式、连续函数都构成向量空间(后者无穷维)。
- 线性无关、张成、基、维数;方阵行列式或 Gram 行列式判定相关性。
- 内积和范数可以有多种定义;夹角 \(\cos\theta=(x,y)/(\|x\|\|y\|)\);正交是神经网络中的核心概念(感知机边界与权值正交、Hebb 学习需正交原型)。
- Gram-Schmidt 用逐次减去投影的方式把无关组变为正交组。
- 一般向量的列表示依赖于基;正交基下系数由内积直接给出,非正交基用互逆基 \(\mathbf{R}^T=\mathbf{B}^{-1}\),换基 \(\mathbf{x}^v=\mathbf{B}^{-1}\mathbf{x}^s\)。
第 5 章 与量化交易的关联
- 投影与正交化是因子研究的基本操作:因子中性化(把新因子对行业、市值等已有因子回归取残差)就是 Gram-Schmidt 中的"减去投影";对一组因子依次做 Gram-Schmidt 正交化(顺序正交化 sequential orthogonalization)可得到互不相关的因子,系数含义依赖于正交化顺序。E5.21 的"投影使误差最小且残差正交"正是最小二乘回归的几何本质。
- 夹角/余弦相似度:\(\cos\theta\) 即两个去均值收益序列的相关系数(当内积取协方差时),可用于度量因子相似度、策略相关性、持仓相似度。
- 换基:因子暴露在不同因子基(原始因子 vs 正交化因子、风格因子 vs 主成分)下的表示转换就是 \(\mathbf{x}^v=\mathbf{B}^{-1}\mathbf{x}^s\);组合的因子暴露和收益归因在换基后数值不同但经济含义一致。
- 线性相关与多重共线性:P5.3 的 Gram 行列式判据对应回归中设计矩阵 \(\mathbf{X}^T\mathbf{X}\) 奇异——因子完全共线时回归系数不唯一。
第 5 章 推荐习题
- P5.3、E5.8:用行列式/Gramian/rank 判断相关性,联系多重共线性。
- P5.5、E5.10:Gram-Schmidt 手算,联系因子正交化。
- P5.8、E5.13、E5.20:互逆基与换基计算。
- E5.21:投影的最优性与正交性,是最小二乘的几何基础,强烈推荐。
第 6 章 神经网络中的线性变换(Linear Transformations for Neural Networks,PDF p.157–193)
6.0 目标与动机(PDF p.157–158)
延续第 5 章,为分析神经网络打数学基础。输入向量乘以权值矩阵是神经网络的核心运算,它是线性变换的一个例子。本章研究一般线性变换的基本特征;特征值、特征向量、换基这些概念对于理解性能学习(Widrow-Hoff 规则、反向传播)和 Hopfield 网络收敛至关重要。 动机问题:第 3 章 Hopfield 网络同步更新 \(\mathbf{a}(t+1)=\mathrm{satlins}(\mathbf{W}\mathbf{a}(t)+\mathbf{b})\)(6.1),每次迭代输出都再乘一次 \(\mathbf{W}\)。反复相乘的效果如何?输出会收敛到稳态、发散到无穷还是振荡?本章为回答这类问题打基础。
6.1 线性变换(Linear Transformations,PDF p.158–159)
变换(transformation)由三部分组成:定义域(domain)\(X=\{x_i\}\)、值域(range)\(Y=\{y_i\}\)、以及把每个 \(x_i\in X\) 对应到 \(y_i\in Y\) 的规则。 线性变换:变换 \(\mathcal{A}\) 满足
- 对一切 \(x_1,x_2\in X\):\(\mathcal{A}(x_1+x_2)=\mathcal{A}(x_1)+\mathcal{A}(x_2)\);
- 对一切 \(x\in X\)、\(a\in\mathbb{R}\):\(\mathcal{A}(ax)=a\mathcal{A}(x)\)。 例:\(\mathbb{R}^2\) 中把向量旋转角度 \(\theta\)。先求和再旋转等于先旋转再求和;先缩放再旋转等于先旋转再缩放,故旋转是线性的。
6.2 矩阵表示(Matrix Representations,PDF p.159–162)
矩阵乘法是线性变换;反之,有限维向量空间之间的任一线性变换都可用矩阵表示。 设 \(\{v_1,\dots,v_n\}\) 是 \(X\) 的基、\(\{u_1,\dots,u_m\}\) 是 \(Y\) 的基,\(x=\sum_i x_iv_i\),\(y=\sum_i y_iu_i\)(6.2)。设 \(\mathcal{A}:X\to Y\) 线性,\(\mathcal{A}(x)=y\)(6.3)即 \(\mathcal{A}\big(\sum_j x_jv_j\big)=\sum_i y_iu_i\)(6.4),由线性性 \(\sum_j x_j\mathcal{A}(v_j)=\sum_i y_iu_i\)(6.5)。把每个变换后的基向量按 \(Y\) 的基展开:
- 求矩阵表示的方法:把定义域的每个基向量做变换,再按值域的基展开,展开系数构成矩阵的一列。
- 矩阵表示不唯一,随定义域或值域的基改变而改变(后续将利用这一点)。
例:旋转。定义域与值域都是 \(\mathbb{R}^2\),都用标准基 \(\{s_1,s_2\}\)。\(s_1\) 逆时针转 \(\theta\):\(\mathcal{A}(s_1)=\cos\theta\,s_1+\sin\theta\,s_2\)(6.12),得第一列;\(\mathcal{A}(s_2)=-\sin\theta\,s_1+\cos\theta\,s_2\)(6.13),得第二列:
6.3 换基(Change of Basis,PDF p.162–166)
原基:\(X\) 用 \(\{v_i\}\)、\(Y\) 用 \(\{u_i\}\),\(x=\sum x_iv_i\)(6.15),\(y=\sum y_iu_i\)(6.16),\(\mathcal{A}(x)=y\)(6.17)的表示为 \(\mathbf{A}\mathbf{x}=\mathbf{y}\)(6.18–6.19)。 新基:\(X\) 用 \(\{t_1,\dots,t_n\}\)、\(Y\) 用 \(\{w_1,\dots,w_m\}\),\(x=\sum x'_it_i\)(6.20),\(y=\sum y'_iw_i\)(6.21),新表示 \(\mathbf{A}'\mathbf{x}'=\mathbf{y}'\)(6.22–6.23)。 把新基按旧基展开:\(t_i=\sum_j t_{ji}v_j\)(6.24),\(w_i=\sum_j w_{ji}u_j\)(6.25),即列向量 \(\mathbf{t}_i=[t_{1i},\dots,t_{ni}]^T\)、\(\mathbf{w}_i=[w_{1i},\dots,w_{mi}]^T\)(6.26)。令 \(\mathbf{B}_t=[\mathbf{t}_1\ \cdots\ \mathbf{t}_n]\)(6.27),则
例:旋转换基。新基(定义域值域相同)\(t_1=s_1+0.5s_2\)(6.34),\(t_2=-s_1+s_2\)(6.35),即 \(\mathbf{t}_1=[1,0.5]^T\),\(\mathbf{t}_2=[-1,1]^T\)(6.36),\(\mathbf{B}_w=\mathbf{B}_t=\begin{bmatrix}1&-1\\0.5&1\end{bmatrix}\)(6.37–6.38)。
6.4 特征值与特征向量(Eigenvalues and Eigenvectors,PDF p.166–169)
设 \(\mathcal{A}:X\to X\)(定义域与值域相同)。满足
- "特征向量"实际上是一个向量空间(若 \(z\) 满足,则 \(az\) 也满足),代表一个方向:该方向上的任何向量经变换后仍指向同一方向,只被特征值缩放。
- 旋转 \(30^\circ\) 没有方向保持不变,因而没有实特征值(允许复数时有两个)。
计算:选定基后 \(\mathbf{A}\mathbf{z}=\lambda\mathbf{z}\)(6.47),即 \([\mathbf{A}-\lambda\mathbf{I}]\mathbf{z}=\mathbf{0}\)(6.48)。\(\mathbf{A}-\lambda\mathbf{I}\) 的列线性相关,行列式为零:
- 旋转:\(\begin{vmatrix}\cos\theta-\lambda&-\sin\theta\\ \sin\theta&\cos\theta-\lambda\end{vmatrix}=\lambda^2-2\lambda\cos\theta+1=0\)(6.50–6.52),根 \(\lambda_1=\cos\theta+j\sin\theta\),\(\lambda_2=\cos\theta-j\sin\theta\)(6.53);\(\sin\theta\ne0\) 时无实特征值,任何实向量变换后都指向新方向。
- 另一例:\(\mathbf{A}=\begin{bmatrix}-1&1\\0&-2\end{bmatrix}\)(6.54)。\((-1-\lambda)(-2-\lambda)=\lambda^2+3\lambda+2=(\lambda+1)(\lambda+2)=0\)(6.55–6.56),\(\lambda_1=-1\),\(\lambda_2=-2\)(6.57)。
- \(\lambda_1=-1\):\(\begin{bmatrix}0&1\\0&-1\end{bmatrix}\mathbf{z}_1=\mathbf{0}\Rightarrow z_{21}=0\),\(z_{11}\) 任意(6.59–6.60),\(\mathbf{z}_1=[1,0]^T\)(6.61)。
- \(\lambda_2=-2\):\(\begin{bmatrix}1&1\\0&0\end{bmatrix}\mathbf{z}_2=\mathbf{0}\Rightarrow z_{22}=-z_{12}\)(6.62–6.63),\(\mathbf{z}_2=[1,-1]^T\)(6.64)。
- 验证:\(\mathbf{A}\mathbf{z}_1=[-1,0]^T=(-1)\mathbf{z}_1\)(6.65);\(\mathbf{A}\mathbf{z}_2=[-2,2]^T=(-2)\mathbf{z}_2\)(6.66)。演示 nnd6eg。
6.5 对角化(Diagonalization,PDF p.169–170)
有 \(n\) 个互异特征值时,必有 \(n\) 个线性无关的特征向量 [Brog91],它们构成一组基。以特征向量为基,由(6.33),上例
6.6 结果汇总(PDF p.171–172)
变换三要素;线性的两个条件;矩阵表示 \(\mathcal{A}(v_j)=\sum_i a_{ij}u_i\);换基 \(\mathbf{A}'=\mathbf{B}_w^{-1}\mathbf{A}\mathbf{B}_t\);特征方程 \(\mathbf{A}\mathbf{z}=\lambda\mathbf{z}\)、\(|\mathbf{A}-\lambda\mathbf{I}|=0\);对角化 \(\mathbf{B}^{-1}\mathbf{A}\mathbf{B}=\mathrm{diag}(\lambda_1,\dots,\lambda_n)\)。
6.7 已解习题(Solved Problems,PDF p.173–184)
- P6.1 线性传递函数的单层网络 \(\mathbf{a}=\mathcal{A}(\mathbf{p})=\mathbf{W}\mathbf{p}+\mathbf{b}\) 是否线性?\(\mathcal{A}(\mathbf{p}_1+\mathbf{p}_2)=\mathbf{W}\mathbf{p}_1+\mathbf{W}\mathbf{p}_2+\mathbf{b}\),而 \(\mathcal{A}(\mathbf{p}_1)+\mathcal{A}(\mathbf{p}_2)=\mathbf{W}\mathbf{p}_1+\mathbf{W}\mathbf{p}_2+2\mathbf{b}\),仅当 \(\mathbf{b}=\mathbf{0}\) 时相等。因此即使传递函数是线性的,网络也是非线性变换,这类非线性称为仿射变换(affine transformation)。
- P6.2 投影 \(\mathcal{A}(x)=\frac{(x,v)}{(v,v)}v\) 是线性变换:由内积的线性性,\(\mathcal{A}(x_1+x_2)=\mathcal{A}(x_1)+\mathcal{A}(x_2)\),\(\mathcal{A}(ax)=a\mathcal{A}(x)\)。
- P6.3 \(\mathbb{R}^2\) 中关于直线 \(x_1+x_2=0\) 的反射,相对标准基:\(\mathcal{A}(s_1)=-s_2\)(第一列 \([0,-1]^T\)),\(\mathcal{A}(s_2)=-s_1\)(第二列 \([-1,0]^T\)),\(\mathbf{A}=\begin{bmatrix}0&-1\\-1&0\end{bmatrix}\)。检验 \(\mathbf{x}=[1,1]^T\):\(\mathbf{A}\mathbf{x}=[-1,-1]^T\),确为其关于该直线的反射。(留作思考:特征值为 \(\pm1\),特征向量分别沿 \([1,-1]^T\)(直线上,不变)与 \([1,1]^T\)(法向,反向);可用 MATLAB
eig验证。) - P6.4 复数空间,基 \(\{1+j,\ 1-j\}\),变换为共轭 \(\mathcal{A}(x)=x^*\)。
- (i) \(\mathcal{A}(v_1)=1-j=v_2\),\(\mathcal{A}(v_2)=v_1\),\(\mathbf{A}=\begin{bmatrix}0&1\\1&0\end{bmatrix}\)。
- (ii) \(\lambda^2-1=0\),\(\lambda_1=1\),\(\lambda_2=-1\);\(\mathbf{z}_1=[1,1]^T\),\(\mathbf{z}_2=[1,-1]^T\)。作为复数:\(z_1=v_1+v_2=2\)(实数,共轭不变),\(z_2=v_1-v_2=2j\)(纯虚数,共轭变号)。
- (iii) \(\mathbf{B}=\begin{bmatrix}1&1\\1&-1\end{bmatrix}\),\(\mathbf{A}'=\mathbf{B}^{-1}\mathbf{A}\mathbf{B}=\begin{bmatrix}1&0\\0&-1\end{bmatrix}\),被对角化。
- P6.5 对角化 \(\mathbf{A}=\begin{bmatrix}2&-2\\-1&3\end{bmatrix}\):\(\lambda^2-5\lambda+4=(\lambda-1)(\lambda-4)=0\),\(\lambda_1=1\),\(\lambda_2=4\);\(\lambda_1\):\(\begin{bmatrix}1&-2\\-1&2\end{bmatrix}\mathbf{z}=0\Rightarrow z_{11}=2z_{21}\),\(\mathbf{z}_1=[2,1]^T\);\(\lambda_2\):\(\begin{bmatrix}-2&-2\\-1&-1\end{bmatrix}\mathbf{z}=0\Rightarrow\mathbf{z}_2=[1,-1]^T\)。\(\mathbf{B}=\begin{bmatrix}2&1\\1&-1\end{bmatrix}\),\(\mathbf{B}^{-1}\mathbf{A}\mathbf{B}=\begin{bmatrix}1&0\\0&4\end{bmatrix}\)。
- P6.6 \(\mathcal{A}:\mathbb{R}^3\to\mathbb{R}^2\),标准基下 \(\mathbf{A}=\begin{bmatrix}3&-1&0\\0&0&1\end{bmatrix}\);新基 \(T=\{[2,0,1]^T,[0,-1,0]^T,[0,-2,3]^T\}\),\(W=\{[1,0]^T,[0,-2]^T\}\)。\(\mathbf{B}_t=\begin{bmatrix}2&0&0\\0&-1&-2\\1&0&3\end{bmatrix}\),\(\mathbf{B}_w=\begin{bmatrix}1&0\\0&-2\end{bmatrix}\),\(\mathbf{A}'=\mathbf{B}_w^{-1}\mathbf{A}\mathbf{B}_t=\begin{bmatrix}6&1&2\\-\tfrac12&0&-\tfrac32\end{bmatrix}\)(说明换基公式对非方阵、定义域值域不同的情形同样适用)。
- P6.7 \(\mathcal{A}:\mathbb{R}^2\to\mathbb{R}^2\),基 \(V=\{v_1,v_2\}\):(i) 已知 \(\mathcal{A}(v_1)=v_1+2v_2\),\(\mathcal{A}(v_2)=v_1+v_2\),则 \(\mathbf{A}=\begin{bmatrix}1&1\\2&1\end{bmatrix}\)(每个等式给出一列)。(ii) 新基 \(w_1=v_1+v_2\),\(w_2=v_1-v_2\),\(\mathbf{B}_w=\begin{bmatrix}1&1\\1&-1\end{bmatrix}\),\(\mathbf{A}'=\mathbf{B}_w^{-1}\mathbf{A}\mathbf{B}_w=\begin{bmatrix}5/2&1/2\\-1/2&-1/2\end{bmatrix}\)。
- P6.8 \(P^2\) 上求导变换 \(\mathcal{D}\),基 \(\{1,t,t^2\}\):\(\mathcal{D}(1)=0\),\(\mathcal{D}(t)=1\),\(\mathcal{D}(t^2)=2t\),\(\mathbf{D}=\begin{bmatrix}0&1&0\\0&0&2\\0&0&0\end{bmatrix}\)。\(|\mathbf{D}-\lambda\mathbf{I}|=-\lambda^3=0\),三个特征值全为 0;\((\mathbf{D}-0\mathbf{I})\mathbf{z}=0\Rightarrow z_2=z_3=0\),唯一特征向量 \(\mathbf{z}=[1,0,0]^T\)——唯一"导数是自身倍数"的多项式是常数(且是缺陷矩阵,无法对角化)。
- P6.9 已知 \(\mathbb{R}^2\) 上两个向量的变换结果(不知基向量如何变换):\(\mathbf{A}[2,2]^T=[-1,0]^T\),\(\mathbf{A}[-1,1]^T=[-2,-1]^T\)。合并为 \(\mathbf{A}\begin{bmatrix}2&-1\\2&1\end{bmatrix}=\begin{bmatrix}-1&-2\\0&-1\end{bmatrix}\),故 \(\mathbf{A}=\begin{bmatrix}-1&-2\\0&-1\end{bmatrix}\begin{bmatrix}2&-1\\2&1\end{bmatrix}^{-1}=\begin{bmatrix}-1&-2\\0&-1\end{bmatrix}\begin{bmatrix}1/4&1/4\\-1/2&1/2\end{bmatrix}=\begin{bmatrix}3/4&-5/4\\1/2&-1/2\end{bmatrix}\)。此方法用于演示程序 nnd6lt。
6.8 结语与延伸阅读(PDF p.185–186)
特征值、特征向量、换基(相似变换)与对角化将在全书反复使用,没有这些线性代数背景对神经网络的研究只能流于表面。下一章用线性代数分析最早的训练算法之一——Hebb 规则。延伸阅读同第 5 章([Brog91]、[Stra80])。
6.9 习题(Exercises,PDF p.187–193)
- E6.1 矩阵转置是否为线性变换。E6.2 证明 P6.1 网络在 \(\mathbf{b}=0\) 时为线性。
- E6.3、E6.13、E6.17:由图给出变换(含投影到直线),求标准基与给定基下的矩阵、特征值与特征向量并作图。
- E6.4 复数空间、基 \(\{1+j,1-j\}\),乘以 \((1+j)\) 的变换:求矩阵、特征值特征向量、特征基下的表示,用 MATLAB 验证。
- E6.5 \(P^2\to P^3\):\(\mathcal{A}(a_0+a_1t+a_2t^2)=a_0(t+1)+a_1(t+1)^2+a_2(t+1)^3\),求相对基 \(\{1,t,t^2\}\)、\(\{1,t,t^2,t^3\}\) 的矩阵。
- E6.6 \(P^2\) 上把 \(t\) 替换为 \(t+1\) 的变换,基 \(\{1,t-1,t^2\}\):求矩阵和特征值特征向量。
- E6.7 函数空间 \(a\sin(t+\theta)\),基 \(\{\sin t,\cos t\}\),求导变换:矩阵、特征值(\(\pm j\))、特征基下的表示。
- E6.8 函数空间 \(a+be^{2t}\),基 \(\{1+e^{2t},1-e^{2t}\}\),求导变换:矩阵、验证 \(2e^{2t}\)、特征值特征向量、对角化。
- E6.9 \(2\times2\) 矩阵空间上 \(\mathcal{A}(\mathbf{M})=\mathbf{M}+\mathbf{M}^T\),基为四个单位矩阵:求 \(4\times4\) 表示、验证、直接由定义求特征值(对称矩阵对应特征值 2,反对称矩阵对应 0)。
- E6.10 \(P^1\to P^2\):\(\mathcal{A}(a+bt)=at+\frac b2t^2\)(如 \(\mathcal{A}(2+6t)=2t+3t^2\)),求矩阵、验证 \(6+8t\)、再用相似变换求基 \(\{1+t,1-t\}\) 下的矩阵。
- E6.11 求导算子在基 \(\{e^{5t},te^{5t}\}\) 下:证明线性、求矩阵(\(\begin{bmatrix}5&1\\0&5\end{bmatrix}\) 型)、特征值特征向量。
- E6.12、E6.16:由特征值和特征向量反求标准基下矩阵(\(\mathbf{A}=\mathbf{B}\boldsymbol{\Lambda}\mathbf{B}^{-1}\))及其他基下的表示。
- E6.14 积分变换 \(P^2\to P^3\) 的矩阵。E6.15 \(\mathbf{A}=\begin{bmatrix}1&2\\3&4\end{bmatrix}\) 换到基 \(\{[1,3]^T,[2,5]^T\}\)。
- E6.18 基 \(\{[1,-1]^T,[1,-2]^T\}\):求互逆基;\(\mathbf{A}=\begin{bmatrix}0&1\\-2&-3\end{bmatrix}\),求 \(\mathbf{A}\mathbf{v}_1\)、\(\mathbf{A}\mathbf{v}_2\) 在该基下的展开,从而无需再计算即得该基下的矩阵(这组基恰为特征向量,结果为对角阵 \(\mathrm{diag}(-1,-2)\))。
第 6 章 本章要点
- 线性变换满足可加性与齐次性;带偏置的网络层 \(\mathbf{W}\mathbf{p}+\mathbf{b}\) 是仿射而非线性变换。
- 有限维线性变换都有矩阵表示:变换每个定义域基向量、按值域基展开,系数作为一列。
- 换基公式(相似变换)\(\mathbf{A}'=\mathbf{B}_w^{-1}\mathbf{A}\mathbf{B}_t\)。
- 特征向量是变换下方向不变的方向,特征值是缩放因子;由 \(|\mathbf{A}-\lambda\mathbf{I}|=0\) 求得。
- \(n\) 个互异特征值 ⇒ 特征向量构成基 ⇒ \(\mathbf{B}^{-1}\mathbf{A}\mathbf{B}=\mathrm{diag}(\lambda_i)\)。对角化把耦合的多维问题分解为独立的一维问题,是后续分析二次性能曲面、学习率稳定性、Hopfield 收敛的工具。
第 6 章 与量化交易的关联
- 协方差矩阵的特征分解(PCA):收益协方差矩阵对称,特征向量正交,对角化 \(\boldsymbol{\Sigma}=\mathbf{B}\boldsymbol{\Lambda}\mathbf{B}^T\) 即主成分分析。第一主成分常解释为"市场因子",后续主成分对应行业/风格;特征值大小即各主成分方差。统计风险模型、因子降维、利率曲线的水平/斜率/曲率分解都基于此。
- 换基 = 换因子坐标系:组合在原始资产空间与主成分/因子空间之间的转换就是相似变换;在特征基下风险分解为各独立方向方差之和,便于风险预算。
- 迭代系统稳定性:VAR(1) 模型 \(\mathbf{x}_{t+1}=\mathbf{A}\mathbf{x}_t+\boldsymbol{\epsilon}_t\) 的平稳性取决于 \(\mathbf{A}\) 特征值的模是否小于 1;均值回复组合(如协整组合)的回复速度由对应特征值决定。这与本章开头"反复乘 \(\mathbf{W}\) 是否收敛"是同一个问题。
- 仿射与线性的区别(P6.1)提醒:带截距的线性因子模型对组合加总时截距(alpha)按权重和而非线性叠加,处理多空组合时需注意。
第 6 章 推荐习题
- P6.5、E6.12:对角化与由特征分解重构矩阵,PCA 的基础。
- P6.6、P6.7、E6.15:换基计算。
- P6.9:由输入输出样本反求线性变换矩阵(即无噪声的线性回归 \(\mathbf{A}=\mathbf{Y}\mathbf{X}^{-1}\)),衔接第 7 章伪逆规则。
- E6.18:理解"基向量恰为特征向量时表示自动对角化"。
第 7 章 有监督 Hebb 学习(Supervised Hebbian Learning,PDF p.194–227)
7.0 目标(PDF p.194)
Hebb 规则是最早的神经网络学习律之一,1949 年由 Donald Hebb 作为大脑突触修改的可能机制提出,此后用于训练人工网络。本章用前两章的线性代数解释 Hebb 学习为什么有效,并展示如何用它训练模式识别网络。
7.1 历史:Hebb 其人与 Hebb 假设(PDF p.195–196)
- Hebb 生于加拿大新斯科舍省,原想当小说家,1925 年获英语学位;为理解人性研读弗洛伊德而转向心理学;McGill 硕士论文研究巴甫洛夫条件反射;1936 年哈佛博士论文研究早期经验对大鼠视觉的影响;后在蒙特利尔神经研究所研究脑手术患者的智力变化,1942 年到耶基斯灵长类实验室研究黑猩猩。
- 1949 年《The Organization of Behavior》[Hebb49] 的核心前提:行为可由神经元活动解释。这与行为主义(Skinner 等,强调刺激-反应相关、排斥生理假设)形成"自下而上 vs 自上而下"的对立。
- Hebb 假设(Hebb's postulate):"当细胞 A 的轴突足够接近并能激发细胞 B,且反复或持续地参与使 B 放电时,一个或两个细胞中会发生某种生长过程或代谢变化,使 A 作为激发 B 的细胞之一的效率提高。"这为细胞层面的学习提供了物理机制;后续研究表明某些细胞确实表现出 Hebb 学习。该思想有先驱,如 William James 1890 年的联想原理:"两个脑过程同时或紧接着活跃时,其中一个再次出现时倾向于把兴奋传给另一个。"
7.2 线性联想器(Linear Associator,PDF p.196)
为专注于学习律,采用最简单的结构——线性联想器(Anderson [Ande72] 与 Kohonen [Koho72] 独立提出,图 7.1):无偏置的线性层
7.3 Hebb 规则(The Hebb Rule,PDF p.197–198)
把假设改述为:突触两侧的神经元同时激活时,突触强度增加。由(7.2),输入 \(p_j\) 与输出 \(a_i\) 之间的突触即 \(w_{ij}\)。一种数学解释:
- 式(7.5)是无监督规则(不需要目标)。本章关注有监督 Hebb 规则:用目标输出替代实际输出(告诉算法网络"应该做什么"而非"正在做什么"),并取 \(\alpha=1\):
\[w_{ij}^{new}=w_{ij}^{old}+t_{iq}p_{jq}\qquad(7.6)\]向量形式:\[\mathbf{W}^{new}=\mathbf{W}^{old}+\mathbf{t}_q\mathbf{p}_q^T\qquad(7.7)\]
- 权值初始化为零、每对样本用一次:
\[\mathbf{W}=\mathbf{t}_1\mathbf{p}_1^T+\cdots+\mathbf{t}_Q\mathbf{p}_Q^T=\sum_{q=1}^Q\mathbf{t}_q\mathbf{p}_q^T\qquad(7.8)\]\[\mathbf{W}=[\mathbf{t}_1\ \cdots\ \mathbf{t}_Q]\begin{bmatrix}\mathbf{p}_1^T\\ \vdots\\ \mathbf{p}_Q^T\end{bmatrix}=\mathbf{T}\mathbf{P}^T\qquad(7.9)\]其中 \(\mathbf{T}=[\mathbf{t}_1\ \cdots\ \mathbf{t}_Q]\),\(\mathbf{P}=[\mathbf{p}_1\ \cdots\ \mathbf{p}_Q]\)(7.10)。(这就是外积规则 outer product rule,也即相关矩阵记忆。)
7.4 性能分析(Performance Analysis,PDF p.198–200)
情形一:输入原型标准正交(orthonormal)。输入 \(\mathbf{p}_k\):
情形二:单位长度但不正交:
例(正交情形):\(\mathbf{p}_1=[0.5,-0.5,0.5,-0.5]^T,\ \mathbf{t}_1=[1,-1]^T\);\(\mathbf{p}_2=[0.5,0.5,-0.5,-0.5]^T,\ \mathbf{t}_2=[1,1]^T\)(7.15,二者标准正交)。
例(苹果/橙子,不正交):原型 \([1,-1,-1]^T\) 与 \([1,1,-1]^T\)(7.19)不正交。归一化并取目标 −1、1:\(\mathbf{p}_1=[0.5774,-0.5774,-0.5774]^T,\ t_1=-1\);\(\mathbf{p}_2=[0.5774,0.5774,-0.5774]^T,\ t_2=1\)(7.20)。
7.5 伪逆规则(Pseudoinverse Rule,PDF p.200–203)
目标 \(\mathbf{W}\mathbf{p}_q=\mathbf{t}_q,\ q=1,\dots,Q\)(7.24)。若不能精确满足,就近似满足:最小化性能指标
- 若 \(\mathbf{P}\) 可逆,\(\mathbf{W}=\mathbf{T}\mathbf{P}^{-1}\)(7.31)使 \(F=0\)。但这很少可能:通常 \(\mathbf{p}_q\) 线性无关,但维数 \(R\) 大于样本数 \(Q\),\(\mathbf{P}\) 不是方阵。
- 已证明 [Albe72] 使(7.25)最小的权值由伪逆规则给出:
\[\mathbf{W}=\mathbf{T}\mathbf{P}^+\qquad(7.32)\]\(\mathbf{P}^+\) 为 Moore-Penrose 伪逆,即满足以下四条的唯一矩阵(7.33):\[\mathbf{P}\mathbf{P}^+\mathbf{P}=\mathbf{P},\quad \mathbf{P}^+\mathbf{P}\mathbf{P}^+=\mathbf{P}^+,\quad \mathbf{P}^+\mathbf{P}=(\mathbf{P}^+\mathbf{P})^T,\quad \mathbf{P}\mathbf{P}^+=(\mathbf{P}\mathbf{P}^+)^T\]
- 当 \(R>Q\) 且 \(\mathbf{P}\) 的列线性无关时:
\[\mathbf{P}^+=(\mathbf{P}^T\mathbf{P})^{-1}\mathbf{P}^T\qquad(7.34)\](\(R<Q\) 且行满秩时用 \(\mathbf{P}^+=\mathbf{P}^T(\mathbf{P}\mathbf{P}^T)^{-1}\),见 E7.7。) 例(苹果/橙子):用伪逆规则无需归一化输入。\(\mathbf{p}_1=[1,-1,-1]^T,\ t_1=-1\);\(\mathbf{p}_2=[1,1,-1]^T,\ t_2=1\)(7.35)。\[\mathbf{P}^+=(\mathbf{P}^T\mathbf{P})^{-1}\mathbf{P}^T=\begin{bmatrix}3&1\\1&3\end{bmatrix}^{-1}\begin{bmatrix}1&-1&-1\\1&1&-1\end{bmatrix}=\begin{bmatrix}0.25&-0.5&-0.25\\0.25&0.5&-0.25\end{bmatrix}\qquad(7.37)\]\(\mathbf{W}=\mathbf{T}\mathbf{P}^+=[-1\ 1]\mathbf{P}^+=[0\ 1\ 0]\)(7.38)。\(\mathbf{W}\mathbf{p}_1=-1\),\(\mathbf{W}\mathbf{p}_2=1\)(7.39–7.40),精确匹配目标,而 Hebb 规则只能接近。 (注:\(\mathbf{W}=\mathbf{T}\mathbf{P}^+\) 正是多元线性回归的最小二乘解,\(\mathbf{P}^+=(\mathbf{P}^T\mathbf{P})^{-1}\mathbf{P}^T\) 与正规方程同构。)
7.6 应用:自联想记忆识别数字(Application,PDF p.203–205)
自联想记忆(autoassociative memory):目标输出等于输入(\(\mathbf{t}_q=\mathbf{p}_q\)),用于存储模式并在输入受损时回忆。
- 存储数字 {0, 1, 2},每个为 \(6\times5\) 网格(30 像素),白格 −1、黑格 1,按列扫描成 30 维向量(例 7.41 给出 \(\mathbf{p}_1\) 即"0")。
- Hebb 规则:\(\mathbf{W}=\mathbf{p}_1\mathbf{p}_1^T+\mathbf{p}_2\mathbf{p}_2^T+\mathbf{p}_3\mathbf{p}_3^T\)(7.42)(自联想时 \(\mathbf{p}_q\) 取代 \(\mathbf{t}_q\))。
- 由于元素只取 ±1,把线性传递函数换成对称硬限幅:\(\mathbf{a}=\mathrm{hardlims}(\mathbf{W}\mathbf{p})\),\(\mathbf{W}\) 为 \(30\times30\)(图 7.2)。
- 测试结果:①下半部 50% 被遮挡,三个数字都正确恢复(图 7.3);②下部 2/3(67%)被遮挡,只有"1"正确恢复,另两个输出不对应任何原型——即伪模式(spurious patterns),是联想记忆的常见问题,希望设计网络使伪模式最少(第 18 章循环联想记忆再谈,原文如此,实际 Hopfield 在第 21 章);③每个模式随机改变 7 个像素的噪声版本,全部正确恢复(图 7.5)。演示 nnd7sh。
7.7 Hebb 学习的变体(Variations of Hebbian Learning,PDF p.205–206)
后文很多学习律都与 Hebb 规则有关。
- 问题:原型很多时权值元素会变得很大。基本规则 \(\mathbf{W}^{new}=\mathbf{W}^{old}+\mathbf{t}_q\mathbf{p}_q^T\)(7.43)。
- 加学习率 \(\alpha<1\) 限制增长:\(\mathbf{W}^{new}=\mathbf{W}^{old}+\alpha\mathbf{t}_q\mathbf{p}_q^T\)(7.44)。
- 加衰减项(decay),使规则像平滑滤波器、更清楚地记住最近的输入:
\[\mathbf{W}^{new}=\mathbf{W}^{old}+\alpha\mathbf{t}_q\mathbf{p}_q^T-\gamma\mathbf{W}^{old}=(1-\gamma)\mathbf{W}^{old}+\alpha\mathbf{t}_q\mathbf{p}_q^T\qquad(7.45)\]\(0<\gamma<1\)。\(\gamma\to0\) 时退化为标准规则;\(\gamma\to1\) 时迅速遗忘旧输入、只记最近模式。可防止权值无界增长。滤波权值变化与可调学习率的思想将在第 10、12、15、16、18、19 章再现。(这正是指数加权移动平均。)
- Delta 规则:把(7.44)中的目标换成"目标与实际输出之差":
\[\mathbf{W}^{new}=\mathbf{W}^{old}+\alpha(\mathbf{t}_q-\mathbf{a}_q)\mathbf{p}_q^T\qquad(7.46)\]也称 Widrow-Hoff 算法。它调整权值以最小化均方误差(第 10 章),因此与最小化误差平方和的伪逆规则结果相同。优点:每来一个新输入就可更新,而伪逆规则需在所有样本已知后一步算出;顺序更新使 delta 规则能适应变化的环境。
- 无监督 Hebb 规则(原文称见第 13 章;按本版目录实际在第 15 章联想学习):用实际输出代替目标,\(\mathbf{W}^{new}=\mathbf{W}^{old}+\alpha\mathbf{a}_q\mathbf{p}_q^T\)(7.47),\(\mathbf{a}_q\) 为输入 \(\mathbf{p}_q\) 时的网络输出。它其实比本章的有监督形式更直接地体现 Hebb 假设。
7.8 结果汇总(PDF p.207–208)
Hebb 假设原文;线性联想器 \(\mathbf{a}=\mathrm{purelin}(\mathbf{W}\mathbf{p})\);Hebb 规则 \(w_{ij}^{new}=w_{ij}^{old}+t_{qi}p_{qj}\),\(\mathbf{W}=\mathbf{T}\mathbf{P}^T\);伪逆规则 \(\mathbf{W}=\mathbf{T}\mathbf{P}^+\),\(R>Q\) 且列无关时 \(\mathbf{P}^+=(\mathbf{P}^T\mathbf{P})^{-1}\mathbf{P}^T\);变体:滤波学习 \(\mathbf{W}^{new}=(1-\gamma)\mathbf{W}^{old}+\alpha\mathbf{t}_q\mathbf{p}_q^T\)、delta 规则、无监督 Hebb。
7.9 已解习题(Solved Problems,PDF p.209–221)
- P7.1 线性联想器(4 输入 2 输出),\(\mathbf{p}_1=[1,-1,1,-1]^T,\ \mathbf{t}_1=[1,-1]^T\);\(\mathbf{p}_2=[1,1,-1,-1]^T,\ \mathbf{t}_2=[1,1]^T\)。
- Hebb:\(\mathbf{W}^h=\mathbf{T}\mathbf{P}^T=\begin{bmatrix}2&0&0&-2\\0&2&-2&0\end{bmatrix}\)。
- 伪逆:\(\mathbf{P}^T\mathbf{P}=4\mathbf{I}\),\(\mathbf{P}^+=\frac14\mathbf{P}^T\),\(\mathbf{W}^p=\mathbf{T}\mathbf{P}^+=\begin{bmatrix}1/2&0&0&-1/2\\0&1/2&-1/2&0\end{bmatrix}\)。
- 测试:\(\mathbf{W}^h\mathbf{p}_1=[4,-4]^T\ne\mathbf{t}_1\);\(\mathbf{W}^p\mathbf{p}_1=[1,-1]^T=\mathbf{t}_1\)。原因:\(\mathbf{p}_1,\mathbf{p}_2\) 正交但未归一化,\(\mathbf{W}^h\mathbf{p}_1=\mathbf{t}_1(\mathbf{p}_1^T\mathbf{p}_1)=4\mathbf{t}_1\);伪逆规则保证最小化 \(\sum\|\mathbf{t}_q-\mathbf{W}\mathbf{p}_q\|^2\),此处可为零。
- P7.2 两个 6 像素原型(按列扫描)\(\mathbf{p}_1=[1,1,-1,1,-1,-1]^T\),\(\mathbf{p}_2=[-1,1,1,1,1,-1]^T\)。\(\mathbf{p}_1^T\mathbf{p}_2=0\),正交但未归一化(\(\mathbf{p}^T\mathbf{p}=6\))。Hebb 自联想 \(\mathbf{W}=\mathbf{P}\mathbf{P}^T\)(元素为 0 或 ±2 的 \(6\times6\) 矩阵)。测试 \(\mathbf{p}_t=[1,1,1,1,1,-1]^T\):\(\mathbf{a}=\mathrm{hardlims}(\mathbf{W}\mathbf{p}_t)=\mathrm{hardlims}([-2,6,2,6,2,-6]^T)=[-1,1,1,1,1,-1]^T=\mathbf{p}_2\)。正确:\(\mathbf{p}_t\) 与 \(\mathbf{p}_2\) 的 Hamming 距离 1、与 \(\mathbf{p}_1\) 为 2。未归一化不造成 P7.1 的问题,因为 hardlims 非线性把输出强制为 ±1——神经网络大多数有趣有用的性质来自非线性。
- P7.3 三个 7 维原型 \(\mathbf{p}_1=[1,1,-1,-1,1,1,1]^T\),\(\mathbf{p}_2=[1,1,1,-1,1,-1,1]^T\),\(\mathbf{p}_3=[-1,1,-1,1,1,-1,1]^T\),测试 \(\mathbf{p}_t=[-1,1,-1,-1,1,-1,1]^T\)。MATLAB:
wh=P*P'; ah=hardlims(wh*pt)得 \([1,1,-1,-1,1,-1,1]^T\),不是任何原型(原型不正交);pseu=inv(P'*P)*P'; wp=P*pseu; ap=hardlims(wp*pt)得 \(\mathbf{p}_3\)。正确:\(\mathbf{p}_t\) 与 \(\mathbf{p}_1,\mathbf{p}_2\) 距离 2,与 \(\mathbf{p}_3\) 距离 1。伪逆规则优于 Hebb。 - P7.4 用 Hebb 规则设计感知机(无偏置、hardlims、4 输入 2 输出)识别 \(\mathbf{p}_1=[1,-1,1,1]^T,\ \mathbf{p}_2=[1,1,-1,1]^T,\ \mathbf{p}_3=[-1,-1,-1,1]^T\),目标任选不同的 ±1 组合:\(\mathbf{t}_1=[-1,-1]^T,\ \mathbf{t}_2=[-1,1]^T,\ \mathbf{t}_3=[1,-1]^T\)。\(\mathbf{W}=\mathbf{T}\mathbf{P}^T=\begin{bmatrix}-3&-1&-1&-1\\1&3&-1&-1\end{bmatrix}\)。测试 \(\mathbf{p}_t=[1,-1,1,-1]^T\):\(\mathbf{a}=\mathrm{hardlims}([-2,-2]^T)=[-1,-1]^T=\mathbf{t}_1\),判为 \(\mathbf{p}_1\),正确(Hamming 距离 1,与另两者距离 3)。
- P7.5 Hebb 规则设计的线性自联想器,\(Q\) 个长度 \(R\)、元素为 ±1 的正交原型:
- (i) \(\mathbf{W}=\mathbf{P}\mathbf{P}^T=\sum_q\mathbf{p}_q\mathbf{p}_q^T\),\(\mathbf{W}\mathbf{p}_k=\sum_q\mathbf{p}_q(\mathbf{p}_q^T\mathbf{p}_k)=\mathbf{p}_k(\mathbf{p}_k^T\mathbf{p}_k)=R\,\mathbf{p}_k\)(±1 元素使 \(\mathbf{p}_k^T\mathbf{p}_k=R\))。故每个原型都是 \(\mathbf{W}\) 的特征向量,特征值均为 \(R\);重特征值 \(R\) 的特征空间是原型张成的 \(Q\) 维子空间。
- (ii) 与该子空间正交的 \((R-Q)\) 维子空间中任一基向量 \(\mathbf{z}_k\):\(\mathbf{W}\mathbf{z}_k=\sum_q\mathbf{p}_q(\mathbf{p}_q^T\mathbf{z}_k)=\mathbf{0}\),是特征值 0 的特征向量。
- 结论:\(\mathbf{W}\) 只有特征值 \(R\) 和 0——原型张成空间中的向量被放大 \(R\) 倍,正交于原型的分量被置零(第 21 章 Hopfield 网络再用)。
- P7.6 感知机识别 \(\mathbf{p}_1=[1,1]^T\)、\(\mathbf{p}_2=[2,2]^T\)(目标 \(t_1=1,\ t_2=-1\)):
- (i) 为什么需要偏置:无偏置时边界 \(\mathbf{W}\mathbf{p}=0\) 过原点,而两点在过原点的同一射线上,任何过原点的直线都分不开它们。
- (ii) 把偏置当作输入恒为 1 的权值,增广 \(\mathbf{p}'_1=[1,1,1]^T\),\(\mathbf{p}'_2=[2,2,1]^T\),\(\mathbf{P}=\begin{bmatrix}1&2\\1&2\\1&1\end{bmatrix}\),\(\mathbf{T}=[1\ -1]\)。\(\mathbf{P}^+=\begin{bmatrix}3&5\\5&9\end{bmatrix}^{-1}\begin{bmatrix}1&1&1\\2&2&1\end{bmatrix}=\begin{bmatrix}-0.5&-0.5&2\\0.5&0.5&-1\end{bmatrix}\),\(\mathbf{W}'=\mathbf{T}\mathbf{P}^+=[-1\ -1\ 3]\),即 \(\mathbf{W}=[-1\ -1]\),\(b=3\),边界 \(p_1+p_2=3\) 分开两点(图 P7.4)。
- P7.7 用 {0,1} 二值(binary)而非 {−1,1} 双极(bipolar)表示时如何修改 Hebb 规则?关系 \(\mathbf{p}'_q=\frac12\mathbf{p}_q+\frac12\mathbf{1}\),\(\mathbf{p}_q=2\mathbf{p}'_q-\mathbf{1}\)。二值网络用 hardlim 并需要偏置(二值向量都落在一个象限,过原点的边界不一定能分开)。要求净输入相同 \(\mathbf{W}'\mathbf{p}'+\mathbf{b}=\mathbf{W}\mathbf{p}\),代入 \(\mathbf{p}'=\frac12\mathbf{p}+\frac12\mathbf{1}\):\(\frac12\mathbf{W}'\mathbf{p}+\frac12\mathbf{W}'\mathbf{1}+\mathbf{b}=\mathbf{W}\mathbf{p}\),故
\[\mathbf{W}'=2\mathbf{W},\qquad \mathbf{b}=-\mathbf{W}\mathbf{1}\]\(\mathbf{W}\) 为双极 Hebb 权值矩阵。
7.10 结语与延伸阅读(PDF p.222–223)
两个目标:介绍最有影响力的学习律之一 Hebb 规则(至今影响学习理论),并用前两章的线性代数解释其性能——这是全书的关键目标:揭示数学概念如何支撑网络运行。Hebb 规则将在第 15、21 章(Hopfield 网络设计)再现。接下来两章介绍第 10、11 章两种性能学习律所需的优化基础。 延伸阅读:[Albe72] Albert《Regression and the Moore-Penrose Pseudoinverse》(伪逆理论主要参考);[Ande72];[Hebb49];[Koho72]。
7.11 习题(Exercises,PDF p.224–227)
- E7.1 两个原型图案:判断是否正交、用 Hebb 规则设计自联想器、用测试图案检验并解释。E7.2 用伪逆规则重做。
- E7.3 用 Hebb 规则为单输出感知机(6 输入,hardlims)设计权值识别两个图案。
- E7.4 用二值表示重做 E7.1,证明响应与双极网络等价(应用 P7.7)。
- E7.5 证明把 Hebb 权值矩阵对角线清零(\(\mathbf{W}=\mathbf{P}\mathbf{P}^T-Q\mathbf{I}\))后自联想器仍能工作(提示:原型仍是新矩阵的特征向量,特征值变为 \(R-Q\))。
- E7.6 \(\{[1,0]^T,1\},\{[1,1]^T,-1\},\{[0,1]^T,1\}\):证明需要偏置,用伪逆规则设计并验证(考点:这是类似 XOR 的问题,需检查是否线性可解)。
- E7.7 \(\{[2,4]^T,26\},\{[4,2]^T,26\},\{[-2,-2]^T,-26\}\) 训练线性联想器:Hebb 权值与决策边界;伪逆权值(此时 \(R<Q\),用 \(\mathbf{P}^+=\mathbf{P}^T(\mathbf{P}\mathbf{P}^T)^{-1}\))与边界;比较两者。
- E7.8 三个原型:判断正交、Hebb 设计线性自联想器、画图、用 Hebb 规则的分析(而非解特征方程)求特征值特征向量(考 P7.5)。
- E7.9 \(\{[3,6]^T,75\},\{[6,3]^T,75\},\{[-6,-3]^T,-75\}\):Hebb 与伪逆的边界对比。
- E7.10 \(\{[1,1]^T,1\},\{[1,-1]^T,-1\}\):Hebb 与伪逆设计感知机,讨论边界好坏及两者运行是否有差别(两输入正交,结果只差一个正比例因子,对 hardlims 输出无影响)。
- E7.11 容量实验:用数字识别问题从"0""1"开始逐个加到"6",每次随机改变 2、4、6 个像素各测 10 次,画错误率随存储数字数的曲线;Hebb 与伪逆对比(考点:联想记忆容量、原型相关性对性能的影响)。
第 7 章 本章要点
- 有监督 Hebb 规则 \(\mathbf{W}=\mathbf{T}\mathbf{P}^T=\sum\mathbf{t}_q\mathbf{p}_q^T\)(外积/相关矩阵)。原型标准正交时精确回忆;否则产生与原型间相关性成正比的串扰误差(crosstalk)。
- 伪逆规则 \(\mathbf{W}=\mathbf{T}\mathbf{P}^+\) 最小化 \(\sum\|\mathbf{t}_q-\mathbf{W}\mathbf{p}_q\|^2\);列满秩时 \(\mathbf{P}^+=(\mathbf{P}^T\mathbf{P})^{-1}\mathbf{P}^T\),即最小二乘解。不需要输入归一化。
- 自联想记忆配合 hardlims 可从遮挡/噪声中恢复模式,但存在伪模式。正交原型下 Hebb 权值矩阵的特征结构:原型方向特征值 \(R\),正交补方向特征值 0。
- 偏置可视为输入恒为 1 的权值,通过增广输入纳入 Hebb/伪逆规则;二值与双极表示可互换(\(\mathbf{W}'=2\mathbf{W}\),\(\mathbf{b}=-\mathbf{W}\mathbf{1}\))。
- 变体:学习率、衰减(指数遗忘)、delta(Widrow-Hoff)规则、无监督 Hebb。
第 7 章 与量化交易的关联
- 伪逆规则就是 OLS:\(\mathbf{W}=\mathbf{T}\mathbf{P}^+\) 与多元线性回归 \(\hat{\boldsymbol\beta}=(\mathbf{X}^T\mathbf{X})^{-1}\mathbf{X}^T\mathbf{y}\) 完全同构(\(\mathbf{P}\) 的列是样本、行是特征)。截面因子收益回归(Fama-MacBeth 每期回归)、多因子模型中因子收益估计都是这一运算;P7.6 的"增广 1 以引入偏置"就是回归中加截距列。
- Hebb 规则 = 协方差/相关矩阵估计:\(\sum\mathbf{t}_q\mathbf{p}_q^T\) 是输出与输入的样本交叉矩,自联想时 \(\mathbf{P}\mathbf{P}^T\) 即样本二阶矩矩阵。只用 \(\mathbf{X}^T\mathbf{y}\) 而忽略 \((\mathbf{X}^T\mathbf{X})^{-1}\) 相当于在因子相关时直接用单因子相关系数加权——因子相关性带来的"串扰"正是式(7.14)的误差项,说明因子共线时需正交化或用回归而非简单 IC 加权。
- 衰减 Hebb 规则 = 指数加权估计:\((1-\gamma)\mathbf{W}^{old}+\alpha\mathbf{t}\mathbf{p}^T\) 就是 EWMA 协方差(如 RiskMetrics \(\lambda=0.94\))的形式,\(\gamma\) 对应半衰期选择——在非平稳市场中权衡对新信息的响应和估计噪声。
- Delta 规则的在线更新适合逐日(逐笔)滚动更新的模型,如在线回归、递推最小二乘,能适应市场结构变化。
- 伪逆与高维问题:\(R>Q\)(特征多于样本)时用 \(\mathbf{P}^T(\mathbf{P}\mathbf{P}^T)^{-1}\) 给出最小范数解(E7.7),对应因子数多于样本期数时的欠定回归,实践中需正则化(第 13 章)。
第 7 章 推荐习题
- P7.1、P7.6:Hebb 与伪逆对比、带偏置的增广设计,联系 OLS 与截距项。
- P7.5、E7.5、E7.8:Hebb 权值矩阵的特征结构,联系 PCA 与 Hopfield 网络。
- E7.7、E7.9:\(R<Q\) 与 \(R>Q\) 两种伪逆,比较决策边界。
- E7.11:联想记忆容量实验,体会相关性与容量的关系。
第 8 章 性能曲面与最优点(Performance Surfaces and Optimum Points,PDF p.228–266)
8.0 目标(PDF p.228–229)
本章为性能学习(performance learning)打基础。学习律分若干类:联想学习(如第 7 章 Hebb 学习)、竞争学习(第 16 章),以及性能学习——调整网络参数以优化网络"性能"。第 8、9 章奠定基础,第 10–14 章详细展开。本章研究性能曲面,给出性能曲面存在极小/极大点的条件;第 9 章讨论如何找到这些点。 优化分两步:
- 定义"性能"——找一个定量的性能指标(performance index),网络表现好时小、表现差时大。第 8、9 章假定性能指标已给定,第 10、11、13 章讨论如何选择。
- 在参数空间(权值和偏置)中搜索以减小性能指标。本章研究性能曲面的特征和保证存在最小点的条件。
8.1 Taylor 级数(Taylor Series,PDF p.229–231)
标量情形
设性能指标 \(F(x)\) 是标量参数 \(x\) 的解析函数(各阶导数都存在),在名义点 \(x^*\) 处 Taylor 展开:
向量情形(Vector Case)
性能指标是所有网络参数的函数 \(F(\mathbf{x})=F(x_1,x_2,\dots,x_n)\)(8.7)。在 \(\mathbf{x}^*\) 处展开(8.8)写成矩阵形式:
8.2 方向导数(Directional Derivatives,PDF p.232–234)
梯度第 \(i\) 个元素 \(\partial F/\partial x_i\) 是沿 \(x_i\) 轴的一阶导数;Hessian 第 \(i\) 个对角元 \(\partial^2F/\partial x_i^2\) 是沿 \(x_i\) 轴的二阶导数。沿任意方向 \(\mathbf{p}\) 的导数:
- 斜率为零的原因:分子是方向向量与梯度的内积,与梯度正交的方向斜率为零(即沿等高线切线方向)。
- 最大斜率方向:内积最大时,即方向与梯度相同(方向向量长度不影响,因为已归一化)。图 8.2 在等高线图上从 \(\mathbf{x}^*\) 画出 5 个方向的方向导数(0.0、0.8、1.6、2.0、2.2),最大值 \(\sqrt5\approx2.2\) 在梯度方向,零在与梯度正交(等高线切线)方向。演示 nnd8dd。
8.3 极小点(Minima,PDF p.234–236)
性能学习的目标是优化性能指标;这里假定最优点是极小点(极大情形类似)。
- 强极小(strong minimum):若存在 \(\delta>0\),使对一切满足 \(\delta>\|\Delta\mathbf{x}\|>0\) 的 \(\Delta\mathbf{x}\),有 \(F(\mathbf{x}^*)<F(\mathbf{x}^*+\Delta\mathbf{x})\)。即向任何方向移开一小段距离,函数都增大。
- 全局极小(global minimum):若对一切 \(\Delta\mathbf{x}\ne\mathbf{0}\) 有 \(F(\mathbf{x}^*)<F(\mathbf{x}^*+\Delta\mathbf{x})\),则 \(\mathbf{x}^*\) 是唯一全局极小。简单强极小在小邻域外可能有更小的函数值,因此也称局部极小(local minimum)。
- 弱极小(weak minimum):不是强极小,但存在 \(\delta>0\),使对 \(\delta>\|\Delta\mathbf{x}\|>0\) 有 \(F(\mathbf{x}^*)\le F(\mathbf{x}^*+\Delta\mathbf{x})\)。向任何方向移动函数都不减少,但某些方向上函数不变。
例:
- 标量 \(F(x)=3x^4-7x^2-\frac12x+6\)(8.17,图 8.3):两个强极小点约在 \(-1.1\) 与 \(1.1\);\(1.1\) 处是全局极小;无弱极小。
- 向量 \(F(\mathbf{x})=(x_2-x_1)^4+8x_1x_2-x_1+x_2+3\)(8.18,图 8.4):两个强局部极小 \((-0.42,0.42)\) 与 \((0.55,-0.55)\),后者为全局极小;在 \((-0.13,0.13)\) 处有鞍点(saddle point)——沿直线 \(x_1=-x_2\) 是局部极大,沿其正交方向是局部极小(P8.2、P8.5 详解;演示 nnd8ts2 用此函数)。
- 弱极小例:\(F(\mathbf{x})=(x_1^2-1.5x_1x_2+2x_2^2)x_1^2\)(8.19,图 8.5),直线 \(x_1=0\) 上每点都是弱极小。
8.4 最优性的必要条件(Necessary Conditions for Optimality,PDF p.236–239)
在 \(\mathbf{x}^*\) 处展开,令 \(\Delta\mathbf{x}=\mathbf{x}-\mathbf{x}^*\)(8.21):
一阶条件(First-Order Conditions)
\(\|\Delta\mathbf{x}\|\) 很小时高阶项可忽略:\(F(\mathbf{x}^*+\Delta\mathbf{x})\cong F(\mathbf{x}^*)+\nabla F^T\Delta\mathbf{x}\)(8.22)。\(\mathbf{x}^*\) 是候选极小点,故 \(\Delta\mathbf{x}\ne0\) 时函数应不减,需 \(\nabla F^T\Delta\mathbf{x}\ge0\)(8.23)。若 \(\nabla F^T\Delta\mathbf{x}>0\)(8.24),则反方向 \(F(\mathbf{x}^*-\Delta\mathbf{x})\cong F(\mathbf{x}^*)-\nabla F^T\Delta\mathbf{x}<F(\mathbf{x}^*)\)(8.25),与极小矛盾。故必须 \(\nabla F^T\Delta\mathbf{x}=0\)(8.26),对任意 \(\Delta\mathbf{x}\) 成立,所以
二阶条件(Second-Order Conditions)
驻点处梯度为零,展开为 \(F(\mathbf{x}^*+\Delta\mathbf{x})=F(\mathbf{x}^*)+\frac12\Delta\mathbf{x}^T\nabla^2F\big|_{\mathbf{x}^*}\Delta\mathbf{x}+\cdots\)(8.28)。小邻域内若
- 正定(positive definite):对任意 \(\mathbf{z}\ne\mathbf{0}\),\(\mathbf{z}^T\mathbf{A}\mathbf{z}>0\)(8.30);半正定(positive semidefinite):对任意 \(\mathbf{z}\),\(\mathbf{z}^T\mathbf{A}\mathbf{z}\ge0\)(8.31)。可用特征值检验:全正 ⇒ 正定;全非负 ⇒ 半正定。
- Hessian 正定是强极小的二阶充分条件,但非必要:二阶项为零而三阶(更高阶)项为正时仍可能是强极小。故强极小的二阶必要条件是 Hessian 半正定。 例:\(F(\mathbf{x})=x_1^4+x_2^2\)(8.32)。\(\nabla F=[4x_1^3,\ 2x_2]^T=\mathbf{0}\)(8.33),唯一驻点 \(\mathbf{x}^*=\mathbf{0}\)。\(\nabla^2F=\begin{bmatrix}12x_1^2&0\\0&2\end{bmatrix}_{\mathbf{x}=0}=\begin{bmatrix}0&0\\0&2\end{bmatrix}\)(8.34),仅半正定。满足必要条件但不能由一、二阶条件证明是极小;实际上它是强极小,只是上述条件无法证明。 总结:
- \(\mathbf{x}^*\) 为极小(强或弱)的必要条件:\(\nabla F(\mathbf{x}^*)=\mathbf{0}\) 且 \(\nabla^2F(\mathbf{x}^*)\) 半正定。
- \(\mathbf{x}^*\) 为强极小的充分条件:\(\nabla F(\mathbf{x}^*)=\mathbf{0}\) 且 \(\nabla^2F(\mathbf{x}^*)\) 正定。
8.5 二次函数(Quadratic Functions,PDF p.239–246)
二次函数是"万能"的性能指标:许多应用中直接出现,且许多函数在小邻域内(特别是局部极小附近)可用二次函数近似。一般形式:
Hessian 的特征系统(Eigensystem of the Hessian)
考虑驻点在原点、函数值为零的二次函数 \(F(\mathbf{x})=\frac12\mathbf{x}^T\mathbf{A}\mathbf{x}\)(8.40)。以 Hessian 的特征向量为新基(第 6 章换基)。\(\mathbf{A}\) 对称,特征向量相互正交;单位化后 \(\mathbf{B}=[\mathbf{z}_1\ \cdots\ \mathbf{z}_n]\)(8.41)满足 \(\mathbf{B}^{-1}=\mathbf{B}^T\)(8.42)。换基后
- 二阶方向导数是特征值的加权平均,因此 \(\lambda_{min}\le\frac{\mathbf{p}^T\mathbf{A}\mathbf{p}}{\|\mathbf{p}\|^2}\le\lambda_{max}\)(8.48)(Rayleigh 商性质)。
- 取 \(\mathbf{p}=\mathbf{z}_{max}\)(8.49),\(\mathbf{c}=\mathbf{B}^T\mathbf{z}_{max}=[0,\dots,0,1,0,\dots,0]^T\)(8.50,1 在 \(\lambda_{max}\) 对应位置,因特征向量标准正交),得二阶导 \(=\lambda_{max}\)(8.51)。最大二阶导数(曲率)在最大特征值对应的特征向量方向上;每个特征向量方向上的二阶导等于对应特征值;其他方向是特征值的加权平均。特征值就是特征向量方向上的二阶导数。
- 特征向量构成使二次型交叉项消失的新坐标系,称为函数等高线的主轴(principal axes)。二维图示:\(\lambda_1<\lambda_2\) 时,最小曲率在 \(\mathbf{z}_1\) 方向(穿越等高线较慢),最大曲率在 \(\mathbf{z}_2\) 方向(穿越较快)。此图只在两特征值同号(强极小或强极大,等高线为椭圆)时成立。
四个例子:
- 圆形凹谷(circular hollow):\(F=x_1^2+x_2^2=\frac12\mathbf{x}^T\begin{bmatrix}2&0\\0&2\end{bmatrix}\mathbf{x}\)(8.52),\(\lambda_1=\lambda_2=2\),特征向量可取任意两个无关向量(重特征值的特征空间是整个平面)。各方向曲率相同,等高线为圆(图 8.6)。
- 椭圆凹谷(elliptical hollow):\(F=x_1^2+x_1x_2+x_2^2=\frac12\mathbf{x}^T\begin{bmatrix}2&1\\1&2\end{bmatrix}\mathbf{x}\)(8.54),\(\lambda_1=1,\ \mathbf{z}_1=[1,-1]^T\);\(\lambda_2=3,\ \mathbf{z}_2=[1,1]^T\)(8.55)。最大曲率在 \(\mathbf{z}_2\) 方向,等高线为椭圆,长轴沿 \(\mathbf{z}_1\)(图 8.7)。
- 拉长的鞍形(elongated saddle):\(F=-\frac14x_1^2-\frac32x_1x_2-\frac14x_2^2=\frac12\mathbf{x}^T\begin{bmatrix}-0.5&-1.5\\-1.5&-0.5\end{bmatrix}\mathbf{x}\)(8.56),\(\lambda_1=1,\ \mathbf{z}_1=[-1,1]^T\);\(\lambda_2=-2,\ \mathbf{z}_2=[-1,-1]^T\)(8.57)。\(\mathbf{z}_1\) 方向正曲率,\(\mathbf{z}_2\) 方向负曲率且幅度更大(穿越等高线更快)。驻点 \(\mathbf{x}^*=\mathbf{0}\)(8.58)不是强极小;特征值异号 ⇒ Hessian 不定(indefinite),驻点是鞍点:沿 \(\mathbf{z}_1\) 是极小,沿 \(\mathbf{z}_2\) 是极大(图 8.8)。
- 平稳山谷(stationary valley):\(F=\frac12x_1^2-x_1x_2+\frac12x_2^2=\frac12\mathbf{x}^T\begin{bmatrix}1&-1\\-1&1\end{bmatrix}\mathbf{x}\)(8.59),\(\lambda_1=2,\ \mathbf{z}_1=[-1,1]^T\);\(\lambda_2=0,\ \mathbf{z}_2=[-1,-1]^T\)(8.60)。沿 \(\mathbf{z}_2\) 曲率为零;Hessian 半正定,沿直线 \(x_1=x_2\)(8.61)都是弱极小(图 8.9)。
- 对二次函数,强极小存在当且仅当 Hessian 正定;高阶函数可在 Hessian 仅半正定时有强极小(如 8.32)。演示 nnd8qf。
二次函数特征小结:
- Hessian 特征值全正 ⇒ 唯一强极小;
- 全负 ⇒ 唯一强极大;
- 有正有负 ⇒ 唯一鞍点;
- 全非负但有零 ⇒ 要么弱极小(如图 8.9),要么没有驻点(P8.7);
- 全非正但有零 ⇒ 要么弱极大,要么没有驻点。
以上假设驻点在原点且函数值为零(\(\mathbf{d}=\mathbf{0}\)、\(c=0\))。\(c\ne0\) 只是整体抬高函数值,不改变等高线形状。\(\mathbf{d}\ne\mathbf{0}\) 且 \(\mathbf{A}\) 可逆时,等高线形状不变,但驻点移到
\[\mathbf{x}^*=-\mathbf{A}^{-1}\mathbf{d}\qquad(8.62)\]\(\mathbf{A}\) 不可逆(有零特征值)且 \(\mathbf{d}\ne\mathbf{0}\) 时,驻点可能不存在(P8.7)。
8.6 结果汇总(PDF p.247–248)
Taylor 级数(8.9);梯度(8.10);Hessian(8.11);一阶方向导数 \(\mathbf{p}^T\nabla F/\|\mathbf{p}\|\),二阶方向导数 \(\mathbf{p}^T\nabla^2F\mathbf{p}/\|\mathbf{p}\|^2\);强极小、全局极小、弱极小定义;必要条件与充分条件;二次函数梯度 \(\mathbf{A}\mathbf{x}+\mathbf{d}\)、Hessian \(\mathbf{A}\)、二阶方向导数在 \([\lambda_{min},\lambda_{max}]\) 之间、特征值即特征向量方向的二阶导数。
8.7 已解习题(Solved Problems,PDF p.249–260)
- P8.1 在 \(x^*=\pi/2\) 处展开 \(\cos x\):\(F(x)=-(x-\frac\pi2)+\frac16(x-\frac\pi2)^3-\frac1{120}(x-\frac\pi2)^5+\cdots\)。零阶 \(F_0=0\);一阶 \(F_1=\frac\pi2-x\)(二阶与一阶相同,因二阶导为零);三阶 \(F_3=-(x-\frac\pi2)+\frac16(x-\frac\pi2)^3\)。此处零阶近似很差,一阶近似在相当宽范围内准确(与图 8.1 对比:那里在局部极大点展开,一阶导为零)。
- P8.2 对 \(F(\mathbf{x})=(x_2-x_1)^4+8x_1x_2-x_1+x_2+3\) 在两个强极小处做二阶展开。
- 梯度 \(\nabla F=\begin{bmatrix}-4(x_2-x_1)^3+8x_2-1\\ 4(x_2-x_1)^3+8x_1+1\end{bmatrix}\);Hessian \(\nabla^2F=\begin{bmatrix}12(x_2-x_1)^2&-12(x_2-x_1)^2+8\\-12(x_2-x_1)^2+8&12(x_2-x_1)^2\end{bmatrix}\)。
- 在 \(\mathbf{x}^1=[-0.42,0.42]^T\):\(F^1(\mathbf{x})=2.93+\frac12(\mathbf{x}-\mathbf{x}^1)^T\begin{bmatrix}8.42&-0.42\\-0.42&8.42\end{bmatrix}(\mathbf{x}-\mathbf{x}^1)\),化简为 \(4.49-[3.7128\ \ -3.7128]\mathbf{x}+\frac12\mathbf{x}^T\begin{bmatrix}8.42&-0.42\\-0.42&8.42\end{bmatrix}\mathbf{x}\)。
- 在 \(\mathbf{x}^2=[0.55,-0.55]^T\):\(F^2(\mathbf{x})=7.41-[11.781\ \ -11.781]\mathbf{x}+\frac12\mathbf{x}^T\begin{bmatrix}14.71&-6.71\\-6.71&14.71\end{bmatrix}\mathbf{x}\)。图 P8.2–P8.4 对比原函数与两个近似:每个近似只在各自极小附近准确。
- P8.3 求 \(F(\mathbf{x})=(2+x_1)^2+5(1-x_1-x_2^2)^2\) 在 \(\mathbf{x}^*=[0,0]^T\) 处等高线的切线方程。思路:沿等高线函数不变,方向导数为零。\(\nabla F=\begin{bmatrix}-6+12x_1+10x_2^2\\-20x_2+20x_1x_2+20x_2^3\end{bmatrix}\),在原点为 \([-6,0]^T\)。令 \(\Delta\mathbf{x}^T\nabla F(\mathbf{x}^*)=0\),\(\Delta\mathbf{x}=\mathbf{x}-\mathbf{x}^*\):\([x_1\ x_2][-6,0]^T=0\),即切线 \(x_1=0\)(图 P8.5)。
- P8.4 \(F(x)=x^4-\frac23x^3-2x^2+2x+4\)。驻点:\(F'(x)=4x^3-2x^2-4x+2=0\),MATLAB
roots([4 -2 -4 2])得 \(1,-1,0.5\)。\(F''(x)=12x^2-4x-4\):\(F''(1)=4>0\),\(F''(-1)=12>0\),\(F''(0.5)=-3<0\)。故 \(\pm1\) 为强局部极小、\(0.5\) 为强局部极大。\(F(1)=4.333\),\(F(-1)=1.667\),全局极小在 \(-1\);因最高次 \(x^4\) 系数为正且为偶次,\(x\to\pm\infty\) 时 \(F\to\infty\),可确认是全局极小(图 P8.6)。 - P8.5 P8.2 函数的三个驻点 \(\mathbf{x}^1=[-0.41878,0.41878]^T\),\(\mathbf{x}^2=[-0.134797,0.134797]^T\),\(\mathbf{x}^3=[0.55358,-0.55358]^T\),用 Hessian 特征值判定:
- \(\mathbf{x}^1\):\(\begin{bmatrix}8.42&-0.42\\-0.42&8.42\end{bmatrix}\),\(\lambda=8.84,\ 8.0\),正定 ⇒ 强极小。
- \(\mathbf{x}^2\):\(\begin{bmatrix}0.87&7.13\\7.13&0.87\end{bmatrix}\),\(\lambda_1=-6.26\)(\(\mathbf{z}_1=[1,-1]^T\),负曲率),\(\lambda_2=8.0\)(\(\mathbf{z}_2=[1,1]^T\),正曲率),不定 ⇒ 鞍点(与 8.3 节描述一致)。
- \(\mathbf{x}^3\):\(\begin{bmatrix}14.7&-6.71\\-6.71&14.7\end{bmatrix}\),\(\lambda=21.42,\ 8.0\) ⇒ 强极小。
- 判据:特征值全正 ⇒ 正定 ⇒ 强极小;全非负 ⇒ 半正定,与强或弱极小相容;一正一负 ⇒ 不定 ⇒ 鞍点。
- P8.6 线性网络的性能曲面(把本章工具用于神经网络)。单输入线性神经元 \(a=wp+b\),样本 \(\{p_1=2,t_1=0.5\}\),\(\{p_2=-1,t_2=0\}\),性能指标 \(F(\mathbf{x})=(t_1-a_1)^2+(t_2-a_2)^2\),参数 \(\mathbf{x}=[w,b]^T\)。
- \(F=e_1^2+e_2^2=\mathbf{e}^T\mathbf{e}\),\(\mathbf{e}=\mathbf{t}-\begin{bmatrix}p_1&1\\p_2&1\end{bmatrix}\mathbf{x}=\mathbf{t}-\mathbf{G}\mathbf{x}\)。
- \(F=(\mathbf{t}-\mathbf{G}\mathbf{x})^T(\mathbf{t}-\mathbf{G}\mathbf{x})=\mathbf{t}^T\mathbf{t}-2\mathbf{t}^T\mathbf{G}\mathbf{x}+\mathbf{x}^T\mathbf{G}^T\mathbf{G}\mathbf{x}\),对照(8.35)是二次函数:\(c=\mathbf{t}^T\mathbf{t}\),\(\mathbf{d}=-2\mathbf{G}^T\mathbf{t}\),\(\mathbf{A}=2\mathbf{G}^T\mathbf{G}\)。
- 梯度 \(\nabla F=2\mathbf{G}^T\mathbf{G}\mathbf{x}-2\mathbf{G}^T\mathbf{t}\);驻点(等高线中心)\(\mathbf{x}^*=-\mathbf{A}^{-1}\mathbf{d}=(\mathbf{G}^T\mathbf{G})^{-1}\mathbf{G}^T\mathbf{t}\)。\(\mathbf{G}=\begin{bmatrix}2&1\\-1&1\end{bmatrix}\),\(\mathbf{t}=[0.5,0]^T\):\(\mathbf{x}^*=\begin{bmatrix}5&1\\1&2\end{bmatrix}^{-1}\begin{bmatrix}1\\0.5\end{bmatrix}=[0.167,0.167]^T\),即 \(w=b=0.167\)。
- Hessian \(2\mathbf{G}^T\mathbf{G}=\begin{bmatrix}10&2\\2&4\end{bmatrix}\),\(\lambda_1=10.6,\ \mathbf{z}_1=[1,0.3]^T\);\(\lambda_2=3.4,\ \mathbf{z}_2=[0.3,-1]^T\)。正定 ⇒ 强极小;等高线为椭圆,长轴沿 \(\mathbf{z}_2\)(曲率小的方向),中心在 \(\mathbf{x}^*\)(图 P8.8)。
- (要点:线性网络 + 平方误差 ⇒ 二次性能曲面,最优解就是最小二乘/正规方程解;Hessian \(2\mathbf{G}^T\mathbf{G}\) 由输入数据决定。)
- P8.7 无驻点的二次函数:\(F(\mathbf{x})=[1\ -1]\mathbf{x}+\frac12\mathbf{x}^T\begin{bmatrix}1&1\\1&1\end{bmatrix}\mathbf{x}\)。Hessian 特征值 \(\lambda_1=0,\ \mathbf{z}_1=[1,-1]^T\);\(\lambda_2=2,\ \mathbf{z}_2=[1,1]^T\)。若无线性项则为平稳山谷(图 8.9);但线性项梯度 \(\nabla F_{lin}=[1,-1]^T\) 恰沿 \(\mathbf{z}_1\)(零曲率方向),于是函数沿 \(\mathbf{z}_2\) 有正曲率、沿 \(\mathbf{z}_1\) 有线性斜率——下降山谷(falling valley,图 P8.9),无驻点。Hessian 有零特征值时不可逆,无法用 \(\mathbf{x}^*=-\mathbf{A}^{-1}\mathbf{d}\) 求驻点:可能是弱极小(图 8.9),也可能根本没有驻点(本例)。
8.8 结语与延伸阅读(PDF p.261–262)
性能学习是最重要的学习律类别之一。读完本章应能:①做 Taylor 展开并用于近似函数;②计算方向导数;③求驻点并检验是否为极小;④画二次函数等高线草图。这些概念将用于性能学习各章(9–14)、径向基网络(17)、稳定性与 Hopfield 网络(20–21)。下一章据此设计优化性能函数的算法,之后用于训练网络。 延伸阅读:[Brog91];[Gill81] Gill, Murray, Wright《Practical Optimization》(强调优化算法的实际实现细节);[Himm72] Himmelblau《Applied Nonlinear Programming》(有约束与无约束非线性优化的全面教材,例题详细);[Scal85] Scales《Introduction to Non-Linear Optimization》(侧重方法与直观解释,含伪代码)。
8.9 习题(Exercises,PDF p.263–266)
- E8.1 \(F(x)=\dfrac{1}{x^3-\frac34x-\frac12}\):分别在 \(x=-0.5\) 与 \(x=1.1\) 处二阶 Taylor 近似,作图讨论精度(考点:近似在奇点附近失效)。
- E8.2 \(F(\mathbf{x})=e^{2x_1^2+2x_2^2+x_1-5x_2+10}\):在原点二阶近似,求近似的驻点,再求原函数驻点(指数只是二次函数,原函数驻点即二次函数的极小 \([-1/4,5/4]^T\)),解释两者差异。
- E8.3 十个二次函数,求从 \(\mathbf{x}=[1,1]^T\) 沿 \(\mathbf{p}=[-1,1]^T\) 的一阶与二阶方向导数。函数包括 \(\frac72x_1^2-6x_1x_2-x_2^2\);\(5x_1^2-6x_1x_2+5x_2^2+4x_1+4x_2\);\(\frac92x_1^2-2x_1x_2+3x_2^2+2x_1-x_2\);\(-\frac12(7x_1^2+12x_1x_2-2x_2^2)\);\(x_1^2+x_1x_2+x_2^2+3x_1+3x_2\);\(\frac12x_1^2-3x_1x_2+\frac12x_2^2-4x_1+4x_2\);\(\frac12x_1^2-2x_1x_2+2x_2^2+x_1-2x_2\);\(\frac32x_1^2+2x_1x_2+4x_1+4x_2\);\(-\frac32x_1^2+4x_1x_2+\frac32x_2^2+5x_1\);\(2x_1^2-2x_1x_2+\frac12x_2^2+x_1+x_2\)。
- E8.4 \(F(x)=x^4-\frac12x^2+1\):求驻点并分类,MATLAB 作图验证。
- E8.5 \(F(\mathbf{x})=(x_1+x_2)^4-12x_1x_2+x_1+x_2+1\):验证三个驻点 \([-0.6504,-0.6504]^T\)、\([0.085,0.085]^T\)、\([0.5655,0.5655]^T\),分类为极小/极大/鞍点,在各点做二阶近似并作图。
- E8.6 对 E8.3 的各函数:求驻点、分类、用 Hessian 特征值/特征向量画等高线草图(考点:覆盖强极小、强极大、鞍点、弱极小、无驻点等全部情形)。
- E8.7 \(F(\mathbf{x})=\frac12\mathbf{x}^T\begin{bmatrix}1&-3\\-3&1\end{bmatrix}\mathbf{x}+[4\ -4]\mathbf{x}+2\):梯度、Hessian、等高线草图、在原点沿 \([1,1]^T\) 的方向导数并与图对照。E8.8 对 \(\frac12\mathbf{x}^T\begin{bmatrix}3&-2\\-2&0\end{bmatrix}\mathbf{x}+[4\ 4]\mathbf{x}+2\) 重复。
- E8.9 \(F(\mathbf{x})=(1+x_1+x_2)^2+\frac14x_1^4\) 在 \([1,0]^T\) 处的二次近似及等高线。
- E8.10 \(F(\mathbf{x})=\frac32x_1^2+2x_1x_2+x_2^3+4x_1+4x_2\) 在 \([1,0]^T\) 处的二次近似、其驻点、该驻点是否是原函数的极小(考点:二次近似的驻点不一定是原函数驻点,牛顿法的思想雏形)。
- E8.11 \(F(\mathbf{x})=x_1x_2-x_1+2x_2\):求驻点并分类(鞍点),求在 \([-1,1]^T\) 沿 \([-1,1]^T\) 的方向导数。
- E8.12 \(F(\mathbf{x})=x_1^2+2x_1x_2+x_2^2+(x_1-x_2)^3\) 在 \([2,1]^T\) 处的二次近似与等高线。
- E8.13 只改变 P8.7 中的 \(\mathbf{d}\) 向量(非零),使函数出现弱极小(答案:\(\mathbf{d}\) 需与零特征值方向 \(\mathbf{z}_1\) 正交,即 \(\mathbf{d}\propto[1,1]^T\))。
第 8 章 本章要点
- 性能学习 = 选择性能指标 + 在参数空间中优化。Taylor 展开(梯度、Hessian)刻画性能曲面的局部形状。
- 一阶方向导数 \(\mathbf{p}^T\nabla F/\|\mathbf{p}\|\):梯度方向最陡,正交于梯度(等高线切线)方向为零。二阶方向导数 \(\mathbf{p}^T\nabla^2F\mathbf{p}/\|\mathbf{p}\|^2\)。
- 强极小、全局极小、弱极小、鞍点的定义。必要条件:梯度为零 + Hessian 半正定;充分条件:梯度为零 + Hessian 正定。
- 二次函数 \(\frac12\mathbf{x}^T\mathbf{A}\mathbf{x}+\mathbf{d}^T\mathbf{x}+c\):梯度 \(\mathbf{A}\mathbf{x}+\mathbf{d}\)、Hessian \(\mathbf{A}\)、驻点 \(-\mathbf{A}^{-1}\mathbf{d}\)。Hessian 特征向量是等高线主轴,特征值是对应方向的曲率;二阶方向导数夹在 \(\lambda_{min}\) 与 \(\lambda_{max}\) 之间。
- 按特征值符号分类:全正(强极小,椭圆/圆形凹谷)、全负(强极大)、异号(鞍点)、含零(平稳山谷的弱极小或无驻点的下降山谷)。
- 线性网络 + 平方误差 ⇒ 二次性能曲面(P8.6),这是第 10 章 LMS 分析的基础。
第 8 章 与量化交易的关联
- 组合优化就是二次函数优化:均值-方差目标 \(\frac\gamma2\mathbf{w}^T\boldsymbol\Sigma\mathbf{w}-\boldsymbol\mu^T\mathbf{w}\) 正是 \(\frac12\mathbf{x}^T\mathbf{A}\mathbf{x}+\mathbf{d}^T\mathbf{x}\) 形式,无约束最优解 \(\mathbf{w}^*=-\mathbf{A}^{-1}\mathbf{d}=\frac1\gamma\boldsymbol\Sigma^{-1}\boldsymbol\mu\) 即式(8.62)。Hessian \(\gamma\boldsymbol\Sigma\) 的特征结构决定性能曲面形状:协方差矩阵接近奇异(资产高度相关、零或极小特征值)时,曲面是"平稳山谷"或接近"下降山谷",最优权重沿小特征值方向极不稳定、对 \(\boldsymbol\mu\) 的估计误差极度敏感——这是均值-方差优化"误差放大"问题的几何解释,也解释了为何需要收缩估计或正则化(使最小特征值远离零)。
- 回归的性能曲面:P8.6 表明最小二乘目标是二次函数,Hessian \(2\mathbf{G}^T\mathbf{G}\) 的条件数(\(\lambda_{max}/\lambda_{min}\))刻画因子共线程度;椭圆越扁,估计在长轴方向越不确定(对应回归系数方差大)。
- 局部极小与鞍点:非凸目标(神经网络损失、带交易成本的非凸组合问题、参数化策略的夏普率最大化)存在多个局部极小与鞍点;P8.4 的"比较各局部极小 + 检查边界行为"是确认全局最优的基本方法。策略参数优化中,若最优点处 Hessian 曲率很大(尖峰),说明参数稍偏即表现骤降,是过拟合/不稳健的信号;平坦宽谷对应稳健参数。
- 方向导数与敏感性分析:\(\mathbf{p}^T\nabla F\) 衡量目标沿某一方向(如某组权重调整)的边际变化,对应组合的边际风险贡献与再平衡方向分析。
第 8 章 推荐习题
- P8.5、E8.5:用 Hessian 特征值对驻点分类。
- P8.6:线性网络性能曲面为二次函数的完整推导,强烈推荐,联系最小二乘与组合优化。
- P8.7、E8.13:奇异 Hessian 下驻点的存在性,联系奇异协方差矩阵。
- E8.6:覆盖二次函数全部形状类型,练习画等高线草图。
- E8.10:二次近似的驻点与原函数的关系,为第 9 章牛顿法铺垫。
(本块到 PDF p.266 第 8 章习题结束为止,第 8 章完整;第 9 章起见下一块。)