机器学习与M估计

我正在处理一个机器学习问题,数据中有一些异常值,我希望能平滑处理这些异常值。我读到了一些关于使用M估计来解决此类问题的信息。我已经在网络和stackoverflow上进行了详尽的搜索,但没有找到一个好的示例。有人能推荐一些我可以阅读更多相关内容的资源吗?

谢谢!


回答:

如果我记得没错,M估计器起源于Huber的工作。他研究了使估计器稳健的方法。然而,为了衡量稳健性,考虑了一种非常特定的稳健性类型。这被称为“崩溃点”,简单来说就是方法能够处理的异常值与总点数的百分比。再多一个异常值,方法就会崩溃。

请注意,这种类型的稳健性与计算机视觉中的稳健性非常不同。在计算机视觉中,异常值可能不多,但它们可能(以结构化点的形式)合谋破坏最稳健的估计器。因此,在计算机视觉中,你会遇到霍夫变换RANSAC来进行线条的稳健估计。

此外,一种对异常值非常有抵抗力的M估计器,是一种对极端异常值赋值有界的M估计器。这些被称为重新下降M估计器。由于极端异常值(称为gross outliers)被赋予零权重,或者换句话说,在回归中完全不被考虑,因此它们非常稳健。

如果你想了解单个异常值的影响,我建议你编写一个简单的线性最小二乘octave程序。或者如果你认为更简单,可以编写一个总最小二乘程序(你可以进行奇异值分解,svd是内置的)。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注