【问题标题】:machine learning and m-estimate机器学习和m估计
【发布时间】:2014-06-11 06:09:56
【问题描述】:
我正在研究一个机器学习问题,并且我的数据中有一些异常值,我希望对它们进行平滑处理。我读了一些关于使用 m-estimate 解决此类问题的内容。我在 Web 和 stackoverflow 上都进行了详尽的搜索,但找不到一个很好的例子。有人可以推荐一些资源,我可以在其中阅读有关此主题的更多信息吗?
谢谢!
【问题讨论】:
-
-
看到了。我正在寻找机器学习背景下的例子。在高级别 here 中提到了 m-estimate,这是有道理的。但是,如果没有看到一个例子,我无法完全掌握这个概念。
标签:
machine-learning
artificial-intelligence
【解决方案1】:
如果我没记错的话,M-estimator 源自 Huber 的工作。他研究了使估计器稳健的方法。然而,为了衡量稳健性,我们考虑了一种非常特定类型的稳健性。它被称为“崩溃点”,简单来说就是异常值与该方法可以处理的点的总数相比的百分比。再出现一个异常值,它就会崩溃。
请注意,这种类型的鲁棒性与计算机视觉中的鲁棒性完全不同。在计算机视觉中,异常值可能并不多,但它们可能会合谋(以结构化点的形式)分解最稳健的估计量。出于这个原因,在计算机视觉中,您将遇到Hough transform 和RANSAC 来执行对线条的稳健估计。
此外,一种对异常值非常有弹性的 M 估计器是一种 M 估计器,它限制了分配给极端异常值的值。这些是所谓的redescending M-estimators。它们非常稳健,因为极端异常值(称为gross outliers)的权重为零,或者换句话说,在回归中根本没有考虑到这一点。
如果你想知道单个异常值的影响,我挑战你编写一个简单的线性最小二乘八度程序。或者,如果您认为它更简单,则可以使用全最小二乘程序(您可以只进行奇异值分解,并且内置了 svd)。