我有一个以前从未见过的非线性回归算法的想法:
我们使用梯度下降来拟合一个简单的参数函数,例如径向基函数。我们从中找到残差,然后拟合一个函数,重复这个过程来减少误差,并建立一个叠加函数的集合。(我假设可以说服搜索首先找到符合最多点的函数)
如上所述,该算法将过拟合。我认为有几种方法可以克服这个问题,但最明显的可能是限制拟合函数的数量。
我认为它应该比神经网络或rbf网络更快,因为它不需要一次调整这么多参数。没有网络架构可供选择。它应该比M5之类的决策树算法更准确,因为它可以更紧密地跟踪连续的曲线,而不必选择要拆分的属性。
以前有没有试过?如果是这样,为什么不成功呢?
发布于 2010-10-21 05:13:04
通过固定在步骤1..n中拟合的函数的参数,同时拟合函数n+1的参数,您很可能会发现比同时拟合所有n+1函数更差的拟合(例如,由均方误差定义)。因此,与让所有n+1函数同时“浮动”相比,您可能需要更多的函数来实现与您的方案相同的均方误差。
为了防止过拟合,你应该使用像Cross Validation这样的东西,例如,一旦拟合中未使用的测试样本的均方误差停止下降,就停止添加函数。
发布于 2010-10-21 05:14:59
对于http://metaoptimize.com/qa来说,这绝对是一个问题--机器学习社区的stackoverflow克隆。
除此之外,你描述的过程基本上是一种正则化的方法。显然,它的不同之处只在于回归项的工作方式。
这种正则化方法并不新鲜,人们已经尝试了很长时间才能有效地做到这一点,但问题是它不是凸的,甚至不是连续的。这意味着优化通常是NP难的。你的技术基本上是这个问题的近似算法,虽然它可能在一些例子中起作用,但你不能保证最优(找到“最佳”N个rbfs来拟合),而且它对你选择的起点高度敏感。正是由于这些原因,你通常不会在顶级会议和期刊上看到研究论文这样做,而是试图更有效地进行L1正则化,因为这已经被证明是我们在保持凸性的同时尽可能接近的。
发布于 2010-10-21 12:18:50
基于残差迭代拟合函数的想法并不新鲜。例如,请参阅AdaBoost。
https://stackoverflow.com/questions/3980348
复制相似问题