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

关于Keras中get_weights()未返回预期权重的技术问询

你对神经网络权重的理解出现了核心偏差

首先得明确:神经网络的权重是模型共享的参数,和你的样本数量(150行)完全无关,你混淆了「模型权重」和「样本预测输出」这两个概念。

咱们结合你的代码来拆解:

  • 你构建的是一个极简网络:输入是3维特征,经过1个仅含1个神经元的Dense层(激活函数tanh)。这个Dense层的参数结构是固定的:
    • 3个输入到1个神经元的连接权重(对应get_weights()返回的第一个3×1数组)
    • 1个神经元的偏置项(对应返回的第二个1×1数组)
  • 这组权重是整个模型共用的——不管你喂进去1个样本还是150个样本,模型都会用这同一套权重来计算每个样本的输出。

你想要的「150个对应每一行数据的结果」,其实是模型的预测输出,也就是你代码里的ypredi3——它的形状应该是(150, 1),对应150个样本各自的预测值,而不是模型的权重。

举个直白的类比:就像你用同一个公式y = w1*x1 + w2*x2 + w3*x3 + b计算150组(x1,x2,x3)的y值,公式里的w1/w2/w3/b是固定的参数(对应模型权重),而150个y值就是你的预测结果,两者完全不是一回事。

所以你当前get_weights()返回的结果是完全正确的,完全符合这个简单模型的参数数量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 05:07:32