gpt4 book ai didi

python - 用神经网络预测圆的半径

转载 作者:行者123 更新时间:2023-12-02 11:19:54 25 4
gpt4 key购买 nike

我正在以圆形生成均匀分布的数据点,其中每个圆的半径也是均匀生成的。这些圆圈如下所示:
enter image description here
均匀分布的辐射如下所示:
enter image description here
我在本练习中的目标是仅通过输入数据点的 x、y 坐标来使用 NN 预测这些圆的半径。 (我为此生成了 1000 个带有其半径和数据点的圆)
但是当使用以下架构尝试此操作时:

model = Sequential()

model.add(Flatten(input_shape=(X.shape[1],2)))
model.add(Dense(128, activation='relu'))
model.add(Dense(64, activation='relu'))
model.add(Dense(1))
model.compile('adam', 'mse', metrics=['accuracy'])
model.summary()
我得到这些结果:
model.predict(X_test)[:10]

array([[1.0524317],
[0.9874419],
[1.1739452],
[1.0584671],
[1.035887 ],
[1.1663618],
[1.1536952],
[0.7245674],
[1.0469185],
[1.328696 ]], dtype=float32)

Y_test[:10]

array([[1.34369499],
[0.9539995 ],
[1.73399686],
[1.56665937],
[0.40627674],
[1.73467557],
[0.87950118],
[1.13395495],
[0.51870017],
[1.28441215]])
enter image description here
正如您所看到的,预测半径时的结果非常糟糕。
我在这里缺少什么?或者神经网络不是完成这项任务的最佳方式?
[编辑]
现在我用 10 万个圆圈和它们相应的半径进行了尝试:
enter image description here
该图显示了相对于半径预测的实际值。训练样本越多,预测效果越好,但对于这样一个简单的任务,y = x 周围仍然存在很大的分散。

最佳答案

我认为你的结果看起来很好。在 loss vs. epochs 图中,您会看到您的模型只是在内存/指纹您的训练数据。只要您不显着增加 TD,就会发生这种情况。
在经典的特征工程方法中,您通常会将训练数据集中在点的平均值上。之后您将数据点按递减排序 xy方向。通过这种预处理,任务确实很简单。
相反,您也可以尝试以下过程。再次对 x 上的点进行排序轴和 y轴之后使用一维卷积层作为输入。希望模型能够学习半径的概念。

关于python - 用神经网络预测圆的半径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62624105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com