线性分类器评估指标与目标检测方法解析
立即解锁
发布时间: 2025-09-01 01:49:33 阅读量: 8 订阅数: 16 AIGC 

# 线性分类器评估指标与目标检测方法解析
## 线性分类器概述
线性分类器有多种算法,感知机、逻辑回归和支持向量机(SVM)只是其中一部分,还有线性判别分析(LDA)和朴素贝叶斯等。SVM 算法还被扩展到回归问题领域,形成了支持向量回归算法。
## 二元分类器的评估指标
### 准确性的局限性
在解决分类问题时,通常会有多个不同的模型可供选择。直观上,准确率最高的模型似乎是不错的选择,准确率的定义为:准确率 = 正确预测的总数 / 总预测数。然而,实际情况并非如此简单。例如,在预测患者是否处于严重疾病早期阶段的任务中,假设平均每 100 名患者中只有 5 名患有该疾病。一个总是预测患者没有该疾病的模型准确率将达到 95%,但实际上毫无用处。而一个能正确识别出 5 名患病患者中的 4 名,同时错误地将另外 5 名健康患者识别为患病的模型,准确率仅为 94%,但作为初步筛选需要进一步检查的患者的工具,它却更有用。这凸显了除了准确率之外,还需要考虑其他指标的必要性。
### 混淆矩阵
一个常见的起点是将实际类别和预测类别整理成一个称为混淆矩阵的表格,如下表所示:
| 实际类别 | 疾病存在 | 疾病不存在 |
| --- | --- | --- |
| 预测类别 - 疾病存在 | 4(真阳性,TP) | 5(假阳性,FP) |
| 预测类别 - 疾病不存在 | 1(假阴性,FN) | 90(真阴性,TN) |
假阳性(FP)也称为第一类错误,假阴性(FN)称为第二类错误。区分这两种错误很有用,因为不同类型的错误可能会产生截然不同的后果。在这个例子中,如果目的是识别需要进一步筛查和治疗的患者,那么未能识别出患病患者显然比错误地将健康患者识别为患病更糟糕。
### 常用评估指标
可以使用混淆矩阵中的数字计算大量指标,以更深入地了解预测器的工作原理。以下是三个常用的指标:
| 指标 | 公式 | 描述 |
| --- | --- | --- |
| 准确率 | (TP + TN) / (P + N) = (4 + 90) / (5 + 95) = 94% | 所有预测中正确预测的百分比 |
| 召回率 | TP / (TP + FN) = 4 / (4 + 1) = 80% | 预测器识别出的真实结果的百分比 |
| 精确率 | TP / (TP + FP) = 4 / (4 + 5) = 44% | 预测为真的结果中实际为真的百分比 |
召回率是一个很好的指标,如果我们关心模型是否能识别出我们想要识别的患者,这个指标的百分比越高越好。同样,低精确率表明我们识别出了许多假阳性,这意味着在额外筛查以及给患者带来精神压力方面会增加成本,因为患者在得到更准确的检测结果之前会担心自己患有严重疾病。
### ROC 曲线和 F1 分数
即使我们有多个模型的混淆矩阵,也并不总是能清楚地知道选择哪个模型。一种可以提供更多见解的技术是将每个模型绘制在受试者工作特征(ROC)空间中。这是一个二维图,x 轴表示假阳性率,y 轴表示真阳性率。例如,有五个不同模型的数据点如下:
1. 上述示例中的模型,假阳性率为 0.05,真阳性率为 0.8。
2. 一个更敏感的模型,能识别出所有 5 名患病患者,但会产生 20 个假阳性,假阳性率为 0.21,真阳性率为 1。
3. 一个不太敏感的模型,只能识别出 5 名患病患者中的 3 名,但只产生 1 个假阳性,假阳性率为 0.01,真阳性率为 0.6。
4. 一个总是预测“无疾病”的模型,假阳性率为 0,真阳性率为 0。
5. 一个随机猜测的模型,假阳性率为 0.5,真阳性率为 0.5。
从图中可以看出,简单模型(总是预测为真和随机猜测)的数据点位于对角线上,而更好的模型位于对角线之上。如果一个数据点落在对角线之下,首先会认为这是一个糟糕的模型,因为其性能比随机选择还差。但在二元分类中,可以通过将模型的预测结果取反,将一个始终比随机猜测差的模型转换为一个好模型。
对于基于连续值参数(如阈值)的模型,不同的参数值会在 ROC 空间中产生不同的点。如果绘制这些不同点随参数变化的曲线,就会得到所谓的 ROC 曲线。ROC 曲线可用于选择在假阳性率和真阳性率之间取得适当平衡的参数值。
最后,有时在评估模型时,希望有一个单一的分数,而不必考虑假阳性率和真阳性率之间的权衡。在这种情况下,F1 分数是一个不错的选择:F1 分数 = 2 * TP / (2 * TP + FP + FN) = 2 * 4 / (2 * 4 + 5 + 1) = 0.57。高分对应一个好模型。如果预测器能正确预测所有结果,F1 分数将为 1。
## 目标检测和分割任务概述
在图像分类的基础上,实际图像中往往包含多个不同类别的对象,这就产生了更复杂的任务,如目标检
0
0
复制全文
相关推荐









