You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无标签数据中预训练零样本模型的分类阈值优化方法咨询

解决思路与实操步骤

因为没有标注数据,传统用来评估模型精度的K折交叉验证确实不适用,但可以调整思路把它用在无标签数据的阈值稳定性验证上,核心是围绕模型输出的概率分布,结合伪标签迭代来筛选最优阈值:

第一步:先分析概率分布特性

  • 把所有无标签数据喂给预训练模型,导出每个样本的三类概率(p_day, p_night, p_aerial)
  • 给p_day做直方图或密度曲线,看看它和另外两类概率的分布重叠程度——如果day样本的p_day普遍远高于其他类,阈值选择会很简单;如果重叠多,就得用复合指标辅助,比如计算p_day / (p_night + p_aerial),放大day类的相对优势

第二步:用K折验证阈值的稳定性(替代传统K折的思路)

同事的建议是可行的,但不是用来评估模型,而是确保阈值在不同数据子集上都能稳定输出高质量伪标签:

  • 把无标签数据随机分成K份(比如K=5)
  • 每次拿K-1份当候选集,测试不同阈值(比如从0.5到0.9,步长0.05),记录每个阈值筛选出的伪day样本中,p_day与另外两类概率的平均差值、以及筛选样本占比
  • 遍历所有K份数据后,取平均差值最大、同时筛选样本占比不太低的阈值——这个阈值既能保证筛选出的样本置信度高,又不会漏掉太多潜在的day样本

第三步:人工验证与阈值微调

  • 选好候选阈值后,随机抽100-200个标注样本人工检查,这步不能省——无标签数据可能有分布偏差,模型输出也可能有系统性误差
  • 如果误标多(比如把航拍图当成day),就提高阈值;如果漏标太多,就降低阈值,或者改用复合规则(比如要求p_day >= 0.7且p_day - p_aerial >= 0.4)

实操伪代码示例

import numpy as np
from sklearn.model_selection import KFold

# 假设模型输出的概率存储在probs数组中,shape=(样本数, 3),对应[day, night, aerial]
probs = np.load("model_output_probs.npy")
n_splits = 5
kf = KFold(n_splits=n_splits, shuffle=True, random_state=42)

# 定义要测试的阈值范围
thresholds = np.arange(0.5, 0.95, 0.05)
threshold_perf = []

for thresh in thresholds:
    avg_selected_ratio = 0
    avg_conf_diff = 0
    for _, val_idx in kf.split(probs):
        val_probs = probs[val_idx]
        # 筛选day概率达标样本
        selected = val_probs[val_probs[:, 0] >= thresh]
        if len(selected) == 0:
            continue
        # 计算筛选样本占比和day类与其他类的平均差值
        avg_selected_ratio += len(selected) / len(val_probs)
        diff = selected[:, 0] - np.max(selected[:, 1:], axis=1)
        avg_conf_diff += np.mean(diff)
    # 取K折平均表现
    avg_selected_ratio /= n_splits
    avg_conf_diff /= n_splits
    threshold_perf.append((thresh, avg_selected_ratio, avg_conf_diff))

# 按置信度差值排序,选最优阈值
threshold_perf.sort(key=lambda x: -x[2])
best_thresh = threshold_perf[0][0]
print(f"最优阈值:{best_thresh}")

内容的提问来源于stack exchange,提问作者Alberto Olivieri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 19:15:23