我正在构建一个神经网络来近似一个数据集,该数据集需要 3 个输入并给出 1 个输出。在使用几个不同的隐藏层迭代测试网络并调整优化器和激活函数后,解决方案似乎没有显着改进。这表明我的方法存在固有的问题。值得注意的是,随着输入变量数量的增加,解决方案的准确性问题就会出现(即,使用一个因变量我可以达到非常好的准确性)。我相信应用基本的机器学习技术并不能很好地转化为更高维度的输入。话虽如此,我是机器学习的新手,所以我可能会遗漏一些东西。这是网络输出的示例:
三个输入参数是高度、马赫和故障参数。该图是一个高度“切片”。我认为预测不足的趋势是网络试图满足所有不同高度的结果,在较低的高度存在明显的预测不足,而较高的高度往往会过度预测。
用于生成这种近似的神经网络具有基本结构。一个输入层到一个 100 个节点的隐藏层(celu 激活)和一个输出层。这种结构的不同迭代似乎没有效果,它们收敛到相同的解决方案。我想知道我是否做错了什么或需要采取不同的方法来解决这个问题。这个问题似乎是试图使用一个简单的网络来捕获多维解决方案,但我找不到任何关于多维输入的正确设置的东西。此外,如果您对机器学习资源(特别是函数逼近)有任何建议,我将不胜感激。
编辑:虽然我使用下面描述的技术对解决方案的准确性进行了重大改进。我发现导致数据偏斜的问题是编码错误,我在绘图时重新定义了测试数据的标准化值(通过不同的测试数据集标准化值)。