在给定其他数字的情况下,可以使用哪种预测算法来预测一个数字?

人工智能 机器学习 人工智能设计 预言 回归
2021-10-29 02:33:27

我目前正在寻找一种监督学习算法,该算法可用于在给定足够大的训练集的情况下预测输出。

这是一个简单的例子。假设训练数据集是{[A=1, B=330, C=1358.238902], result=234.244378}和测试数据集{[A=893, B=34, C=293], result=?}

我的意图是?使用训练数据集中给出的输入值和结果进行预测。

考虑到我的输入/输出值范围很广,什么算法对这个问题有效?这需要某种回归算法吗?

3个回答

在定义误差测量之前无法解决(例如|RR|或者(RR)2) 以及当 A、B 和 C 发生变化时此错误如何变化。

极端例子:假设R()是随机的(与 A、B、C 值无关)但静态的(总是相同的R(A,B,C)对于相同的 A、B、C 值)。给定 A、B、C 的一些值,你只能回答R(A,B,C)当 A,B,C 在训练集中时。R(A,B,C)当 A、B、C 不在训练集中时,是未定义且不可预测的。

此外,如果可以进行改进R()有一些属性,例如,如果可以声明R(A,B,C)=R(B,A,C)或者那个R(A1,B1,C1)=R(A2,B2,C2)如果A1+B1+C1=A2+B2+C2.

是的,您正在尝试预测实数输出,所以这是一个回归问题。要知道哪种算法最好,我认为您必须询问您拥有多少数据以及您对数字关系的了解程度。如果你尝试简单的线性回归,你会得到什么样的错误?

如果您尝试线性回归并且得到一个可以接受的错误,那么这可能是一个非常简单的问题。除了线性回归之外,您还可以查看更高级的东西,例如高斯过程和神经网络,它们都会做出您正在寻找的各种预测。

在没有看到更多数据的情况下,很难确定。从表面上看,这看起来像是一个回归类型的问题。正如您所提到的,输入值存在很多差异,但这并不一定意味着线性回归之类的东西不起作用。试试看,你会得到什么样的相关系数。如果它真的很低,您可能需要一种不同的方法,或者在这种情况下数据实际上可能没有任何(或很多)预测能力。

除了线性回归之外,您可能会发现输入和输出之间存在更复杂的数学关系,可以使用符号回归来确定。如果存在复杂的非线性关系,另一种可能性是人工神经网络方法可能会很好地工作。