数据科学与机器学习  神经网络(第 01 部分):前馈神经网络解密·进阶篇
🧠

数据科学与机器学习 神经网络(第 01 部分):前馈神经网络解密·进阶篇

(2/3)· 越过概念惊艳期,看清 MLP 里隐藏层、权重和 RELU 到底在算什么

含代码示例偏理论 第 2/3 篇
很多交易者把神经网络当黑箱,以为堆几层就能预测行情,结果连前向传播怎么走都讲不清。先理解前馈结构里的每个部件,比急着调参更有用。本篇接着上一部分,把网络内部的运算逻辑拆开看。

前馈网络为什么只走一条道

前馈神经网络和带反向传播的模型不同,数据从输入到输出只沿单一方向流动,中间不存在误差回传修正权重的环节。它可以是单隐藏层,也能堆出多个隐藏层,结构深浅由任务复杂度决定。 从结构图看,最前面是输入层,但它只是承接外部特征的入口,本身不做任何运算。真正加权求和与激活发生在后续的隐藏层与输出层,所以别把输入层当成计算起点。 在 MT5 里用 MQL5 搭这类网络做行情分类时,记住它没有反馈通路:一旦权重在离线训练定下,实盘推理就是纯前向矩阵乘法,延迟低但无法在线自适应,外汇与贵金属波动突变时容易滞后,属高风险用法。

◍ 拆开第二个隐藏层节点看运算

隐藏层才是神经网络真正干活的地方,输入层只负责把行情特征喂进去,输出层只是把结果翻译出来。想弄明白黑盒里发生了什么,直接盯第二个隐藏层节点最直观。 这个节点的前向过程分三步:先对输入向量和对应权重做点积,再把点积结果叠加上偏置(乖离率项),最后送进激活函数得到该节点输出。这三步在 MT5 自带的神经网络示例里都能逐行对应。 以常见的 5 输入节点为例,若权重数组为 {0.12, -0.34, 0.08, 0.55, -0.21} 且偏置为 0.03,输入行情标准化向量与权重点积后加偏置,再经 tanh 激活,输出就被压到 (-1,1) 区间。外汇与贵金属波动剧烈,这类标准化输入若训练样本不足,隐藏层极易过拟合,实盘信号失效概率偏高。

「乖离率怎么让回归线更贴数据」

乖离率本质是在线性回归的基准上做上下偏移量,让预测线主动去贴近样本点,作用和线性回归方程里的截距项一致。它不改变斜率,只平移整条拟合线。 在单隐藏节点 MLP 等价于线性回归的那一节里,能看到这个偏移量实际就是网络拟合出的 bias 项,喂进去的特征不变,调它就能整体抬压预测带。 乖离率不是越大越好。偏移过头会让线脱离主分布,在 MT5 里把同一段 EURUSD H1 数据跑两遍,偏移 0 与偏移 30 点,后者残差平方和往往反而升高,贵金属杠杆高、跳空多,乱偏更容易放大误判概率。

权重在神经网络里到底管什么

权重本质上就是那组待解方程的待定系数,每个输入乘上对应权重再求和,才得到网络的输出。某个权重为负,意味着它对应的输入会压制输出;为正则推高输出,这是前向传播里最直白的数理关系。 在 MT5 用神经网模型做行情分类时,网络一开始不是凭空算的:它会先用随机或固定方式初始化一整套权重。随后在训练集上反复迭代,按误差回传调整这些系数,直到筛选出在该数据集上损失较低的数值组合。 需要提醒的是,这套筛选只保证在历史样本上拟合较优,换到实时外汇或贵金属行情里,权重的泛化能力可能打折,杠杆品种的高波动会放大误判风险。

◍ 神经网络里的激活函数到底干嘛用

激活函数本质就是一个数学映射:吃一个数值进去,吐一个数值出来,用来打破线性叠加,否则多层网络等价于单层。 实际工程里常用的就四类:Relu、Sigmoid、TanH、Softmax。网上不少文章在根本不需要非线性的地方硬套激活函数,纯属误导,选错类型会让梯度消失或输出尺度失控。 Relu 在隐藏层用得最多,负区直接归零;Sigmoid 把值压到 (0,1),适合二分类输出;TanH 输出在 (-1,1),均值更靠近 0;Softmax 把一组数变成概率分布,多分类末端才用。开 MT5 接 Python 环境跑模型前,先确认每层用的哪类,别照抄demo。

「ReLU 为什么成了默认激活函数」

整流线性单元(ReLU)在神经网络里基本是默认选项。逻辑极简:输入小于 0 就返回 0,否则原样返回。这种分段线性让正向计算没有指数运算,编码和解读输出都轻巧。 它最实在的好处是缓解梯度消失。Sigmoid 和 TanH 在两端饱和,反向传播时梯度趋近 0;ReLU 在正区间梯度恒为 1,深层网络更容易拿到有效梯度。 输出域是 [0, +∞),没有上界。做回归类预测时比有界激活更顺手,但也意味着要注意数值尺度,别让某层激活值一路累积到爆。 下面这段 MT5 可直接粘进类里验证,z 传负数看是否压成 0,传正数看是否透传。

MQL5 / C++
class="type">class="kw">double CNeuralNets::Relu(class="type">class="kw">double z)
 {
   if (z < class="num">0) class="kw">return(class="num">0);
   else class="kw">return(z);
 }
把网络结构诊断交给小布
这些前馈网络的层数与激活分布诊断,小布盯盘的 AIGC 已内置,打开对应品种页即可看到信号背后的结构概览,你专注判断适不适合当前行情。

常见问题

通常以隐藏层是否超过三层为参考,三层以上多归为深度神经网络,训练周期和硬件需求都会明显上升。
可以,小布盯盘的品种页内置了 AIGC 诊断,会展示所用网络类型和层结构概览,方便快速评估信号来源。
它常作为价格偏离均值的特征量,帮助网络捕捉短期反转或趋势过热的概率倾向,而非确定方向。
RELU 计算简单且缓解梯度消失,让正向信号保留、负向置零,训练效率倾向更高,但输出层常换其它函数。