2

我对以前从未见过的非线性回归算法有了一个想法:

我们使用梯度下降为数据拟合一个简单的参数函数,例如径向基函数。我们从中找到残差,然后对它拟合一个函数,重复这个过程以减少错误并建立一个叠加函数的集合。(我假设可以说服搜索首先找到适合最多点的函数)

如前所述,该算法会过拟合。我认为有几种方法可以克服这个问题,但最明显的方法可能是限制安装的功能数量。

我认为它应该比神经网络或 rbf 网络更快,因为它不必一次调整这么多参数。没有可供选择的网络架构。它应该比 M5 等决策树算法更准确,因为它可以更紧密地遵循连续曲线,并且不必选择要分割的属性。

以前试过吗?如果是,为什么没有成功?

4

3 回答 3

1

这绝对是http://metaoptimize.com/qa的问题- 机器学习社区的 stackoverflow 克隆。

除此之外,您描述的过程基本上是一种进行正则化的方法。例如,考虑您的过程如何与使用数百万个带有 L1 或 L2 回归项的 RBF 进行比较。显然,仅在回归项的工作方式上有所不同。您基本上所做的是仅对非零权重的数量而不是总和或平方和进行正则化。

这种正则化方法并不新鲜,人们长期以来一直在尝试有效地做到这一点,但问题是它不是凸的,甚至不是连续的。这意味着优化通常是 NP-Hard。您的技术基本上是此问题的近似算法,虽然它可能适用于某些示例,但您无法保证最优性(找到适合的“最佳”N rbfs),并且它对您选择的起点高度敏感. 正是由于这些原因,您通常不会在顶级会议和期刊上看到这样做的研究论文,而是尝试更有效地进行 L1 正则化,因为这已被证明在保持凸性的同时尽可能接近。

于 2010-10-20T21:14:59.327 回答
1

基于残差迭代拟合函数的想法并不新鲜。例如参见AdaBoost

于 2010-10-21T04:18:49.720 回答
1

通过在1..n拟合函数参数的同时固定逐步拟合的函数参数,n+1您很可能会发现比n+1同时拟合所有函数更差的拟合(例如由均方误差定义)。n+1因此,与同时让所有函数“浮动”相比,您可能需要更多函数来实现与您的提案相同的均方误差。

为了防止过度拟合,您应该使用交叉验证之类的东西,例如,一旦拟合中未使用的测试样本的均方误差停止减少,就停止添加函数。

于 2010-10-20T21:13:04.003 回答