第三部 · 从数据中学习 · 第 10 章 · 已验收

监督学习:分类与预测

从有标签样本到回归值、类别与风险分数,比较线性模型、近邻、朴素贝叶斯、决策树、随机森林、梯度提升与支持向量机,并用可复算混淆矩阵和 IDx-DR 前瞻试验解释阈值、校准与医学验证边界。

导读:模型先给分数,人和流程再作决定

监督学习(supervised learning)从成对的输入与目标答案学习映射。训练样本写作 (xi,yi)(\mathbf{x}_i,y_i):xi\mathbf{x}_i 是第 ii 个对象的特征向量,yiy_i 是按既定规则测得或标注的目标。这里的“监督”是训练数据带目标,不是有人实时看守,也不保证标签真实、公平或适合部署。

监督任务常分为回归(regression)与分类(classification)。回归输出连续数值,如明日用电量;分类在有限类别间判断,如邮件是否为垃圾邮件。二者中间还有概率、风险分数、排序和区间预测。一个模型可能先输出实数分数,再由阈值变成类别;所以“预测了什么”和“最后采取什么行动”必须分开。统计学习教材以最小二乘与近邻为入口,系统比较这些任务与方法。[1, §§2.2–2.5]

本章回答五件事:常见监督算法怎样形成边界;线性模型输出何时可解释;准确率为何会掩盖漏诊;ROC AUC 为何不是一个部署阈值的表现;一项前瞻诊断准确性研究为何仍不等于临床疗效试验。

10.1 回归:预测数值,也要声明预测的是哪种数值

设 p∈N>0p\in\mathbb N_{>0} 个特征组成 x=(x1,…,xp)⊤∈Rp\mathbf{x}=(x_1,\ldots,x_p)^\top\in\mathbb R^p;令 β∈Rp\boldsymbol\beta\in\mathbb R^p、β0∈R\beta_0\in\mathbb R,并假定各项 βjxj\beta_jx_j 与目标 yy 同单位。线性回归(linear regression)写成

y^=β0+∑j=1pβjxj=β0+β⊤x.(10-1)\widehat y=\beta_0+\sum_{j=1}^{p}\beta_jx_j=\beta_0+\boldsymbol\beta^\top\mathbf{x}. \tag{10-1}

β0\beta_0 是截距,βj\beta_j 是在模型其余变量和形式保持不变时,xjx_j 增加一个单位对应的预测变化;若含交互、变换或高度相关特征,这句边际解释还需相应修改。线性指参数以线性方式进入式(10-1),不要求原始特征只能直线出现:把 x2x^2 作为新特征后,对参数仍是线性模型。普通最小二乘选择系数以最小化平方残差和;教材给出矩阵解及满列秩等条件。[1, §3.2]

因此式(10-1)是 Rp→R\mathbb R^p\to\mathbb R 的映射,y^\widehat y 与 yy 同单位;若输入含非有限值或未按训练时的单位编码,公式的使用条件不成立。模型可以外推到训练范围外,但那是公式继续计算,不是数据提供了证据。异常大残差会被平方强烈放大;遗漏变量、测量误差、相关样本和分布变化也不会因求出系数而消失。若目标是条件均值,均方误差常有对应意义;若目标是条件中位数或高分位数,应使用匹配的损失与模型。选择评分应从实际预测对象和后续决策开始,而非默认某个库的分数。[2, §3.4.1]

对 n∈N>0n\in\mathbb N_{>0} 个非空评价样本,要求 yi,y^i∈Ry_i,\widehat y_i\in\mathbb R 为有限且同单位的数,误差 ei=y^i−yie_i=\widehat y_i-y_i 也取该单位。常用指标为

MAE⁡=1n∑i=1n∣ei∣,RMSE⁡=1n∑i=1nei2.(10-2)\operatorname{MAE}=\frac1n\sum_{i=1}^{n}|e_i|,\qquad \operatorname{RMSE}=\sqrt{\frac1n\sum_{i=1}^{n}e_i^2}. \tag{10-2}

MAE与RMSE的定义域是上述非空有限样本,值域为 [0,∞)[0,\infty),并与 yy 同单位;RMSE 对大误差更敏感,且必有 RMSE⁡≥MAE⁡\operatorname{RMSE}\ge\operatorname{MAE}。R2=1−∑iei2/∑i(yi−yˉ)2R^2=1-\sum_i e_i^2/\sum_i(y_i-\bar y)^2 沿用同一非空、有限、同单位样本条件,并只在分母大于零时定义;它无量纲,值域为 (−∞,1](-\infty,1]。测试集上可为负,表示还不如用该测试集均值作平方误差基线。若所有 yiy_i 相同,原始 R2R^2 分母为零,应报“未定义”,不能擅自写成0或1。MAE、RMSE与 R2R^2 衡量不同对象,不能靠单位不同的数值大小挑模型。[2, §§3.4.6.2, 3.4.6.5, 3.4.6.10]

10.2 分类:标签、分数、阈值是三层对象

二分类先约定 Y∈{0,1}Y\in\{0,1\},正类 Y=1Y=1、负类 Y=0Y=0。“正”不表示好,只表示本次重点检测的事件。模型可输出实数分数 s:X→Rs:\mathcal X\to\mathbb R;选择与分数同单位的阈值 t∈Rt\in\mathbb R 后,规则为 s(x)≥ts(\mathbf{x})\ge t 判正,否则判负。阈值降低通常增加检出,也增加误报;具体方向要求分数越大越偏向正类。

逻辑回归(logistic regression)令 x,β∈Rp\mathbf{x},\boldsymbol\beta\in\mathbb R^p、β0∈R\beta_0\in\mathbb R,且编码与系数的单位使线性预测量 z=β0+β⊤x∈Rz=\beta_0+\boldsymbol\beta^\top\mathbf{x}\in\mathbb R 无量纲;sigmoid σ:R→(0,1)\sigma:\mathbb R\to(0,1) 把有限 zz 映到开区间:

q(x)=σ(z)=11+e−z,log⁡q(x)1−q(x)=z.(10-3)q(\mathbf{x})=\sigma(z)=\frac{1}{1+e^{-z}},\qquad \log\frac{q(\mathbf{x})}{1-q(\mathbf{x})}=z. \tag{10-3}

这里 q:Rp→(0,1)q:\mathbb R^p\to(0,1) 无量纲;有限 zz 不会给出恰好0或1。当模型假设、抽样、训练目标和部署分布足以支持时,qq 可作为 P(Y=1∣X=x)P(Y=1\mid\mathbf X=\mathbf x) 的估计。仅因数值在0与1之间,不能无条件称为“真实概率”。 正则化、类别重采样、标签误差、模型错设或分布漂移都可能破坏概率解释,需要另行检查校准。当其他项不变且 xjx_j 增加一个已声明的编码单位(Δxj=1\Delta x_j=1)时,对数优势增加 βjΔxj\beta_j\Delta x_j,优势比为 eβjΔxje^{\beta_j\Delta x_j},数值上即 eβje^{\beta_j};它不是风险概率直接增加 βj\beta_j,也不是因果效应。逻辑回归的似然与线性判别边界见教材。[1, §4.4]

多分类可直接估计多个类别分数,也可把问题拆成“一类对其余类”或两两分类。多标签任务则允许一个样本同时有多个标签,例如一张图同时含“道路”和“行人”;它不是多分类的另一种写法。任何 precision、recall 或 AUC 扩展到多类时,都必须说明逐类结果以及 macro、weighted 或 micro 汇总方式,因为三种平均给稀有类别的权重不同。[2, §§3.4.4–3.4.4.1]

10.3 七类经典算法:没有脱离表示与尺度的冠军

下表概括本章要求掌握的经典监督算法;分类、回归与这些方法的系统比较可就近参见统计学习教材。[1, §§2.2–2.5, 4.4, 6.3, 9.2, 10.1–10.12, 12.1–12.3, 15.1–15.3] 神经网络留到第12章。这里不列“冠军榜”:同一种算法也会因特征表示、损失、超参数、切分与数据分布而改变表现。

表 10-1 经典监督算法的工作方式与边界。 “能做什么”均以训练和使用分布匹配、预处理正确为条件。
方法怎样工作主要优点主要边界
线性/逻辑回归用特征加权和形成数值或对数优势快速、可正则化、系数结构清楚原始边界受特征表示限制;系数不是自动因果解释
k近邻按距离找 k 个近邻,回归取平均、分类投票局部、训练阶段简单尺度决定距离;高维距离失去区分;预测和存储成本高
朴素贝叶斯用贝叶斯规则结合类先验与“给定类别后特征条件独立”假设快速,稀疏文本中常是强基线独立假设通常不真;概率值可能失准,零频需平滑
决策树递归选择特征与切点,把空间分成叶节点能表达非线性与交互,路径易展示贪心树不保证全局最优;小数据变化可改整棵树;深树易过拟合
随机森林对重采样数据建多棵树,并在各节点随机抽特征,最后平均/投票降低单树方差,少量调节即可成为强基线不自动校准;整体不如单树易解释;外推回归能力有限
梯度提升先给初始预测,再按损失的纠错方向逐轮加入弱学习器能把浅树组合成灵活的非线性加法模型顺序训练;学习率、轮数、树深与损失需验证;分数不自动校准
支持向量机以间隔和铰链损失建立边界;核函数可隐式比较高维表示高维中有效,正则化边界明确尺度和核参数敏感;原始输出是决策值而非概率;大样本训练可能昂贵

k近邻:邻居是谁由距离决定

k近邻(k-nearest neighbors,k-NN)对新点找到训练集中距离最近的 kk 个点。分类以多数票或距离加权票决定,回归取邻居目标平均。k=1k=1 能形成极灵活边界,也对噪声敏感;kk 大则更平滑,可能抹掉局部结构。收入以元、年龄以年直接放在欧氏距离里,收入列可能仅因数值尺度大而支配结果,所以缩放必须只从训练数据拟合。维度升高时,邻域要覆盖足够样本往往不得不变大,这就是高维局部方法的困难。[1, §§2.3.2, 2.5]

朴素贝叶斯:有用的假设,不是“特征真的互不相关”

朴素贝叶斯(naive Bayes)令 fj(xj∣Y=c)f_j(x_j\mid Y=c) 在离散特征时表示概率质量函数、在连续特征时表示相对于已声明测度的概率密度,按

P(Y=c∣x)∝P(Y=c)∏j=1pfj(xj∣Y=c)(10-4)P(Y=c\mid\mathbf x)\propto P(Y=c)\prod_{j=1}^{p}f_j(x_j\mid Y=c) \tag{10-4}

给类别计分。比例号表示还需对所有类别归一化;伯努利和高斯版本分别使用不同的质量函数或密度假设,连续变量不能把点事件 P(Xj=xj)P(X_j=x_j) 当作非零质量。式(10-4)的乘积来自“给定类别后各特征条件独立”,现实文本词项或医学测量常不满足,但分类边界仍可能有用。没见过的词会给零概率,常用平滑处理;平滑强度由开发流程选择。其输出即使归一化到1,也不能跳过校准检查。[1, §6.6.3]

决策树与随机森林:可读路径不等于稳定解释

决策树(decision tree)反复用“年龄是否小于45”“指标是否高于7.2”这样的切分减少节点不纯度或平方误差,再在叶节点输出类别比例或均值。树为何出现:它自然表达阈值、交互和不规则区域。能做什么:同时处理非线性和变量交互。不能做什么:一次贪心切分不保证全局最佳,叶内训练比例也不自动成为可靠概率。应以验证选择深度、最小叶样本等,并报告缺失值与类别编码策略。[1, §9.2]

随机森林(random forest)在bootstrap重采样数据上建多棵深树,各节点又随机限制候选特征,最后平均回归值或聚合分类输出。随机抽特征降低强特征导致的树间相关,集成平均通常降低单树的高方差;但“森林”不是每棵树解释的简单相加,特征重要性还会受相关特征、取值数和所选算法影响。教材明确从bagging、随机特征选择与树间相关解释其机制。[1, §§15.1–15.3]

Boosting与梯度提升:后一轮专门修正前一轮留下的错

提升法与梯度提升(boosting; gradient boosting)不是某一个软件名,而是一族按顺序组合弱学习器的集成思路。所谓弱学习器,是单独使用时能力有限的模型,例如只有少数层的树。它为何出现:一棵浅树往往漏掉复杂结构;与其直接造一棵很深、很不稳定的树,boosting让许多简单模型分工纠错,最后把它们的输出加起来。

它怎样逐轮工作?先给所有样本一个初始预测;第一棵小树找当前最明显的错误,随后每一轮都根据此前整个集成还错在哪里训练一个新模型,并把一小部分修正加入总预测。不同boosting方法对“错在哪里”的定义不同:AdaBoost等方法会调整样本权重;gradient boosting(梯度提升)则先选对当前预测可微的损失,把各样本处的负导数当作这一轮的纠错目标,再让新学习器去近似它。在通常的欧氏内积下,非零的精确负梯度是最陡局部下降方向;但弱学习器只有近似能力:把它的修正向量与负梯度逐项相乘再求和,这个欧氏内积必须大于零,而不是只看统计“相关系数”。在损失于当前预测可微且采用足够小的正学习率时,这一条件才给出当前经验损失的局部下降方向;不能把“近似”写成无条件保证。学习率控制每轮走多大一步,轮数控制走多少步;二者与树深等容量参数须在训练集之外的验证流程中共同选择。教材从前向逐步加法模型与损失优化推导这套机制。[1, §§10.1–10.12]

梯度提升可随所选损失用于回归、分类或排序;以树为弱学习器时,常称gradient-boosted decision trees、GBDT或GBM。它能表达非线性和特征交互,但不能修复错误标签、数据泄漏或部署漂移,也不能把相关预测变成因果效应。训练损失继续下降不代表测试表现继续变好;过多轮次、过深的树或过激学习率仍会过拟合。分类输出即便落在0到1之间,也必须另查目标人群校准,不能自动叫“真实概率”。

XGBoost是Chen与Guestrin提出并工程化的一种树提升系统与具体实现:它在正则化目标中使用一阶、二阶信息,并加入收缩、列抽样、稀疏感知切分及并行/外存等设计。[3, §§2–4] 因而关系应读作“XGBoost实现了梯度树提升的一条具体路线”;不能反过来把boosting、gradient boosting和XGBoost三个名称互换。它也不保证胜过所有随机森林或其他梯度提升实现,优劣仍取决于数据、调参预算、指标与外部验证。

支持向量机:最大间隔不是最大准确率

二分类支持向量机(support vector machine,SVM)对 n∈N>0n\in\mathbb N_{>0} 个样本令 xi,w∈Rp\mathbf x_i,\mathbf w\in\mathbb R^p、yi∈{−1,+1}y_i\in\{-1,+1\}、b∈Rb\in\mathbb R。这里 xi\mathbf x_i 必须先映射到固定的无量纲数值坐标(其缩放/度量属于模型定义),使 w⊤xi+b\mathbf w^\top\mathbf x_i+b 与欧氏范数各项量纲相容;典型软间隔线性目标为

min⁡w,b 12∥w∥22+C∑i=1nmax⁡ ⁣(0,1−yi(w⊤xi+b)),C>0.(10-5)\min_{\mathbf w,b}\ \frac12\lVert\mathbf w\rVert_2^2+C\sum_{i=1}^{n}\max\!\left(0,1-y_i(\mathbf w^\top\mathbf x_i+b)\right),\quad C>0. \tag{10-5}

目标函数值域为 [0,∞)[0,\infty);C>0C>0 的量纲须与所采用的求和/平均及正则项约定相容。第一项在 w≠0\mathbf w\ne\mathbf0 时偏好较大几何间隔,第二项是铰链损失,惩罚落入间隔或分错的点;CC 在两者间取舍,其数值也依赖损失求和/平均约定,不能跨实现裸比。非退化决策边界是 w⊤x+b=0\mathbf w^\top\mathbf x+b=0;单类样本、完全重合类别等情形可能使最优解 w=0\mathbf w=\mathbf0,此时通常的有限几何间隔和分隔超平面解释不成立,须报告退化而不能照搬边界直觉。核SVM用核函数计算隐式特征空间内积,可形成非线性边界,但核与参数必须在开发数据选择。支持向量主要决定边界;原始决策值不是概率,若业务需要概率,须用与最终模型选择隔离的数据拟合校准映射。[1, §§12.1–12.3]

二维虚构特征空间由斜向虚线边界分为预测阴性和预测阳性区域,边界周围是小间隔带;一个参考阳性圆点位于阴性侧形成假阴性,一个参考阴性三角位于阳性侧形成假阳性。

窄屏提示:图可横向滚动;形状和文字与颜色共同区分类别和错误。

图 10-1 边界划分预测区域,不是真实类别的天然分界。 浅色带只表示本线性分数下绝对决策值较小的“小间隔”区域,不等同于经校准的低置信概率。坐标、样本与边界均为原创虚构教学构造,不对应下文100人案例、任何患者或设备。本项目原创,CC BY 4.0。

10.4 一张可复算混淆矩阵:89%准确率里有什么

下面100人的筛查小表完全是原创教学构造,不对应疾病、设备或人群。真实正类20人、负类80人;模型判出17名真正类(TP)、漏掉3名正类(FN),把8名负类误判为正(FP),正确排除72名负类(TN)。

表 10-2 固定阈值下的原创教学混淆矩阵(人数)。
真实状态预测正预测负合计
真实正TP = 17FN = 320
真实负FP = 8TN = 7280
合计2575100

混淆矩阵(confusion matrix)必须同时声明哪一类为正、行列方向、评价单位和阈值;有的资料把行列互换。scikit-learn约定行为真实类、列为预测类。[2, §3.4.4.6] 对二分类,定义

accuracy⁡=TP+TNTP+TN+FP+FN,precision⁡=TPTP+FP,recall⁡=sensitivity⁡=TPR⁡=TPTP+FN,specificity⁡=TNR⁡=TNTN+FP,FPR⁡=FPFP+TN=1−specificity⁡,F1=2TP2TP+FP+FN.(10-6)\begin{aligned} \operatorname{accuracy}&=\frac{TP+TN}{TP+TN+FP+FN},\\ \operatorname{precision}&=\frac{TP}{TP+FP},\\ \operatorname{recall}=\operatorname{sensitivity}=\operatorname{TPR}&=\frac{TP}{TP+FN},\\ \operatorname{specificity}=\operatorname{TNR}&=\frac{TN}{TN+FP},\\ \operatorname{FPR}&=\frac{FP}{FP+TN}=1-\operatorname{specificity},\\ F_1&=\frac{2TP}{2TP+FP+FN}. \end{aligned}\tag{10-6}

式(10-6)要求 TP,TN,FP,FN∈Z≥0TP,TN,FP,FN\in\mathbb Z_{\ge0},并只在各自分母大于0时定义;每个已定义比率均无量纲且值域为 [0,1][0,1]。这些计数须来自同一正类定义、阈值与评价单位。

本例 accuracy =89/100=0.89=89/100=0.89,precision =17/25=0.68=17/25=0.68,recall =17/20=0.85=17/20=0.85,specificity =72/80=0.90=72/80=0.90,FPR =8/80=0.10=8/80=0.10,F1=34/45≈0.756F_1=34/45\approx0.756。precision的分母是被判正者,recall的分母是真实正者;“查准率/查全率”不能只凭中文“准确”互换。[2, §§3.4.4.9, 3.4.4.13, 3.4.4.15–3.4.4.16]

本章对零分母采用透明策略:若总样本数为0,则accuracy未定义;若 TP+FP=0TP+FP=0,precision未定义;若 TP+FN=0TP+FN=0,recall/sensitivity未定义;若 TN+FP=0TN+FP=0,specificity与FPR未定义;若 2TP+FP+FN=02TP+FP+FN=0,F1F_1未定义。报告“未定义(分母为0)”并给原始计数,不默认补0。软件可提供 zero_division 等约定,但必须显式记录;宏平均也不得悄悄让无定义类别消失。

准确率89%并不回答3次漏检是否可接受。若只把所有人判负,准确率仍有80%,但recall为0。另一方面,永远判正可令recall为1,却造成80次误报。指标没有把漏诊、复查负担、延迟、资源与不同人群后果自动折算为同一价值。F1F_1只调和precision和recall,完全不含TN,也不是道德或临床效用函数。

另一组60行数据:用同一分数移动阈值

图10-2使用的是另一组60行原创虚构记录(27个参考阳性、33个参考阴性),不是表10-2的100人案例,也不能与其计数拼接。每行含虚构编号、教学组别、0至100的整数分数和参考标签;规则固定为“分数 ≥t\ge t 判正”。阈值40、55、70的计数均由脚本从这60行逐行复算。可下载60行CSV、复算结果JSON与生成/校验脚本;运行 python3 ch10-generate-case.py --check --output-dir . 可只读核对同目录文件。

60条虚构记录的阈值权衡:阈值由40升到70时灵敏度由100%降到70.4%,特异度由69.7%升到100%;阈值40的矩阵为真阳性27、假阳性10、假阴性0、真阴性23,阈值70为真阳性19、假阳性0、假阴性8、真阴性33。

窄屏提示:先看左侧曲线,再横向滚动到右侧矩阵;矩阵同时用文字和底色编码。

图 10-2 60行虚构数据上的阈值权衡。 右侧两张矩阵的列是真实/参考类别,行是预测类别,方向与表10-2(行真实、列预测)相反,读数前必须先看表头。图、CSV、JSON与脚本均为原创教学材料;它们不同于100人案例,不表示临床人群或最佳阈值。本项目原创,CC BY 4.0。

10.5 阈值、ROC AUC与校准:三件不同的事

ROC曲线与AUC(receiver operating characteristic curve; area under the curve)要求评价集中至少各有一个正类和负类,并对分数 s∈Rs\in\mathbb R 扫描阈值:横轴FPR、纵轴TPR,二者在分母非零时属于 [0,1][0,1]。把阈值取到高于全部有限分数与不高于全部分数,可分别补入端点 (0,0)(0,0) 与 (1,1)(1,1)。对连续分数,ROC AUC属于 [0,1][0,1];在随机抽一名正类和一名负类的条件下,可解释为正类分数高于负类分数的概率,加上并列时的一半。AUC衡量跨阈值排序,不等于某一阈值的accuracy、precision、sensitivity或specificity;它也不告诉我们部署人群的正类比例和每类错误代价。只报告AUC,无法复原将采用哪个工作点。[2, §3.4.4.17]

precision–recall(PR)曲线以recall为横轴、precision为纵轴;二者只在式(10-6)的相应分母非零时定义。把阈值从高到低扫过有限分数时,曲线通常以阶梯点表示;“一个预测正类也没有”的端点其precision原本未定义,绘图库常为画图约定补成precision=1、recall=0,必须与经验指标定义区分。average precision(AP)是按recall增量对各阈值precision作加权的阶梯汇总:把相同分数成组处理,按阈值降低使 0=R0≤R1≤⋯≤RK=10=R_0\le R_1\le\cdots\le R_K=1,令 Pk∈[0,1]P_k\in[0,1] 为该组阈值处precision,则 AP⁡=∑k=1K(Rk−Rk−1)Pk∈[0,1]\operatorname{AP}=\sum_{k=1}^{K}(R_k-R_{k-1})P_k\in[0,1],且无量纲。它不是对插值PR曲线任意算法所得面积,只在至少有一个真实正类及明确的并列/阈值约定时定义。PR曲线与AP会随评价集正类比例改变,跨数据集比较时必须同时报告基率;这不是说“基率改变必然让每一个固定样本的曲线按同一方向移动”。[2, §§3.4.4.18–3.4.4.19]

当正类罕见时,小FPR乘以大量负类仍会产生许多FP,precision会随目标人群正类比例显著改变。若 π=P(Y=1)∈[0,1]\pi=P(Y=1)\in[0,1],且 sensitivity⁡,specificity⁡∈[0,1]\operatorname{sensitivity},\operatorname{specificity}\in[0,1] 可迁移,则

PPV⁡=sensitivity⁡ πsensitivity⁡ π+(1−specificity⁡)(1−π).(10-7)\operatorname{PPV}=\frac{\operatorname{sensitivity}\,\pi}{\operatorname{sensitivity}\,\pi+(1-\operatorname{specificity})(1-\pi)}. \tag{10-7}

PPV无量纲、值域为 [0,1][0,1],但只在分母大于0时定义;式(10-7)展示同一灵敏度/特异度在不同基率下可有不同阳性预测值,不保证这些性能真的跨场景稳定。阈值应在验证流程中依据后果和容量预先选择,不能在最终测试集上挑到最好看再把同一分数当独立评价。

概率校准(probability calibration)令 Y∈{0,1}Y\in\{0,1\}、预测随机变量 Q∈[0,1]Q\in[0,1]。总体校准的形式条件是 E[Y∣Q]=Q\mathbb E[Y\mid Q]=Q 几乎处处(a.s.);它是关于联合分布的陈述,不等于有限样本中每个不同分值都恰有相同比例。实践中的可靠性图只能在预先说明的有限分箱 BkB_k 内比较 1∣Bk∣∑i∈Bkqi\frac1{|B_k|}\sum_{i\in B_k}q_i 与 1∣Bk∣∑i∈Bkyi\frac1{|B_k|}\sum_{i\in B_k}y_i;空箱没有经验频率,应留空而非补0。

对 n∈N>0n\in\mathbb N_{>0}、qi∈[0,1]q_i\in[0,1]、yi∈{0,1}y_i\in\{0,1\},Brier score定义为

Brier⁡=1n∑i=1n(qi−yi)2∈[0,1].(10-8)\operatorname{Brier}=\frac1n\sum_{i=1}^n(q_i-y_i)^2\in[0,1]. \tag{10-8}

它无量纲,只对非空样本定义,既受校准也受样本可分性影响,不能只凭它诊断是哪一部分出了问题。排序与校准不同:对分数施加严格递增变换可保持排序和ROC AUC(并列结构也保持),却会改变概率数值;仅说“单调”会错误地把产生新并列的非严格变换也包括进来。[2, §3.4.4.28] 校准器必须在未用于拟合基础模型的数据上训练,且部署漂移后需复核。[4, §1.16, especially §1.16.1]

10.6 现实案例:IDx-DR测的是诊断准确性,不是治疗效果

2018年4月11日,美国FDA通过De Novo路径授权IDx-DR上市。获准用途是由医疗服务提供者,对22岁及以上、已诊断糖尿病且此前未诊断糖尿病视网膜病变者自动检测“超过轻度糖尿病视网膜病变”(more than mild DR,mtmDR),并与指定Topcon NW400眼底相机配合。FDA警告明确写明:系统只设计用于检测糖尿病视网膜病变,不筛查青光眼等伴随疾病,不治疗视网膜病变;阳性要转诊,无结果要重测或转诊。FDA De Novo Summary对“未检测到可转诊疾病”者写的是未来适当时间再次检测,没有在该摘要中规定精确月份;这不是结合个体症状、病史或后来指南作出的个体医疗建议。[5, pp. 1–2, “Indications for Use”, “Warnings”, “Device Description”]

谁被纳入、答案怎样确定

对应的同行评议关键试验于2017年1月至7月在美国10个基层医疗点前瞻纳入900名受试者。目标人群为至少22岁、无症状、已诊断糖尿病且此前未诊断DR者;持续视力丧失、视物模糊或飞蚊等是排除条件的一部分。现场操作员此前没有眼部成像经验,接受一次4小时标准化培训。系统在试验开始前锁定;研究由IDx LLC资助,第一作者是公司股东、董事和雇员,另有作者持股或收取统计咨询费。[6, Methods §§Study design, Study population, Site initiation; Table 3; Competing interests]

每人每眼拍一张视盘中心和一张黄斑中心的45°彩色眼底图。系统先检查图像质量;不足则重拍,必要时散瞳,最终输出“检测到mtmDR”“未检测到mtmDR”或“图像质量不足”。参考标准不是一名普通门诊医生的主观判断:认证摄影师用另一套相机拍散瞳四视野立体照片,Wisconsin Fundus Photograph Reading Center的三名验证阅片者按ETDRS分级多数表决;另采集黄斑OCT。预设主要有效性分析的fundus mtmDR定义为眼底照片判定ETDRS等级至少35,和/或立体眼底照片判定临床显著黄斑水肿(CSDME);multimodal mtmDR才在此基础上再加入OCT判定的中心受累糖尿病黄斑水肿。不能漏掉fundus CSDME,也不能把OCT条件倒灌进主要fundus终点。比较单位是患者,取双眼较严重结果。阅片者与现场人员对系统输出保持盲法。[6, Methods §§Study protocol, Reference standards, Primary and secondary outcomes]

分母、阈值和结果

900人中892人完成全部程序;40人没有可用的参考中心分级,另33人均因系统判定图像质量不足而没有疾病级输出,最终819人同时有可比较结果。这里不是随机的患者级训练—测试切分;它是锁定系统在10个基层医疗点的前瞻诊断准确性研究,但不宜称作“独立外部验证”:申办方IDx LLC资助研究并参与设计、系统与研究实施,第一作者及部分作者与公司存在任职、持股或咨询关系。与此同时,研究由CRO承担项目/数据管理与独立监查审计,由Algorithm Integrity Provider锁定并托管系统和输出;申办方在研究开始至数据库锁定间不得访问中间/最终输出,参考中心、现场人员和统计流程设置盲法。这些措施降低部分操作偏倚风险,却不消除资助与利益关系,也不使研究变成申办方独立验证。训练数据未在论文中作为本试验样本重新划分。819名可分析者中,fundus mtmDR参考标准阳性198名、阴性621名;分别观察到阳性中的173名系统阳性(173/198173/198,25名阴性)与阴性中的556名系统阴性(556/621556/621,65名阳性)。由计数直接算得sensitivity 87.4%与specificity 89.5%。论文的主要sensitivity点估计87.2%(95% CI 81.8%—91.2%)采用Firth偏差修正,但没有加入baseline covariates;主要specificity 90.7%(88.3%—92.7%)则按预设方法以HbA1c富集状态为baseline covariate作投影校正。FDA De Novo Summary第6页把同一87.2%称为“corrected for enrichment”,与论文方法段的术语并不一致;这里按论文区分“Firth修正”和“富集协变量校正”,同时保留该来源差异,不能把模型估计与观察比例混写。[6, Results §§Study population, AI system characteristics; Fig. 1; Table 2; Methods §Statistical analysis; Competing interests]

设备用于判定阳性/阴性的工作阈值在系统锁定前预设,但论文和FDA摘要没有披露其数值,不能从87.2%等性能数反推阈值。统计检验另有明确界线:sensitivity的原假设界为75%、specificity的原假设界为77.5%,计划alternative分别为85%与82.5%;成功要求两个原假设都被拒绝。论文还报告图像可分析率为 819/852=96.1%819/852=96.1\%(95% CI 94.6%—97.3%)。33个图像质量不足者中10人参考标准阳性;因此“不给疾病结果”不是随便丢弃的技术噪声,而是有独立工作流和风险的第三种输出。[6, Abstract; Results §AI system characteristics; Fig. 1; Table 2; Methods §§Primary and secondary outcomes, Statistical analysis]

漏诊、误报和不能推出的结论

以819人观察计数说,25名参考阳性者被系统判为未检测到,是FN;65名参考阴性者被判为检测到,是FP。漏诊可能延迟眼科评估,误报则增加转诊和焦虑,但试验没有把这些后果化成统一效用,也没有随机比较“使用系统”与“常规流程”的视力结局。论文还明确说研究未设计或赋能去评价青光眼、黄斑变性等其他视网膜异常的诊断准确性。[6, Discussion]

因此,这项研究支持的是:在所纳入人群、设备、培训、协议、参考标准和预设阈值下,锁定系统达到特定诊断准确性与出结果率。它不证明系统治愈DR、减少失明、在任意相机或国家保持同样性能,也不把未获疾病级输出者自动算作阴性。更不应把“FDA准许上市”写成“FDA证明临床疗效”。监管授权、诊断准确性、临床流程采用和患者结局是四层不同证据。

10.7 从实验分数到行动:一份最小报告单

  1. 目标与单位:标签如何测得,正类是谁,按图像、眼睛、患者还是就诊计数?
  2. 切分与外推:同一患者或机构是否跨集合?是内部留出、时间外推,还是独立地点前瞻验证?
  3. 输出层级:模型给连续值、类别分数、概率、类别,还是“无法判断”?
  4. 阈值来源:阈值何时冻结,依据什么后果、容量或监管目标选择?
  5. 完整计数:TP、FP、FN、TN与无结果各多少;所有指标分母是什么?
  6. 多指标:回归至少给误差单位与分布;分类同时给灵敏度、特异度、precision及置信区间,而非只给准确率或AUC。
  7. 概率边界:若称“概率”,在独立数据和目标人群检查过校准吗?
  8. 行动边界:误报、漏报和无结果分别进入什么复核、转诊、申诉或停用流程?

核心概念

本章小结

  • 监督学习连接输入与已有目标;目标的定义、测量和抽样先于算法。
  • 线性模型、局部方法、生成式分类器、并行平均/逐轮纠错树集成与最大间隔方法表达不同偏好;预处理和超参数属于模型的一部分。
  • 类别分数、概率、阈值与行动是四层对象。0到1的输出并不自动是真实概率。
  • accuracy、precision、recall、specificity、FPR、F1F_1与AUC回答不同问题;任何比例都必须带分母、阈值、评价单位和不确定性。
  • IDx-DR试验是锁定系统在基层医疗点的前瞻诊断准确性验证;它不是治疗试验,也不能支持超出获准人群、设备和工作流的结论。

相关词条与继续阅读

监督学习 · 线性回归 · 逻辑回归 · k近邻 · 朴素贝叶斯 · 决策树 · 随机森林 · 梯度提升与XGBoost · 支持向量机 · 混淆矩阵 · precision/recall · ROC AUC · 概率校准

上一章:机器学习的基本逻辑。下一章:无监督、自监督与表示学习。

资料与案例说明 本章资料核查至 2026-08-27。图10-1、表10-2,以及图10-2所用60行CSV、JSON和脚本均为彼此明确说明关系的原创教学构造;IDx-DR数字仅复述指定试验与FDA文件,不构成医疗建议。症状、筛查周期、转诊或治疗应由合格医疗专业人员按当前指南与个体情况决定。

本页参考来源

  1. Hastie T, Tibshirani R, Friedman J. The Elements of Statistical Learning — Data Mining, Inference, and Prediction [M]. Springer, 2009. Second edition, corrected 12th printing 2017. 定位:§§2.2–2.5, 3.2, 4.4, 6.3, 6.6.3, 9.2, 10.1–10.12, 15.1–15.3, 12.1–12.3. DOI;稳定来源(访问 )。
  2. scikit-learn developers. Metrics and scoring — quantifying the quality of predictions [EB/OL]. scikit-learn, 2026. 1.9.0. 定位:§§3.4.1, 3.4.4.1–3.4.4.4, 3.4.4.6, 3.4.4.9, 3.4.4.13, 3.4.4.15, 3.4.4.16, 3.4.4.17, 3.4.4.28; §§3.4.6.2, 3.4.6.5, 3.4.6.10. 稳定来源(访问 )。
  3. Chen T, Guestrin C. XGBoost: A Scalable Tree Boosting System [C]. Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 2016. 定位:§§2–4. DOI;稳定来源(访问 )。
  4. scikit-learn developers. Probability calibration [EB/OL]. scikit-learn, 2026. 1.9.0. 定位:§1.16, especially §1.16.1. 稳定来源(访问 )。
  5. U.S. Food and Drug Administration. De Novo Classification Request for IDx-DR — De Novo Summary [R]. U.S. Food and Drug Administration, 2018-04-11. DEN180001. 定位:pp. 1–2 “Indications for Use”, “Limitations”, “Warnings”, “Device Description”; pp. 5–7 “Summary of Clinical Information”. 稳定来源(访问 )。
  6. Abràmoff M D, Lavin P T, Birch M, Shah N, Folk J C. Pivotal trial of an autonomous AI-based diagnostic system for detection of diabetic retinopathy in primary care offices [J]. npj Digital Medicine, 1, Article 39. npj Digital Medicine, 2018-08-28. 定位:Abstract; Results §§Study population, AI system characteristics; Fig. 1; Tables 1–2; Discussion; Methods §§Study design, Study population, Study protocol, Reference standards, Primary and secondary outcomes, Statistical analysis; Competing interests. DOI;稳定来源(访问 )。