- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在训练一个神经网络模型,并且我的模型与训练数据拟合得很好。训练损失稳定下降。一切正常。
但是,当我输出模型的权重时,我发现自随机初始化以来它并没有发生太大变化(我没有使用任何预训练的权重。所有权重在 PyTorch 中默认都已初始化)。权重的所有维度仅变化了约 1%,而训练数据的准确性从 50% 攀升至 90%。什么可以解释这种现象?权重的尺寸是否太高,我需要减小模型的尺寸?或者还有其他可能的解释吗?
我知道这是一个相当广泛的问题,但我认为在这里展示我的模型并对其进行数学分析是不切实际的。所以我只想知道这个问题的一般/常见原因是什么。
最佳答案
问题中几乎总是有许多局部最优点,因此在高维特征空间中你不能特别说的一件事是你的模型参数将适合哪个最优点。这里重要的一点是,对于您为模型计算以找到最佳点的每一组权重,由于实值权重,该最佳点有无限组权重,比例彼此之间的权重是唯一重要的,因为您试图最小化成本,而不是找到一组每个样本损失都为 0 的独特权重。每次训练时,根据初始权重,您可能会得到不同的结果。当权重以几乎相同的比例变化得非常接近时,这意味着你的特征是高度相关的(即冗余),并且由于你只需要权重的一点点变化就可以获得非常高的准确度,我唯一能想到的是你的数据集类别彼此相距较远。尝试一次删除一个特征,训练并查看结果(如果准确性良好)继续删除另一个特征,直到您希望到达 3 或 2 维空间,您可以在该空间中绘制数据并将其可视化以查看数据点的分布方式和从中理解一些。
编辑:更好的方法是使用PCA进行降维,而不是一一删除
关于python - 我的神经网络模型的权重变化不大的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53086166/
我是一名优秀的程序员,十分优秀!