首页 / 交易学院 / 在 MetaTrader 5 中使用自组织特征映射(Kohonen 映射)
在 MetaTrader 5 中使用自组织特征映射(Kohonen 映射)
🕸️

在 MetaTrader 5 中使用自组织特征映射(Kohonen 映射)

量化评估 难度 · 高阶 2013 13 分钟阅读
KohonenSOM无监督学习神经网络MQL5聚类

什么是自组织特征映射

SOM 是一种无监督训练的人工神经网络,把高维输入空间映射为二维离散网格(映射),类似于多维标度,适合高维数据的分类与可视化。由 Teuvo Kohonen 于 1982 年提出,故也称 Kohonen 映射。

网络架构

简单网格如 4×4 共 16 个节点,每个节点连一个三维输入向量。训练时输入样本,找到最佳匹配节点(BMU),按其邻域调整权重,使拓扑有序。

class CKohonen
  {
public:
   void InitNode(int id, double x, double y);
   double X(int id), Y(int id);
   double GetWeight(int id, int dim);
   int  BestMatchingNode(double &vec[]);  // 找 BMU
   void Train(double &vec[], double lr, double radius);
   void Render();                          // 用 cIntBMP 出图
  };

训练过程

AdjustWeights 按 BMU 邻域更新权重:BMU 及邻近节点向输入向量靠拢,远距离节点基本不动。学习率 lr 与半径 radius 随迭代衰减,最终网格形成输入空间的拓扑投影。

在交易中的两个用法

一是品种聚类:把多品种的技术特征输入 SOM,相似品种会落在相邻节点;二是市场状态识别:把当前窗口特征投到已训练映射,落点区域代表“趋势/震荡/极端”状态。

✦ 无监督=无需标签
SOM 不需要“这是趋势”的标注数据,适合探索性分析。先用它看数据长什么样,再决定上层策略。

小结

Kohonen 映射把高维行情压成可解释的二维图,是量化中做聚类与状态识别的轻量利器。配合 cIntBMP 在 MQL5 内直接出图,无需外部依赖。

常见问题

SOM 无监督,不需要标注数据,目标是把高维输入投影成二维拓扑有序的相似度图,适合探索性聚类。
对输入向量找最相似的网格节点(BMU),训练时按邻域调权重,分类时用于判定样本落点。
一是多品种聚类(相似品种落相邻节点),二是把当前行情特征投到已训练映射识别市场状态(趋势/震荡/极端)。