我一直在tensorflow 操场上胡闹。输入数据集之一是螺旋。无论我选择什么样的输入参数,无论我制作的神经网络有多宽和多深,我都无法拟合螺旋。数据科学家如何拟合这种形状的数据?
如何对呈螺旋状的数据进行分类?
人工智能
神经网络
机器学习
张量流
回归
2021-10-28 21:02:53
4个回答
有很多方法可以解决这类问题。最明显的一个就是创建新功能。我能想到的最好的功能是将坐标转换为球坐标。
我还没有找到在操场上做这件事的方法,所以我只是创建了一些应该对此有所帮助的功能(罪恶功能)。在500 次迭代后,它会饱和并以 0.1 分波动。这表明不会做进一步的改进,很可能我应该使隐藏层更宽或添加另一层。
毫不奇怪,在隐藏层仅添加一个神经元后,经过 300 次迭代,您很容易得到 0.013。添加一个新层会发生类似的事情(0.017,但经过明显更长的 500 次迭代。也不足为奇,因为传播错误更难)。很可能您可以使用学习率或进行自适应学习以使其更快,但这不是重点。
理想情况下,神经网络应该能够自行找出函数,而无需我们提供球面特征。经过一些实验,我能够达到一个我们不需要任何东西的配置,除了和. 这个网络在大约 1500 个相当长的 epoch 后收敛。所以最好的方法可能仍然是添加额外的特性,但我只是想说没有它们仍然可以收敛。
其它你可能感兴趣的问题