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

NumPy实现多层感知机时隐藏层权重应设为什么形状?

NumPy实现MLP时隐藏层权重矩阵的形状设置

已知前提核对

  • 输入层节点数为4,鸢尾花训练集形状为(112,4):对应112条训练样本,单样本4维特征,维度匹配正确
  • 隐藏层设置3个节点时,隐藏层输出形状为(112,3)的推测完全正确

权重矩阵正确形状

隐藏层权重矩阵需要初始化为 (4,3) 的形状。

推导逻辑

全连接层的前向传播核心是输入矩阵与权重矩阵的点积运算,NumPy中矩阵点积X @ W的维度规则为:

点积结果的形状 = (X的行数, W的列数),且必须满足X的列数等于W的行数,否则运算报错。
你的输入矩阵X形状为(112,4),要得到形状为(112,3)的点积结果:

  • 要求W的行数和X的列数相等,即4
  • 要求W的列数等于预期输出的列数,即3
    因此权重矩阵形状固定为(4,3),其中W[i][j]对应第i个输入节点到第j个隐藏层节点的连接权重。

补充说明

  • 不要将权重形状错设为(3,4),会直接触发维度不匹配的运行错误
  • 点积运算后需要额外添加形状为(3,)的隐藏层偏置项,偏置会通过NumPy的广播机制自动适配所有112个样本的计算,叠加后经过激活函数即可得到最终的隐藏层输出
  • 你提到的「每个输入对应专属权重,input[0]对应weight[0]」是对全连接权重的误解:全连接层中每个输入节点会和所有隐藏层节点相连,每个连接都有独立权重,不存在单输入对应单权重的关系。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 00:12:27