是否存在一些允许在给定包含集合的情况下创建数学模型的算法?
我不确定我是否正确地问过......让我再试一次......
给定一些输入集......
int Set[] = { 1, 4, 9, 16, 25, 36 };
是否存在能够推断出集合中明显模式的算法?在这种情况下......
Set[x] = x^2
我能想到做这样的事情的唯一方法是一些GA,其中适应性是生成的模型与输入集的匹配程度。
编辑:
我应该补充一点,我的问题域意味着该集合具有包容性。意思是,我找到了该集合最接近的可能函数,并且没有使用该函数来推断超出集合...
答案 0 :(得分:3)
curve fitting的问题可能是开始寻找的合理位置。我不确定这是否正是你正在寻找的 - 它不会真正识别模式,只是产生一个尽可能接近模式的函数。
正如其他人所提到的,对于一个简单的集合,很容易就会有无数的这样的函数,所以这样的东西可能就是你想要的,而不是你在问题中所描述的那样。
维基百科似乎表明Gauss-Newton algorithm或Levenberg–Marquardt algorithm可能是开始研究的好地方。
答案 1 :(得分:3)
一个数学论证,解释了为什么一般来说这是不可能的:
希望这有帮助!
答案 2 :(得分:2)
如果您想知道给定数据是否适合某些多项式函数,您可以计算连续差异,直到达到常数。达到常数的差异数是多项式的次数。
x | 1 2 3 4
y | 1 4 9 16
y' | 3 5 7
y" | 2 2
由于y“是2,y'是2x + C 1 ,因此y是x 2 + C 1 x + C 2 .C 1 为0,因为2×1.5 = 3.C 2 为0,因为1 2 =所以,我们有y = x 2 。
所以,算法是: