多输入单输出 ML 算法

数据挖掘 机器学习 算法
2022-03-08 06:51:03

作为 ML 新手,我有一个问题。我有一组具有 2 个输入和 1 个输出的数据。我试图预测输出。

input1是一个整数,input2就像一个介于 1-5 之间的类别。输出也是一个数字。

input1=25 input2=2 output=25
input1=34 input2=2 output=35
input1=12 input2=5 output=29
input1=3 input2=4 output=48
input1=45 input2=1 output=36 

有了这些数据,我想预测 input1=27 和 input2=2 的输出

我有一小部分数据(10-20 项)。我想知道对于这种多输入单输出的小数据集,我应该学习哪种 ML 算法?

编辑

很有可能,在计算输出时,输入 1 和输入 2 之间存在数学关系,例如:

output = (input1)*x + (input2)*y (x and y is unknown of course and the equation can be linear or logarithmic or something else. No idea.)
1个回答

由于您认为可以通过输入的线性组合来预测输出,因此一种合理的尝试方法是Linear Regression,特别是 Multiple Regression ,因为您有多个输入变量。

线性回归将尝试拟合最佳参数β0β1将您的输出建模为输入的加权和,即β0input1+β1input2. 这与您给出的表达式完全相同,但更标准的是调用权重βis 而不是xy.

使用普通最小二乘法的最标准线性回归形式会找到β0β1最小化数据集上的平方误差之和,即实际值output与通过计算生成的预测值之间的差异β0input1+β1input2对于每一行。

编辑:要在评论中回答您的问题:

首先尝试线性模型总是合理的,因为它简单高效,并且会给你一个很好的基线。

但是,如果您怀疑输入和输出之间存在非线性关系,您也可以尝试更灵活的模型,例如梯度提升回归树神经网络

您不需要知道使用这些模型的确切关系——他们会为您学习。理论上,神经网络可以拟合任何函数。

但是,当您使用更复杂的模型时,您应该越来越警惕过度拟合