机器学习分类器性能的统计评估与置信区间分析
1. 标准误差与分类准确性评估
在评估分类器性能时,标准误差是一个重要的统计指标。标准误差的计算公式为:
[s_{acc} = \sqrt{\frac{p(1 - p)}{n}}]
例如,当理论分类准确率 (p = 0.70),测试集大小 (n = 100) 时,标准误差为:
[s_{acc} = \sqrt{\frac{0.7(1 - 0.7)}{100}} = 0.046]
经过适当四舍五入,我们可以说分类准确率是 (70\% \pm 5\%)。需要注意的是,测试集越大,标准误差越低。这是因为更大的测试集能使评估更全面,从而让我们对得到的值更有信心。
我们可以借助特定的表格(如文中提到的 Table 12.2)来预测在相同大小的其他测试集上评估分类器可能得到的值。以 95% 的置信水平为例,在该表格中对应行的右列给出 (z_{\alpha} = 1.96),这意味着 95% 的结果会落在区间 ([p - 1.96 \times s_{acc}, p + 1.96 \times s_{acc}]) 内。不过,这仅适用于测试集大小 (n = 100) 的情况,不同的 (n) 会导致不同的标准误差和区间。
这里有两个重要提醒:一是正态分布假设的作用,若分布为正态,我们可以从表格中得知以 (p) 为中心包含给定百分比值的区间大小;二是标准误差公式(上述公式)通常是有效的,即使分布不是正态,计算标准误差时也不一定要满足某些特定条件(如文中的 (12.1) 和 (12.2))。
2. 置信区间
置信区间能帮助我们确定对分类器在给定测试数据上性能的信心程度。下面通过一个例子来说明。
假设测试集大小 (n = 100),在该测试集上测得的分类准确率 (acc = 0.85)。对于这个大小的训练集,标准误差为:
[s_{acc} = \sqrt{\frac{0.85 \times 0.15}{100}} = 0.036]
检查正态分布条件,(100 \times 0.85 = 85 \geq 10) 且 (100 \times 0.15 = 15 \geq 10),条件满足,我们可以利用表格中的 (z_{\alpha}) 值。以 95% 的置信水平为例,95% 的值会落在区间 ([acc - 1.96 \times s_{acc}, acc + 1.96 \times s_{acc}]) 内,即 ([0.85 - 0.07, 0.85 + 0.07] = [0.78, 0.92])。这意味着基于给定测试集的评估,我们有 95% 的信心认为真实的分类准确率在 ([0.78, 0.92]) 这个区间内,这个区间就是置信区间。
这里引入两个新术语:置信水平和误差幅度。置信区间反映了特定的置信水平,如上述例子中的 95%。每个置信水平对应一个不同的置信区间,置信区间可以写成 (p \pm M) 的形式,其中 (p) 是均值,(M) 是误差幅度。例如在区间 ([0.78, 0.92]) 中,均值 (p = 0.85),误差幅度 (M = z_{\alpha}s_{acc} = 1.96 \times 0.036 = 0.07)。
不同的置信水平会得到不同的置信区间。例如,99% 置信水平时,表格给出 (z_{\alpha} = 2.58),置信区间为 ([0.85 - 2.58 \times s_{acc}, 0.85 + 2.58 \times s_{acc}] = [0.76, 0.94]),这个区间比 95% 置信水平的区间长。这是因为真实的理论分类准确率落在较长区间的概率更高,反之落在较窄区间的概率较低。如 68% 置信水平(标准误差四舍五入为 (s_{acc} = 0.04))时,置信区间为 ([0.85 - 0.04, 0.85 + 0.04] = [0.81, 0.89])。需要注意的是,即使是 99% 的置信水平,也不能绝对保证理论值会落在对应区间内,仍有 1% 的概率测量值会在区间外。
另一个影响置信区间长度的参数是样本大小。置信区间的长度取决于标准误差,而标准误差又取决于测试集的大小 (n)。本质上,测试集越大,对测量值的支持证据越强,置信区间越窄。因此,误差幅度和训练集大小成反比关系,训练集大小增加,误差幅度减小。如果我们认为某个置信区间太大,可以通过使用更大的测试集(即增大 (n))来减小测量值的标准误差,从而使区间变短。我们还可以通过公式 (M = z_{\alpha}s_{acc} = z_{\alpha}\sqrt{\frac{p(1 - p)}{n}}) 来计算误差幅度,求解该公式中的 (n)(针对特定的 (M)、(p) 和 (z_{\alpha}) 值)可以得到所需的测试集大小。
虽然这里用分类准确率这个最简单的性能指标解释了建立置信区间的方法,但该方法的适用范围更广,可以用于量化任何表示比例的变量的不确定性。在机器学习中,我们可以用同样的方法来确定对其他性能指标(如精度、召回率等)的信心,但要注意,只有当满足某些条件时,给定数量值的分布才能用正态分布近似,并且在使用标准误差公式计算时要明确 (n) 的含义。例如,精度的计算公式为 (\frac{N_{TP}}{N_{TP} + N_{FP}}),这里 (n = N_{TP} + N_{FP}),召回率等其他性能指标也需要类似考虑。
3. 分类器的统计评估
可以通过在一组预分类示例上测试分类器来实验性地证实或反驳关于分类器性能的声明。统计评估结果的一种方法是遵循以下算法:
|步骤|操作|
|----|----|
|(1)|对于给定大小 (n) 的测试集和声称的分类准确率 (acc),检查正态分布条件是否满足:(n \times acc \geq 10) 且 (n \times (1 - acc) \geq 10)。|
|(2)|用通常的公式计算标准误差:(s_{acc} = \sqrt{\frac{acc(1 - acc)}{n}})。|
|(3)|假设正态分布假设正确,在表格中找到所需置信水平的 (z_{\alpha}) 值,对应的置信区间是 ([acc - z_{\alpha} \times s_{acc}, acc + z_{\alpha} \times s_{acc}])。|
|(4)|如果在测试集上测量的值落在这个区间外,拒绝准确率等于 (acc) 的声明;否则,假设现有证据不足以拒绝该声明。|
下面通过一个简单的例子来说明这个过程。假设一位机器学习专家声称他诱导的分类器分类准确率 (acc = 0.78),你准备了 (n = 100) 个已知类标签的示例来测量该分类器的性能,实验得到的分类准确率为 0.75。虽然这个值比声称的 0.78 低,但我们需要判断这个差异是否在合理范围内。
首先检查正态分布条件,(100 \times 0.75 = 75 \geq 10) 且 (100 \times 0.25 = 25 \geq 10),条件满足,可以使用正态分布假设。以 95% 的置信水平为例,在表格中找到 (z_{\alpha} = 1.96),对于我们的测试集,标准误差为:
[s_{acc} = \sqrt{\frac{0.75 \times 0.25}{100}} = 0.043]
置信区间为 ([0.78 - 1.96 \times 0.043, 0.78 + 1.96 \times 0.043]),经计算和适当四舍五入后为 ([0.70, 0.86])。
我们在自己的训练集上得到的分类准确率 (acc = 0.75) 落在这个置信区间内。这意味着对于声称的准确率 0.78,有 95% 的概率在随机测试集上的评估会得到一个在 ([0.70, 0.86]) 区间内的分类准确率。虽然我们的结果 0.75 比专家声称的略低,但实验评估未能提供有力证据反驳该声明,因此我们接受该声明为有效。
在统计评估中存在两种类型的错误:
-
第一类错误(误报)
:有人对性能做出声明,基于测试集大小(假设正态分布),我们计算出应该包含给定 95% 值的区间。如果原声明正确,测试结果落在这个区间外的概率只有 5%,所以我们会拒绝测试结果落在这个小于 5% 区域的任何假设。但实际上仍有 5% 的情况会出现这种差异,拒绝专家声明可能是不公平的,这就是第一类错误,即错误地拒绝原本正确的声明。如果不想面临这种风险,可以提高所需的置信水平,如从 95% 提高到 99%,误报会减少,但这并非没有代价。
-
第二类错误(漏检)
:初始声明是错误的,但在测试集上得到的分类准确率落在给定的置信区间内,此时我们不得不认为实验未能提供足够证据反驳该声明,从而接受该声明。这通常发生在要求非常高的置信水平时,因为对应的区间很宽,测试结果几乎不会落在区间外,实验结果很难导致拒绝初始声明。需要记住的是,这两种类型的错误之间存在不可避免的权衡,提高置信水平会降低第一类错误的风险,但会增加第二类错误的风险,反之亦然。
下面是统计评估分类器性能的流程图:
graph TD
A[开始] --> B{检查正态分布条件}
B -- 满足 --> C[计算标准误差]
B -- 不满足 --> E[无法进行统计评估]
C --> D{查找置信水平对应的z值}
D --> F[计算置信区间]
F --> G{测量值是否在区间内}
G -- 是 --> H[接受声明]
G -- 否 --> I[拒绝声明]
E --> J[结束]
H --> J
I --> J
通过以上内容,我们可以更科学地评估分类器的性能,并且了解在评估过程中可能出现的错误类型以及如何权衡不同的置信水平和测试集大小来优化评估结果。在实际应用中,我们可以根据具体需求选择合适的方法和参数,以获得更可靠的分类器性能评估。
机器学习分类器性能的统计评估与置信区间分析
4. 另一种统计评估方法
前面我们了解了如何对单个分类器的性能声明进行统计评估,实际上,统计学在机器学习领域还有更多的应用。
4.1 判断两个测试集是否代表不同上下文
有时候,不同的上下文可能需要诱导不同的分类器,比如针对英式口音和美式口音可能需要不同的分类器。统计学可以帮助我们识别数据中是否存在这种情况。
假设我们在两个不同的测试集上测试了两个分类器,第一个测试集的分类准确率为 (\hat{p}_1),第二个测试集的分类准确率为 (\hat{p}_2)(字母 “p” 表示正确答案的比例)。两个测试集的大小分别用 (n_1) 和 (n_2) 表示,两个测试集合并后正确分类示例的平均比例用 (\hat{p}) 表示。
我们关注的统计量由以下公式定义:
[z = \frac{\hat{p}_1 - \hat{p}_2}{\sqrt{\hat{p}(1 - \hat{p})(\frac{1}{n_1} + \frac{1}{n_2})}}]
然后将计算得到的 (z) 值与给定置信水平的临界值进行比较,临界值可以在特定表格(如文中提到的 Table 12.2)中找到。
4.2 具体示例
假设分类器在两个测试集上进行评估,测试集大小分别为 (n_1 = 100) 和 (n_2 = 200),两个测试集的分类准确率分别为 (\hat{p}_1 = 0.82) 和 (\hat{p}_2 = 0.74),那么两个测试集合并后的平均分类准确率 (\hat{p} = 0.77)。
首先,我们可以验证正态分布条件是满足的。然后将这些值代入上述公式:
[z = \frac{0.82 - 0.74}{\sqrt{0.77(1 - 0.77)(\frac{1}{100} + \frac{1}{200})}} = 1.6]
由于这个值低于表格中 95% 置信水平对应的临界值,我们可以得出结论:这两个结果在统计上是不可区分的,即这两个测试集可能代表相同的上下文,不需要为不同的上下文诱导不同的分类器。
以下是判断两个测试集是否代表不同上下文的操作步骤列表:
1. 确定两个测试集的分类准确率 (\hat{p}_1) 和 (\hat{p}_2),以及两个测试集的大小 (n_1) 和 (n_2)。
2. 计算两个测试集合并后正确分类示例的平均比例 (\hat{p})。
3. 验证正态分布条件是否满足。
4. 使用公式 (z = \frac{\hat{p}_1 - \hat{p}_2}{\sqrt{\hat{p}(1 - \hat{p})(\frac{1}{n_1} + \frac{1}{n_2})}}) 计算 (z) 值。
5. 在表格中查找给定置信水平的临界值。
6. 比较 (z) 值和临界值,如果 (z) 值低于临界值,则认为两个测试集代表相同的上下文;否则,认为两个测试集代表不同的上下文。
下面是这个判断过程的流程图:
graph TD
A[开始] --> B[确定p1、p2、n1、n2]
B --> C[计算p]
C --> D{检查正态分布条件}
D -- 满足 --> E[计算z值]
D -- 不满足 --> F[无法进行判断]
E --> G{查找置信水平对应的临界值}
G --> H{z值是否小于临界值}
H -- 是 --> I[两个测试集代表相同上下文]
H -- 否 --> J[两个测试集代表不同上下文]
F --> K[结束]
I --> K
J --> K
5. 总结
在机器学习中,对分类器性能进行统计评估是非常重要的。通过计算标准误差和置信区间,我们可以量化对分类器性能的信心程度。在评估单个分类器的性能声明时,我们需要考虑正态分布条件、置信水平和测试集大小等因素,并且要注意可能出现的第一类错误(误报)和第二类错误(漏检),这两种错误之间存在权衡关系。
此外,我们还介绍了一种用于判断两个测试集是否代表不同上下文的统计评估方法,通过计算特定的统计量 (z) 并与临界值比较,可以帮助我们识别是否需要为不同的上下文诱导不同的分类器。
总之,合理运用这些统计方法可以使我们在机器学习中更科学、准确地评估分类器的性能,为实际应用提供更可靠的依据。在实际操作中,我们可以根据具体情况选择合适的评估方法和参数,以获得最佳的评估效果。
以下是一个总结不同评估方法和相关参数的表格:
|评估方法|关键参数|作用|
|----|----|----|
|单个分类器性能评估|标准误差、置信区间、置信水平、测试集大小|量化对分类器性能的信心,判断声明的有效性,权衡两类错误|
|判断两个测试集是否代表不同上下文|(\hat{p}_1)、(\hat{p}_2)、(n_1)、(n_2)、(\hat{p})、(z) 值、临界值|识别是否需要为不同上下文诱导不同分类器|
通过对这些知识的掌握和应用,我们能够更好地应对机器学习中分类器性能评估的挑战,提高模型的可靠性和有效性。
超级会员免费看
331

被折叠的 条评论
为什么被折叠?



