形式陈述
某种产品的缺陷比例升高,但“合格品通常长什么样、缺陷品通常长什么样”保持不变。此时改变的是标签先验,适合考虑标签漂移 。设源分布为 P S ,目标为 P T ,标签 Y ∈ { 0 , 1 } ,其先验分别为 π S , π T 。假定存在共同的类内输入分布 理路 条件分布 Conditional distribution · Regular conditional distribution 给定观测值后随机量的概率律,以及它与原联合分布相容的核表示。 K j ,使
P S ( d x , Y = j ) = π S j K j ( d x ) , P T ( d x , Y = j ) = π T j K j ( d x ) . 目标中会出现的类别必须在源中有正概率;下面估计两个类别的条件量时,要求 π S 0 , π S 1 > 0 。这与协变量漂移 理路 协变量漂移 Covariate shift · 协变量偏移 · Covariate-shift adaptation 输入人群的组成改变而给定输入的标签机制不变时,以输入密度比把源分布损失转换为目标风险。 保留 P ( Y ∣ X ) 的假设方向不同,二者互不自动包含。
先在独立资料上训练并冻结一个预测器 f : X → { 0 , 1 } 。定义列条件化 的混淆矩阵与目标预测比例:
C i j = P S ( f ( X ) = i ∣ Y = j ) , q i = P T ( f ( X ) = i ) . 行是预测类别,列是真实类别,每列和为一。f 冻结且 K j 不变,所以 P T ( f ( X ) = i ∣ Y = j ) = C i j 。按全概率公式 理路 全概率公式 Law of total probability 沿有限或可数可测划分分解事件,并按各分块概率加权合并。 ,
(1) q = C π T . 因此可逆时能用逆矩阵求解及其稳定性 理路 线性方程组的条件数与扰动 Conditioning of linear systems · Matrix condition number 把一般问题条件性具体化为可逆线性系统的右端、系数矩阵与联合扰动界。 恢复 π T = C − 1 q 。实践中在独立源有标签集估计 C ,在目标无标签集估计 q ;不能用训练内预测率代替样本外混淆矩阵。算法输出先验估计、每类源样本量、矩阵条件诊断和方程残差,而非仅输出一个被强行截成概率的向量。
若采用联合矩阵 M i j = P S ( f ( X ) = i , Y = j ) ,则 M = C diag ( π S ) ,方程变为 q = M w ,其中 w j = π T j / π S j 。C − 1 q 得到先验,M − 1 q 得到先验比;二者不能混用。[1, §4]
直觉
每个真实类别提供一列固定的“预测指纹”。目标预测比例是这些列按未知先验混合的结果。如果两类指纹不同,混合比例可能由结果反推;如果完全相同,观察再多预测也看不出哪一类更多。
预测器不必很准确或已做概率校准 理路 概率校准与可靠度 Probability calibration · Reliability diagram 用条件正例率等于报告概率定义概率校准,计算可靠度与分箱误差,并区分校准、边际均值、分类一致性和分辨力。 。一个总把两类颠倒的预测器,混淆矩阵反而可逆;一个总报多数类、准确率很高的预测器却可能丢掉全部先验信息。这里要的是不同类别能否产生可区分的输出分布。
例子与边界
从两张计数表恢复先验与风险
在独立源验证集中,真实零类100个,预测为零80个、为一20个;真实一类100个,预测为零10个、为一90个。目标100个无标签输入中,31个预测为零、69个为一。暂把相应频率当作准确总体量,得到
C = ( 4 / 5 1 / 10 1 / 5 9 / 10 ) , q = ( 31 / 100 69 / 100 ) . 令 p = π T 1 。第一行给 0.31 = 0.8 ( 1 − p ) + 0.1 p ,故 p = 0.7 ,目标先验为 ( 0.3 , 0.7 ) 。第二行复核 0.2 ⋅ 0.3 + 0.9 ⋅ 0.7 = 0.69 。源先验为 ( 0.5 , 0.5 ) 时,标签权重是 ( 0.6 , 1.4 ) 。
采用0–1损失 理路 损失函数与总体风险 Loss function · Population risk · Expected risk 损失刻画一次决策的代价,总体风险是未知分布下的平均代价。 ,f 在零类的错误率为0.2,一类为0.1,所以源风险是0.15,目标风险是
R T ( f ) = 0.3 ⋅ 0.2 + 0.7 ⋅ 0.1 = 0.13 . 若假阴性的成本是5、假阳性为1,则同一个分类器的目标成本改为 0.3 ⋅ 0.2 + 5 ⋅ 0.7 ⋅ 0.1 = 0.41 。恢复先验后仍要说明评价哪一种损失。
病态:可逆却把小误差放大
一般二分类矩阵可写成
(2) C = ( a b 1 − a 1 − b ) , p = a − q 0 a − b . det C = a − b 。取 a = 0.51 , b = 0.49 ,真实 p = 0.7 对应 q 0 = 0.496 。若只将目标比例误估为0.498,恢复值就变成0.6;目标频率误差0.002被放大为先验误差0.1。再取 q ^ 0 = 0.48 ,解会变为1.5,已离开概率单纯形。
精确矩阵下,| p ^ − p | = | q ^ 0 − q 0 | / | a − b | 。矩阵也要估计时,令 C ^ π ^ = q ^ ,直接相减得到
(3) π ^ − π T = C ^ − 1 { ( q ^ − q ) − ( C ^ − C ) π T } . 只要 C ^ 可逆,这就是精确等式;任意相容范数再给误差上界。增加目标无标签量只能缩小第一项,源混淆矩阵的误差仍在。有限样本的负分量可能来自采样波动、病态或模型错设,不能只凭一次越界便宣布标签漂移假设为假。
奇异:预测摘要不识别与完整数据不识别
若 a = b = 1 / 2 ,两列相同。无论目标先验是 ( 0.9 , 0.1 ) 还是 ( 0.1 , 0.9 ) ,都有 q = ( 0.5 , 0.5 ) 。给这个方程使用伪逆,可以挑出一个解,却没有增加识别信息。
还需分清两层结论。若 X 本来能区分类别,只是 f 把信息丢掉,换更有信息的分数或分箱有机会改善矩阵。若进一步令 K 0 = K 1 ,完整目标输入分布也与先验无关:两个世界有相同源有标签律、相同目标无标签律,却有不同先验。这时任何仅使用这些资料的方法都无法恢复目标先验,需要目标标签或其他额外信息。
源中某类概率为零,则该列条件分布不能由源资料估计。即使目标有很多无标签输入,既有公式也不能凭空补出未知列。类覆盖、矩阵可逆、数值稳定是依次需要回答的三个问题。
推论与应用
给概率作先验修正
若已知源后验 η S ( x ) = P S ( Y = 1 ∣ X = x ) ,Bayes公式给
(4) η T ( x ) = w 1 η S ( x ) w 1 η S ( x ) + w 0 ( 1 − η S ( x ) ) , 在目标几乎处处、分母为正处理解。例如 η S ( x ) = 0.6 ,w = ( 0.6 , 1.4 ) ,得到 η T ( x ) = 0.84 / ( 0.84 + 0.24 ) = 7 / 9 。总体校准 理路 概率校准与可靠度 Probability calibration · Reliability diagram 用条件正例率等于报告概率定义概率校准,计算可靠度与分箱误差,并区分校准、边际均值、分类一致性和分辨力。 的分数 S 也可用同一公式修正其 P ( Y = 1 ∣ S ) ,因为固定分数的类内分布随 X ∣ Y 一起保持不变;所得是基于分数的信息,不一定等于基于完整 X 的后验。未经校准的原始分数则不能直接当作式(4)的源后验。
对任意固定预测器 h ,类内平均损失记作 r j = E S [ ℓ ( h ( X ) , Y ) ∣ Y = j ] ,便有
R T ( h ) = ∑ j π T j r j = E S [ w Y ℓ ( h ( X ) , Y ) ] . 用同一份目标摘要估计先验、挑模型、又宣布最终独立测试性能,会再次产生选择问题。修正方法本身也应进入完整评价协议 理路 嵌套交叉验证的执行协议 Nested cross-validation protocol · Nested model evaluation protocol 对重复实体资料逐层隔离拟合、校准、调参与评价,完整复算内层选择、外层损失和实际拟合次数。 ,最终目标标签审计能检查迁移假设是否合理。
约束解与诊断
有噪声时可求 min π ≥ 0 , 1 T π = 1 ‖ C ^ π − q ^ ‖ 2 2 ,明确返回受约束估计与残差。它保证数值是概率,不保证无偏,也不修复奇异情形。二分类准确总体模型要求 q 0 落在 a , b 之间;多类要求目标输出向量落在混淆列向量的凸包内。落在凸包内只说明摘要相容,不能证明完整类内分布不变。
若有 n 个源验证点、m 个目标点,先付 n + m 次固定预测,再在线性时间累计计数;两类只需常数次求解。多类 k 的一般稠密线性求解另需 O ( k 3 ) ,但最重要的成本往往是取得足够的稀有源类标签。
自测与答案
a = 0.1 , b = 0.9 , q 0 = 0.66 ,虽然预测器经常颠倒类别,先验能恢复吗?能,p = ( 0.1 − 0.66 ) / ( 0.1 − 0.9 ) = 0.7 。
源先验 ( 0.8 , 0.2 ) 、目标先验 ( 0.4 , 0.6 ) ,权重是否为 ( 0.4 , 0.6 ) ?不是,应该为 ( 1 / 2 , 3 ) ;源概率乘权重才得到目标概率。
参考资料