You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ML5训练XOR异或数据集失败 预测结果不符合预期

ML5训练XOR异或数据集预测结果异常

现有代码与配置

// 训练数据集
[
  { a: 0, b: 0, output: 'zero' },
  { a: 1, b: 0, output: 'one' },
  { a: 0, b: 1, output: 'one' },
  { a: 1, b: 1, output: 'zero' },
]

// 训练配置
const options = {
  task: 'regression',
};

// 实际预测输出
// (0,0) => zero
// (1,0) => one
// (0,1) => one
// (1,1) => one

异常现象

训练流程无报错,表面已完成收敛,但输入(1,1)时预测输出为one,不符合XOR逻辑预期的zero,其余三组输入预测结果正常。

问题原因

  • 核心配置错误:当前输出为zero/one两个离散类别标签,属于分类任务,但配置中错误指定为regression(回归任务,用于预测连续数值),模型无法正确学习离散类别的非线性决策边界,对字符串类标签的映射逻辑完全不匹配分类场景。
  • 默认网络结构不足:ML5神经网络默认隐藏层配置无法拟合XOR问题的非线性分割面,即使改对任务类型,也需要手动指定隐藏层参数保证收敛。

修复方法

修改训练配置,将任务改为分类,同时添加适配XOR问题的隐藏层配置,参考如下:

const options = {
  task: 'classification', // 修正为分类任务
  hiddenUnits: [4], // 新增1层含4个神经元的隐藏层,足够拟合XOR的非线性关系
  epochs: 100, // 适当调高训练轮次,保证模型充分收敛
};

修改后重新训练,四组输入的预测结果即可完全符合XOR逻辑预期。

内容的提问来源于stack exchange,提问作者Ploppy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 08:36:18