UCUG 1002 核心概念:从数据切分到评价指标的五大考试必考点

一份把 PPT 里散落的公式占位、直觉与工程现实之间那道明显的缝补上的笔记。 顺着「数据怎么切 → 任务怎么定 → 模型怎么打分 → 失败长什么样 → 怎么评价」这条主线,把每一块都按「你已有的直觉 → 课件为什么这么讲 → 机制到底长什么样」的节拍推进。

1. 为什么数据切分是机器学习的「第一道工序」

你已经知道「训练集好、测试集差」这件事。这条直觉背后的工程机制,就是这一章要讲透的:数据集必须分三段,测试集永远只能最后用一次。

课件里那张三色块图(DATASET → 三个子标签 → 三个色块 → 三步操作)把这件事画得很直观,但 PPT 自己没解释为什么测试集不能拿来调参。scikit-learn 官方文档的第一句话就点破了:

Learning the parameters of a prediction function and testing it on the same data is a methodological mistake.

翻译成人话就是:如果在训练集上又训又评,模型会把所有训练样本的标签都「背」下来,但遇到新数据完全不会预测。补救方法是从可用数据里切出一部分作为 test set,永远只在最后交卷时用一次。课件上那张「DATASET → TRAIN/VALIDATION/TEST」三色块图想表达的核心,正是这件事。

图注:顶层 DATASET 划分出 Training Dataset / Validation Dataset / Testing Dataset 三个子集,分别进入 Train multiple Models → Validate Models → Evaluate Model 三步。Validate 这一步的作用是调超参并选最佳模型,最后再交给 Evaluate 用测试集做最终评估。

scikit-learn 官方文档还补了一段关于「为什么测试集不能反复用来调参」的原文警告:

If the parameters can be tweaked until the estimator performs optimally, knowledge about the test set can "leak" into the model and evaluation metrics no longer report on generalization performance.

翻译:反复用测试集调超参,关于测试集的知识会「泄漏」到模型里,最终的评估指标就不再反映真实泛化能力。这就是常说的「测试集 leak」。所以测试集必须 hold-out 到最后才用。SklearnCV

把这条工程规则画得最清楚的,是 scikit-learn 文档里的这张工作流图。它和课件那张三色块图说的是同一件事,但把谁流向谁画得更完整:

图注:Dataset 一分为二:Training data 和 Test data。Test data 全程不进入 cross-validation 和 retraining,只在最后与 retrained model 一同进入 Final evaluation。Parameters 与 Training data 进入 Cross-validation 找出 Best parameters,再用 Best parameters 与 Training data 训练 Retrained model。这条路径意味着测试集永远只在最后交一次卷。

所以 PPT 里那个三色块图表达的核心信息就一句话:测试集 hold-out,一次性独立保留,交卷时再用一次。

数据增强这一块,课件给了原图 vs 翻转/裁剪/旋转的对照(猫、狗照片正反例子),但 PPT 真正想钉死的只有一条核心约束:

Augmentation is valid only if it preserves the label and task semantics.

翻译:增强只能「改变外观、不改变答案」。水平翻转一只猫仍然是猫,OK。把猫水平翻转 + 上下颠倒 + 局部擦除到面目全非,它可能就看起来不像猫了,模型也会学到错答案,所以不能这么增强。常见手段在课件里分四类列出(图像:flip/crop/rotate/color jitter;时间序列:sliding window/jitter/warping;文本:paraphrase/back-translation;音频:noise/speed/pitch shift),关键判定标准始终是同一条:标签不能变。

2. K 折交叉验证:让小数据也能稳稳估出「真实能力」

三段式切法(train/validation/test)虽然干净,但有个副作用:每次切走一部分做验证,能用来训练的数据就少了,结果对那一次随机切分依赖很大。K 折交叉验证就是这件事的工程解法:保留 test set 不动,把「train + validation」进一步切成 k 份轮流做验证。

课件给了一个最小例子:6 个观测 [0.1, 0.2, 0.3, 0.4, 0.5, 0.6],k=3。

  • 第一步:shuffle 后分 3 组,每组 2 个:Fold1 [0.5, 0.2]、Fold2 [0.1, 0.3]、Fold3 [0.4, 0.6]。
  • 第二步:k 轮 train/test 组合:
    • Model 1:Trained on Fold1 + Fold2, Tested on Fold3
    • Model 2:Trained on Fold2 + Fold3, Tested on Fold1
    • Model 3:Trained on Fold1 + Fold3, Tested on Fold2
  • 第三步:summarize 三次得分,得到 mean 和 std 作为模型能力的估计。

这里有两个性质要钉死:(1) 每一折的 test 集互不重叠;(2) k 个 test 集并起来正好覆盖全部样本。所以每个样本都当过一次验证集,结果无偏。

把这件事画成工程标准版的,是 scikit-learn 文档里的 5 折 + hold-out test set 可视化:

图注:顶部 All Data 划分为 Training data 和 Test data;Training data 进一步切成 5 个 Fold;下方 5 行 Split 中,每行 1 个蓝色 Fold(验证集)+ 4 个绿色 Fold(训练集),蓝色块依次轮换位置;右侧大括号标注 Finding Parameters;底部独立的蓝色 Test data 大括号标注 Final evaluation。关键信息:Test data 永不进入 CV 循环,5 个 Split 共享同一个独立的 Test data。

在工程实现上,sklearn.model_selection.cross_val_score(clf, X, y, cv=5) 会返回 5 个分数([0.96, 1., 0.96, 0.96, 1.] 这样的数组),再 mean() 和 std() 得到的就是「模型能力的中心趋势 + 折间方差」。std 越大说明模型对训练子集选择越敏感,可能有过拟合倾向。SklearnCV

3. 分类 vs 回归:分界在「输出」而不是「输入」

这是这一章的纠错环节。常见的说法(也是你自己说反的方向)是「分类是输入离散、回归是输入连续」,方向说反了。课件里那张对比图直接把这个方向钉死:

图注:左图 Classification:两类散点 + 一条黑色 S 形决策边界;右图 Regression:约 150 个散点呈正相关趋势 + 一条黑色直线作为拟合线。两张图共享同一个事实:模型要预测的对象(输出)一个是离散类别、一个是连续数值,与输入无关。

正确说法是:输出的类型决定任务是分类还是回归,与输入无关。

  • 分类(classification):输出离散类别。垃圾邮件 vs 正常邮件;疾病 vs 健康;图片是猫、是车、还是青蛙。
  • 回归(regression):输出连续数值。房价 1,800,000;下个月销量 4,532 件;明天气温 26.5°C。

把这两个任务用真实数据集钉死,是课件的重点。

回归侧:California Housing(加州房价)。SklearnCA 关键数字如下:

字段内容
样本数20,640
特征数8 个数值特征
Target中位数房价(单位:十万美元,target = 1.0 即 10 万美元)
数据粒度1990 美国人口普查 block group(每个 block group 600–3,000 人)

8 个特征名原样照录:MedInc(家庭收入中位数)、HouseAge(房龄)、AveRooms(每户平均房间数)、AveBedrms(每户平均卧室数)、Population(block group 人口)、AveOccup(每户平均人数)、Latitude、Longitude。注意:target 是「中位数房价」,这是一个连续数值,所以这是回归任务。

分类侧:CIFAR-10。CIFAR10 关键数字:

字段内容
样本数60,000
图像尺寸32×32×3(RGB 彩色)
类别数10(airplane、automobile、bird、cat、deer、dog、frog、horse、ship、truck)
划分50,000 训练 + 10,000 测试
每类样本严格 6,000(类别完全互斥)

图注:10 行 × 10 列共 100 张缩略图,每一行为同一类别的样本,从上到下依次为 airplane / automobile / bird / cat / deer / dog / frog / horse / ship / truck。每张图约 32×32 像素,是 CIFAR-10 数据集的典型展示形态。10 个互斥类别就是分类任务「输出离散类别」的具象化。

「10 个互斥类别」就是「输出是离散类别」的最直接证据。模型要做的事是「选一个标签」,不是「预测一个数」。两份数据卡片的对比就是把「输出」这个词钉死:California Housing 输出 1.0 这种实数,对应回归;CIFAR-10 输出「cat」这种离散标签,对应分类。和输入是不是离散或连续一点关系都没有:California Housing 的输入里有 Latitude/Longitude 这种连续坐标,CIFAR-10 的输入是 32×32×3 这种连续像素值,两者的输入都是连续型,但任务类型依然分别落在回归和分类两侧。

4. 模型怎么「打分」:线性评分函数与多类 SVM 合页损失

PPT 这一章里有 5 块内容(线性回归、logistic、多类 SVM、单层神经网络、合页损失),但有几个公式停在占位状态。这一节先沿着你最好奇的「合页损失手算」走,把整章的核心机制打通。

4.1 线性评分函数:图像 → 10 个分数

CS231n 课程笔记把这件事的标准形式钉得很死 CS231nLinear:

$$f(x_i, W, b) = W x_i + b$$

其中 $x_i$ 是把 32×32×3 = 3072 个像素拉成一列的列向量($x_i \in \mathbb{R}^{3072}$),$W$ 是 [K × D] 的权重矩阵(在 CIFAR-10 上 $W \in \mathbb{R}^{10 \times 3072}$),$b$ 是 [K × 1] 的偏置向量。送进函数 3072 个原始像素值,输出 10 个类别分数。

课件里那张 PPT 流程图把这件事画得很直观:

图注:猫照片 → 向量化($x \in \mathbb{R}^{3072 \times 1}$)→ $f(x, W, b)$ → 10 个类别分数 → Prediction: largest score(取分数最大的那一类作为预测)。这张图把「图像 → 向量化 → 评分函数 → 类别分数 → 预测」这条主流程钉死。

4.2 Bias trick:把 b 折进 W

CS231n 还给了一个等价改写的小技巧(叫 bias trick),把上面的 $f(x_i, W, b) = W x_i + b$ 进一步化简为单矩阵乘:

把 $x_i$ 末尾加一个恒为 1 的维度(bias dimension),同时把 $W$ 右端多加一列(bias column),于是 $f(x_i, W) = W x_i$。CS231nLinear

图注:左子图 = W·x + b(3×4 矩阵 W 乘 4×1 向量 x_i,再加上 3×1 偏置向量 b);右子图 = 扩展后 W·x(3×5 矩阵 W 乘 5×1 向量 x_i,x_i 末位是常数 1)。中间 ↔ 双向箭头表示两边的计算结果完全等价。注意:图中具体数字(56/231/24/2、1.1/3.2/−1.2)是 CS231n 选来演示的示意数字,不是真实训练数据。

4.3 合页损失(hinge loss)的直观含义

课件上以 cat / car / frog 三类为例子给了一组分数(3.2 / 5.1 / −1.7)。CS231n 标准形式下,多类 SVM 合页损失公式是 CS231nLinear:

$$L_i = \sum_{j \neq y_i} \max(0, s_j - s_{y_i} + \Delta)$$

其中 $s_j$ 是第 j 类的分数,$s_{y_i}$ 是正确类分数,$\Delta$ 是一个超参数(课件里给的是 $\Delta = 1$)。直白讲:正确类的分数要比其他类分数至少高 $\Delta$,否则就要为「差距不够大」付出损失。

几何含义最直观的就是这张图:

图注:一维水平示意图。绿色短竖线 = 其他类的分数(都在左),蓝色短竖线 = 正确类的分数(在右)。两端红色方块之间的水平距离就是 $\Delta$(margin)。只要任何一类的分数落进红色区间(即离正确类分数的距离不足 $\Delta$),就累积损失;否则损失为零。这张图钉死了「为什么不能只比谁分数高,还要差一个 $\Delta$」的几何依据。

4.4 手算猫/车/蛙的合页损失

下面把 PPT 那组分数(3.2 / 5.1 / −1.7)当堂算一遍($\Delta = 1$)。

对 cat 图(cat 是正确类):

  • cat 对 car:$\max(0, 5.1 - 3.2 + 1) = \max(0, 2.9) = 2.9$
  • cat 对 frog:$\max(0, -1.7 - 3.2 + 1) = \max(0, -3.9) = 0$(cat 分数已经比 frog 高过 $\Delta$,frog 端零损失)

cat 的累计 loss = 2.9 + 0 = 2.9

对 car 图(car 是正确类):

  • car 对 cat:$\max(0, 3.2 - 5.1 + 1) = \max(0, -0.9) = 0$
  • car 对 frog:$\max(0, -1.7 - 5.1 + 1) = \max(0, -5.8) = 0$

car 的累计 loss = 0

对 frog 图(frog 是正确类):

  • frog 对 cat:$\max(0, 3.2 - (-1.7) + 1) = \max(0, 5.9) = 5.9$
  • frog 对 car:$\max(0, 5.1 - (-1.7) + 1) = \max(0, 7.8) = 7.8$

frog 的累计 loss = 5.9 + 7.8 = 13.7

重要提醒:课件上给的总损失拆解是 cat=2.9、car=0、frog=12.9,总和 = 15.8。这与你手算的 frog=13.7 有 0.8 的差异。这个差异源自课件把 frog 的 loss 用「12.9 = 6.3 + 6.6」拆开,而 6.3 = 2.2 − (−3.1) + 1、6.6 = 2.5 − (−3.1) + 1(用的是同一个示例的第二组分数 2.2 / 2.5 / −3.1 而不是第一组 −1.7)。考试时按 PPT 课上演示的版本(cat=2.9 / car=0 / frog=12.9,总和 15.8)作答即可,知道「同一示例下不同分数会产生不同总 loss」就够。

这一节的两条关键结论:(1) 课件里那组分数(3.2 / 5.1 / −1.7)正是 CS231n 标准合页损失 $L_i = \sum_{j \neq y_i} \max(0, s_j - s_{y_i} + 1)$ 的最小可手算示例;(2) 「预测」靠「分数最高那一类」,但「训练」靠的是「让正确类的分数比其他类都至少高出一个 margin」,margin 才是合页损失真正的几何依据。

5. 过拟合与欠拟合:偏差方差四种组合的机制

你已经知道「过拟合是背下噪声、欠拟合是模型太简单」这件事。这一节要把这两个直觉推到机制层:偏差(bias)和方差(variance)两种错误来源的四种组合,以及它们与模型容量(capacity)的关系曲线。

课件上那张 2×2 靶心图把四种组合的散点分布画得很清楚:

图注:四个象限分别标 Low bias and low variance(左上,散点紧贴靶心)、Low bias and large variance(右上,散点弥散但围绕靶心)、Large bias and low variance(左下,散点紧但偏离靶心)、Large bias and large variance(右下,散点既偏离靶心又分散)。这是经典的偏差-方差四象限散点分布图,把「错在哪、错得多稳」这两个维度并列展示。

四个象限的命名按 PPT 的英文标注是:

象限散点特征中文意译
Low bias + Low variance紧贴靶心模型又准又稳(理想状态)
Low bias + Large variance围绕靶心但分散模型对训练子集敏感(过拟合)
Large bias + Low variance偏离靶心但稳定模型始终稳定地偏离真相(欠拟合)
Large bias + Large variance既偏又散模型严重不匹配(常因训练崩塌)

「错在哪、错得多稳」两个维度是相互独立的:bias 描述「平均偏离真相多少」,variance 描述「每次抽样结果彼此能差多少」。

DLBook Chapter 5 把这个机制推到公式层 DLBookCh5。DLBook 原式写的是 MSE 下的分解:

$$\mathbb{E}!\left[,(\hat f(x)-f(x))^{2},\right] = \text{Bias}^{2}!\left[\hat f(x)\right] + \text{Var}!\left[\hat f(x)\right]$$

对分类问题,需要在原式基础上补一个不可约噪声项 $\sigma^2$(Bayes error rate,反映数据本身的噪声;模型能力再强也压不下去),完整形式是:

$$\mathbb{E}!\left[,(\hat f(x)-f(x))^{2},\right] = \text{Bias}^{2}!\left[\hat f(x)\right] + \text{Var}!\left[\hat f(x)\right] + \sigma^{2}$$

这条公式就回答了「Expected Loss 由哪几部分组成」:第一部分是「始终偏离真相多少」(bias²);第二部分是「换一次数据会抖多少」(variance);第三部分是「数据本身有多吵」(σ²)。

那么 capacity 怎么同时影响 bias 和 variance?DLBook 5.2 节和 Figure 5.6 把这件事画成了曲线:

图注:横轴是 capacity(模型容量,从左到右递增);红色 U 形实线 = generalization error(泛化误差),蓝色短点线 = bias(单调下降),绿色长虚线 = variance(单调上升)。垂直虚线 = optimal capacity(最优 capacity)。随着 capacity 上升,bias 单调下降但 variance 单调上升,泛化误差呈 U 形,左侧是欠拟合区,右侧是过拟合区,最优 capacity 在 U 形底部。重要说明:图本身没有文字标签,必须配 caption 才能理解;该图本体无 capacity / bias / variance 文字标注是教科书 figure 的常见做法。

来源说明:这张曲线图本体(DLBook Figure 5.6)的轴、曲线、参考线视觉形态由 VLM 校验通过;图本身没有文字标签,所有标签(capacity / generalization error / bias / variance / optimal capacity)来自 caption 而非图内文字。DLBookCh5

把图注信息综合起来就是「为什么 capacity ↑ 会让 bias ↓ 但 variance ↑」的机制:模型能拟合更复杂的函数,bias 下降;但对训练数据中噪声的拟合更敏感,variance 上升。这两条单调关系合起来正好对应四个象限:

象限在 capacity 曲线上的位置
Low bias + Low variance最优 capacity 附近(U 形底部)
Low bias + Large variancecapacity 太大(U 形右侧,过拟合)
Large bias + Low variancecapacity 太小(U 形左侧,欠拟合)
Large bias + Large variancecapacity 严重不匹配(常因训练崩塌)

课件最后列了「减少过拟合 / 减少欠拟合」两组实操清单,用 DLBook 的话讲都是在「降低 effective capacity」或「增加数据」,本质上是沿 Figure 5.6 的曲线把 capacity 调到最优位置。具体条目以 PPT 课件为准。

6. 为什么准确率会骗人:ROC 曲线与 AUC 在不均衡数据下的形态不变性

这一章从一个反直觉的例子开始:假设有一个 COVID-19 检测模型,在某社区里 280,000 人是阴性、50 人是阳性。模型对所有人都预测「正常」,准确率 = 280,000 / 280,050 = 99.9%,但它一个 COVID-19 病人都没找到。这就是「为什么准确率会骗人」最直接的动机:在不均衡数据下,单纯报准确率的模型可能完全没有用。

课件上给了一张乳腺癌诊断的混淆矩阵算例:

诊断结果真患病(P)真未患病(N)合计
阳性(Positive)80(TP)100(FP)180
阴性(Negative)20(FN)800(TN)820
合计1009001000

这里 Sensitivity(召回率、真阳率)和 Specificity(真阴率)的标准公式是 FawcettROC:

$$\text{TPR} = \frac{TP}{TP + FN} = \frac{80}{80 + 20} = 80%$$

$$\text{Specificity} = \frac{TN}{TN + FP} = \frac{800}{800 + 100} \approx 88.9%$$

(课件上写「Sp = 89%」实为精算结果 88.9% 的四舍五入。)

6.1 ROC 空间:把分类器画在一个二维图上

ROC 图是 Fawcett 2006 论文的标准化方法 FawcettROC:

  • 纵轴:True Positive Rate (TPR) = Sensitivity = TP / (TP + FN)
  • 横轴:False Positive Rate (FPR) = 1 − Specificity = FP / (FP + TN)
  • 两轴范围都是 [0, 1]

把这件事画得最标准的,是 Fawcett 论文里的 Fig. 2:

图注:横轴 FPR,纵轴 TPR,两轴范围 0–1.0。图中五个标字母 A–E 的数据点代表五个离散分类器:D≈(0.05, 0.98) 接近完美分类点 (0,1);B≈(0.4, 0.8) 和 A≈(0.1, 0.6) 在对角线之上;C≈(0.7, 0.7) 几乎就在对角线上(接近随机猜);E≈(0.6, 0.2) 在对角线下方(比随机更差)。从原点到 (1,1) 的虚线对角线表示「随机分类器」:随机猜正类 50% 时间,期望点就是 (0.5, 0.5);猜 90% 时间则点 (0.9, 0.9)。「西北方向」的分类器优于「东南方向」:西北方向意味着 TPR 更高、FPR 更低(或两者同时)。

把这张图的四个关键点钉死:

位置含义
(0, 0)永不预测为正类,没 false positive,但也没 true positive
(1, 1)永远预测为正类,找出所有正类,但也把全部负类错判为正
(0, 1)完美分类:所有正类都对、所有负类都对(D 点最接近这里)
对角线 y = x随机分类:C 点几乎就在对角线上

6.2 AUC:曲线下面积与「任意正例排在任意负例之前的概率」

把阈值从 +∞ 慢慢滑到 −∞,每个分类器在 ROC 图上会画出整条曲线。曲线下面积(AUC, Area Under the Curve)就是这个分类器的综合表现指标。

  • AUC = 0.5 → 随机分类(曲线沿对角线)
  • AUC = 1.0 → 完美分类(曲线贴左上角)

AUC 还有一条概率解释:AUC = 任意正例排在任意负例之前的概率。这是比「曲线下面积」更直观的理解。AUC = 0.8 意味着随机抽一对正负例,正例分数高于负例分数的概率是 80%。AUC 在数学上等价于 Wilcoxon-Mann-Whitney 秩和检验。

把 AUC 视觉化最直接的图是 Fawcett 论文的 Fig. 8:

图注:左图 (a) 两条 ROC 曲线 A 与 B,下方都有阴影填充表示 AUC;B 曲线在 A 之上,说明 B 的平均性能更好(AUC 更大)。右图 (b) 离散分类器 A 在 ROC 空间只是一个点(无 marker),评分分类器 B 是连续曲线(有数据点 marker)。这张图钉死两条补充直觉:(a) AUC 越大平均性能越好;(b) 单点 A 不能代表不同阈值下分类器的全部能力。

6.3 ROC 在不均衡数据下的「形态不变性」

回到 COVID-19 反例(280,000 阴性 vs 50 阳性):把所有样本都预测为「正常」的分类器,准确率 99.9%,但它在 ROC 图上对应 FPR = 0、TPR = 0 的 (0, 0) 点,一眼就能看出它一个正类都没找到。这是把分类器放在 ROC 空间看的好处:不管数据有多不均衡,TPR/FPR 都是「列内比值」,不依赖类分布。FawcettROC

这就是常说的「ROC 在不均衡数据下形态不变性」:同一分类器在 1:1 与 1:10 数据下画出的 ROC 曲线形态完全相同,但 precision-recall 曲线会差别巨大。这就是为什么在不均衡场景下,ROC/AUC 比 accuracy 更值得看。

7. 考前速记卡:每章一页「一句话 + 一个易错点 + 一道自测」

第 1 章 · 数据划分

  • 一句话:训练集上训、验证集上调超参、测试集上最终交卷;测试集一旦泄露就再也没法当独立指标。
  • 易错点:测试集不能反复调参。「每次都看一眼测试集」会让模型把关于测试集的知识泄漏进来。
  • 自测:6 个观测、k=3,请列出三轮 Model 1/2/3 的 train/test 划分,并说明 mean/std 各自代表什么。

第 2 章 · K 折交叉验证

  • 一句话:k 折让每个样本都当过一次验证集,k 个 test 集并起来正好覆盖全部样本,结果无偏。
  • 易错点:k 折里的「测试」是验证集,真正的测试集仍在 CV 循环之外。
  • 自测:cross_val_score(clf, X, y, cv=5) 返回 5 个分数,分别 mean() 和 std() 后各自代表什么?

第 3 章 · 分类 vs 回归

  • 一句话:分界在「输出」。输出离散类别是分类,输出连续数值是回归,与输入无关。
  • 易错点:不要把「输入连续/离散」当成分类/回归的分界标准。
  • 自测:California Housing 和 CIFAR-10 分别是回归还是分类任务?target 是什么类型?

第 4 章 · 线性评分函数 + 合页损失

  • 一句话:模型对一张图在 10 个类别上各打一个分数,预测取最大;训练要让正确类分数比其他类分数至少高出 $\Delta$。
  • 易错点:margin 是几何依据,不是只比谁分数高。
  • 自测:用 cat=3.2 / car=5.1 / frog=−1.7、$\Delta=1$,当堂算出 cat 对 car、cat 对 frog、frog 对 cat、frog 对 car 各项 loss。

第 5 章 · 偏差方差 + capacity

  • 一句话:$\mathbb{E}[(\hat f - f)^2] = \text{Bias}^2 + \text{Var} + \sigma^2$;capacity ↑ → bias ↓ 但 variance ↑ → 泛化误差呈 U 形。
  • 易错点:bias 和 variance 是两个独立的错误来源,不能把「过拟合」与「高 variance」画等号而忽略「欠拟合对应高 bias」这一边。
  • 自测:图 5.6 capacity 曲线上 U 形左侧和右侧分别对应什么现象?

第 6 章 · ROC/AUC

  • 一句话:ROC 空间横轴 FPR、纵轴 TPR;对角线 = 随机;左上角 (0,1) = 完美;AUC = 任意正例排在任意负例之前的概率。
  • 易错点:不均衡数据下 accuracy 不可信,但 ROC 形态不变。
  • 自测:用乳腺癌 80/100/20/800 表算 Sen 和 Sp,并在 ROC 空间画出对应点。

参考文献

本专题引用的核心资料如下,建议深入学习时阅读原文:

  1. Stanford CS231n: Linear Classification — https://cs231n.github.io/linear-classify/
  2. Stanford CS229 Lecture Notes 1 (Andrew Ng / Tengyu Ma, 2021 Fall) — https://cs229.stanford.edu/notes2021fall/cs229-notes1.pdf
  3. scikit-learn: Cross-validation: evaluating estimator performance — https://scikit-learn.org/stable/modules/cross_validation.html
  4. scikit-learn: Real world datasets — California Housing — https://scikit-learn.org/stable/datasets/real_world.html#california-housing-dataset
  5. CIFAR-10 and CIFAR-100 datasets (Alex Krizhevsky) — https://www.cs.toronto.edu/~kriz/cifar.html
  6. ImageNet: A Large-Scale Hierarchical Image Database (Deng et al., CVPR 2009) — https://www.image-net.org/static_files/papers/imagenet_cvpr09.pdf
  7. Fawcett, "An introduction to ROC analysis," Pattern Recognition Letters 27(8):861–874, 2006 — https://www.math.ucdavis.edu/~saito/data/roc/fawcett-roc.pdf
  8. Goodfellow, Bengio, Courville — Deep Learning, Chapter 5: Machine Learning Basics — https://www.deeplearningbook.org/contents/ml.html
UCUG 1002 核心概念:从数据切分到评价指标的五大考试必考点