【发布时间】:2021-10-23 06:16:08
【问题描述】:
我们给出了一个封闭的形状。形状以 0 和 1 的矩阵形式给出。示例见:
我们可以将此图像视为一个坐标系。为简单起见,设图像的中点为原点,即x=0,y=0点,x,y坐标的范围为-1到1。
我们的目标是找到一个 n 次多项式 p(x, y),使得满足不等式 p(x, y) 点 集合将近似 给定的形状。
到目前为止,我已经尝试了两种方法,但我对结果并不满意。
首先,我尝试训练一个卷积神经网络。我已经创建了 10000 个左右的随机多项式并创建了它们对应的形状并将它们用作训练数据。
其次,我选择了一个随机多项式并贪婪地优化它的系数以 最小化给定形状和由多项式创建的形状之间的非重叠像素数。
我正在寻找一种算法来解决这个任务。 感谢您的任何建议。
【问题讨论】:
-
这个问题不是编程问题,而是数学问题,应该发布在math.stackexchange。如果多项式阶数大于 5,则不存在一般解析公式,需要数值求解。一种方法是使用优化策略(例如,在 python 中,您可以使用 scipy)。训练神经网络似乎是解决此类问题的一把锤子。
-
3b1b 关于fourier series 的视频在这里可能很有趣。还有 Mathworlds 的Heart Curves。
-
@JohanC Heart Curves 包含有趣的多项式,但问题是找到 any 形状的多项式。所以基本上,最后我会写一个程序来获取一个图像文件,它会输出近似多项式的系数。对于精彩的 3b1b 视频,不幸的是,它与这个问题几乎无关,因为我们不希望在近似方程中使用三角函数,我们只需要 x^2*y^3 等多项式项。
-
据我估计,一个可以包含上述形状的二维多项式(假设它是 x 对称的)需要 11 到 35 个系数。对于 NN 或 Monte Carlo 估计器来说,这需要大量计算才能正确。我认为使用类似于模拟退火方法的方法可能会做得更好。
标签: algorithm math optimization mathematical-optimization approximation