跳至主要内容

机器学习中的假设检验

在本教程中,您将了解假设检验的基础知识及其与机器学习的相关性。
· 4分钟 阅读

使用 AI 探索

假设检验的过程是通过对样本进行统计检验,从而对总体或数据得出推断或结论。对于不同的机器学习模型,我们也通过 T 检验来得出类似的推断,我将在本教程中进行讲解。

为了进行推断,我们需要做出一些假设,由此引出假设检验中使用的两个术语。

  • 原假设:基于既定假设,认为不存在异常模式,或按假设相信某种情况成立。

  • 备择假设:与原假设相反,指出观测结果源于真实效应。

P 值

它也可被视为原假设或机器学习算法的证据强度或显著性水平。就机器学习而言,它表示自变量对目标的显著性。

通常我们将显著性水平设为 5%,但在某些情况下这也是一个需要讨论的问题。如果您对数据的机理有较强的先验认识,您可以自行决定显著性水平。

相反地,如果在机器学习模型中,某个自变量对应的 p 值小于 0.05,则认为该变量应被纳入,意味着其与目标之间存在异质性关系,这种关系有用且可被机器学习算法学习到。

假设检验涉及的步骤如下:

  • 提出原假设,通常在机器学习算法中我们认为目标与自变量之间不存在异常关系。

  • 收集样本

  • 计算检验统计量

  • 决定接受或拒绝原假设

计算检验统计量或 T 统计量

为计算 T 统计量,我们设定一个情境。

假设有一家生产集装箱的公司声称每个集装箱重量为 1000 千克,不多不少。这样的说法看起来可疑,于是我们着手收集数据并抽取样本。

在收集了 30 个集装箱的样本后,我们发现集装箱的平均重量为 990 千克,标准差为 12.5 千克。

因此,计算检验统计量:

T = (均值 - 宣称值)/ (标准差 / 样本量^(1/2))

将数值代入后,结果为 -4.3818。

现在我们根据 0.05 的显著性水平和自由度计算 t 临界值。

注意: 自由度 = 样本量 - 1

查 T 表可得该值为 -1.699。

比较后可见,计算得到的统计量小于在所需显著性水平下的统计量。因此我们可以拒绝该声明。

您可以使用 scipy 库中 stats 类的 stats.t.ppf() 函数计算 t 值。

错误

由于资源(数据)不可得,我们通常在样本上而非总体上进行假设检验。因为推断基于样本数据,假设检验可能导致错误,可分为两类:

  • 第一类错误(Type I Error):当原假设为真时却将其拒绝。

  • 第二类错误(Type II Error):当原假设为假时却将其接受。

其他方法

对两个模型进行假设检验有许多不同方法,比如用我们现有的特征构建两个模型:一个包含所有特征,另一个少一个特征。这样我们就能检验单个特征的显著性。然而,特征间的相互依赖会影响这类简单方法。

在回归问题中,我们通常遵循 P 值规则,移除不满足显著性水平的特征,从而迭代地改进模型。

针对每种算法,都有不同的方法来检验不同特征上的假设。

如果您想进一步学习贝叶斯推断基础知识,请参加 DataCamp 的 Fundamentals of Bayesian Data Analysis in R 课程。

欢迎查看我们的 Machine Learning Basics 教程。

主题