优化算法与回归模型

4

目前,我正在处理预测问题。我有一个参考文献,使用线性函数来表示输入和输出数据。

y = po + p1.x1 + p2.x2

x1和x2都是已知的输入;y是输出;p0、p1和p2是系数。然后,他使用所有的训练数据和最小二乘估计(LSE)方法来找到最佳系数(p0、p1和p2)来建立模型。

我的问题是,如果他已经使用了LSE算法,那么我可以尝试通过使用任何优化算法(例如PSO或GA)来寻找更好的系数值来改进他的方法吗?


数据集有多大?如果不是特别大,那么你可能已经得到了最优解。 - ayhan
不太大,训练约200个,测试约50个。没有其他方法可以改进这种方法吗? - Eldeanor
1
你正在尝试最小化一个损失函数。对于最小二乘法来说,它是一个二次损失函数,并且具有良好的性质(可微分)。因此,是的,对于那个大小的数据集,你使用这些系数可以得到最小误差,这是肯定的。如果你定义了自己的难以最小化的损失函数(非凸、受限等),你可以尝试遗传算法或其他启发式方法,但对于这种情况,这并没有帮助。如果你想进一步降低误差,应该专注于改进模型(添加新变量等)。使用这个模型,你将得到均方误差。 - ayhan
谢谢你的回答!我会尝试改进我的模型。 - Eldeanor
1个回答

4
您自己已经给出了答案:
然后,他使用所有的训练数据和最小二乘法(LSE)方法来找到最优系数(p0,p1,p2)来构建模型。由于线性模型很容易优化,因此LSE方法获得了全局最优解(忽略微小的舍入误差和早期停止/公差误差)。不更改模型,无论是否使用GA等元启发式算法,都没有任何收益。
因此,您可以修改模型或添加其他数据(特征工程:例如两个变量的乘积;内核方法)。
尝试一下 Support-Vector 机器。这些也是凸函数,可以有效地进行训练(不太需要数据)。它们还被设计为与内核很好地配合使用。与更复杂的模型(如非凸形状)相比,另一个优点是它们在泛化方面表现良好,在这里似乎很重要,因为您没有太多的数据(听起来像是一个非常小的数据集)。
另请参见 @ayhan 的评论!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接