为什么机器学习中的参数未经测试?

机器算法验证 机器学习 统计学意义
2022-03-27 00:07:49

我不久前完成了机器学习 (ML) 课程。一切都是一个优化问题。无论您在 ML 中面临什么样的预测挑战,您通常都会最小化一些目标(即成本)函数。这样做时,您会提出满足您正在使用的方程的“最佳”参数(例如,梯度下降和线性回归,其中 MSE 是您最小化的目标函数)。

是不是所有机器学习模型的情况都是这样,当你找到最小化目标函数的最佳参数时,几乎按照定义,你也找到了相同的统计显着系数,否则你会发现如果你从一个stats perspective 哪里的重点是统计显着性检验?让我们将“统计透视”定义为在 R 中运行模型并根据它们的统计显着性或它们改变 AIC 的程度添加或删除新变量。

4个回答

是不是所有机器学习模型的情况都是这样,当你找到最小化目标函数的最佳参数时,几乎按照定义,你也找到了相同的统计显着系数,否则你会发现如果你从一个stats perspective 哪里的重点是统计显着性检验?

在某些情况下,是的。如果您使用逻辑回归作为分类器,则优化成本与优化对数似然度相同。不是每个模型都是这样的。深度神经网络不能很好地映射到统计对应物上(尽管我想对它们的统计特性有一些积极的研究)。

至于通过 AIC 或类似方法进行变量选择,那将是一种特征选择形式。我认为这是自己要问的问题。

至于您的名义问题,推理不是我们的主要关注点。其预测能力。此外,大多数 ML 问题(大多数,不是全部)都使用如此庞大的数据集,以至于重要性变成了稻草人。数据的绝对规模将允许进行高精度估计,并且由于没有影响真正为 0,您会发现所有影响都很重要。

tl; dr:因为 1)不可能,2)没有必要。

长答案:您的问题是从统计角度提出的,其中测试参数是一项标准操作。这听起来好像机器学习的方式需要证明。但我们同样可以提出相反的问题:“为什么要在统计中测试参数?”

答案略有不同,具体取决于您是进行推理还是预测建模。如果您正在进行推理,您想知道(了解!)哪些参数与输出相关。如果你在做预测,你想避免过度拟合,消除多余的参数有助于做到这一点。然而,测试对参数背后的概率分布做出假设,这些假设可能或多或少难以证明是正确的。AIC(和 BIC)也做出假设。您的测试和参数消除策略只有在您的假设得到满足时才能发挥作用。

机器学习不是推理工具箱。从一开始,它就意味着生成可以在没有人工干预的情况下做出决策(“预测”)的自动化系统(“机器”)。可解释性从来都不是问题,这允许模型具有任意复杂性(如评论中所述,最多但不一定有数十亿个参数)。因此,哪些参数相关(“重要”)的信息仅与确保泛化相关。然而,机器学习对数据的假设要弱得多,而且通常我们(几乎)对潜在的概率分布一无所知。这使得合理的统计测试几乎是不可能的。相反,机器学习的泛化是通过对单独(测试)数据集的交叉验证和测试来确保的。但,

经典统计和机器学习之间存在一些不同的思维方式,现代机器学习可以拥有大量数据。

正如你所说,整个问题是一个“优化问题”,人们对模型几乎没有假设。黄金标准是在大型测试集上的表现。如果我们回过头来回顾所有好的属性(置信区间、p 值等),它们来自对数据和模型的强烈假设。

有了更少的数据,人们愿意在数学上做更多的工作(比如 OLS 的高斯-马尔可夫定理),以使结果更好、更可靠。但是现代机器学习的人比较实际,不太在意假设和统计显着性,但专注于模型会对大型测试数据“起作用”。

请注意,深度神经网络可以有数十亿个参数,参数的数量甚至可以比数据点的数量大得多。(从经典统计的角度来看,这可能不是真正可以接受的)所以,AIC 和 BIC 也不在那里工作。

让我们将“统计透视”定义为在 R 中运行模型并根据它们的统计显着性或它们改变 AIC 的程度添加或删除新变量。

首先,“根据重要性添加或删除变量”不是一个好习惯顾名思义,显着性检验是关于检验一个假设,它不是优化任何东西的工具,通过将它用于变量选择,您可以假设某种优化问题。

其次,问问自己“具有统计意义的参数”究竟是什么意思。我们可以进行许多不同的统计测试,但最常见的是回归模型的开箱即用静态测试测试参数不同于零的假设。如果回归模型中的参数为零,则它对结果没有影响。让我们从并非每个机器学习模型都有参数的事实开始(例如k-NN,或决策树不)。但即使它有参数,你为什么要关心它们是否为零?如果模型做出正确的预测,它可以有尽可能多的零参数,最坏的情况下,它们会使计算速度比更轻的模型慢。不仅如此,有时我们故意将参数拖向零,例如L1正则化,作为特征选择的手段。在这种情况下,我们希望尽可能多的参数为零,只要它们不会使结果恶化。