PU Learning을 처음 검토할 때는 uPU와 nnPU의 loss부터 살펴봤습니다. 데이터 흐름을 다시 그려보니 알고리즘을 고르기 전에 레이블 생성 과정부터 정의해야 했습니다.
모델이 1,000건을 의심 사례로 분류합니다. 조사팀은 그중 100건을 확인합니다. 조사 대기 중인 900건에 정상 레이블을 붙이면 다음 모델은 무엇을 배우게 될까요?
다음 모델은 실제 이상 패턴과 함께 과거 조사 정책을 배웁니다. 기존 모델이 자주 선택한 유형은 계속 학습 데이터에 쌓이고, 다른 유형은 정상으로 굳어집니다. 이 피드백 루프를 풀려면 레이블이 만들어진 과정부터 기록해야 합니다.
정상과 미조사 사이에 한 칸을 만든다
운영 데이터의 레이블을 세 상태로 나눴습니다.
| 상태 | 의미 | 학습에서의 취급 |
|---|---|---|
| Confirmed Positive | 조사 후 이상으로 확정 | 양성 |
| Confirmed Negative | 조사 후 정상으로 확인 | 음성 |
| Unreviewed | 조사 결과 대기 | 미레이블 |
핵심은 조사 후 정상과 조사 대기를 분리하는 데 있습니다. 조사 후 정상은 사람이 확인한 결과이고, 조사 대기는 관측을 기다리는 상태입니다.
전체 사례
└─ 모델·룰로 위험 점수 계산
└─ 상위 K건을 조사 대상으로 선택
├─ 이상 확정
└─ 정상 확인
선택 대상 밖의 N-K건
└─ Unreviewed 상태 유지학습 테이블에서 normal=1을 적용하는 범위는 Confirmed Negative로 한정합니다. Unreviewed는 그대로 남겨둡니다. 이 구분이 있어야 supervised learning, propensity weighting, PU learning을 각각 검증할 수 있습니다.
조사 정책이 레이블 분포를 만든다
전통적인 PU Learning은 확정 양성이 전체 양성에서 무작위로 선택됐다는 SCAR(Selected Completely At Random) 가정을 자주 사용합니다.
FDS의 조사 과정은 점수와 규칙에 따라 움직입니다. 점수가 높거나 특정 규칙에 해당하는 사례가 먼저 선택됩니다. 따라서 사례별 선택 확률을 로 모델링합니다.
모델은 이상 패턴과 기존 조사 정책을 함께 학습합니다. 과거 정책이 자주 선택한 유형에는 레이블이 풍부하게 쌓입니다. 조사 기회가 적었던 유형에는 Unreviewed가 축적됩니다.
이 구조에서는 사례별 선택 이유와 정책 버전이 중요합니다. 두 정보를 저장하면 selection mechanism을 관측하고 확률 보정의 근거도 만들 수 있습니다.
학습 데이터에 조사 맥락을 남긴다
레이블 옆에 다음 필드를 추가했습니다.
case_id
score_at_selection
review_selected
selection_policy_version
selection_reason
review_result
reviewed_at
outcome_confirmed_atselection_policy_version은 레이블 분포의 변화를 설명하는 열입니다. 모델 교체, 규칙 변경, 조사팀의 우선순위 변경이 모두 이 값과 연결됩니다. 다음 달 Precision이 변했을 때 모델과 조사 기준의 영향을 나눠서 살펴볼 수 있습니다.
실제 검증은 네 단계로 진행한다
1. 무작위 조사 구간을 확보한다
전체 조사 용량의 일부를 무작위 또는 층화 표본에 배정합니다. 이 표본은 점수 구간별 양성률과 selection propensity를 추정하는 기준점이 됩니다.
2. 지연된 결과를 연결한다
조사 시점 이후 민원, 환수, 외부 확인을 통해 결과가 확정되는 사례가 있습니다. 예측 시점과 결과 확인 시점을 분리하고, observation window가 지난 뒤 레이블을 backfill합니다.
3. 같은 조건에서 baseline을 비교한다
같은 시간 구간과 조사 용량으로 세 모델을 비교합니다.
- 조사 완료 데이터로 supervised baseline을 만듭니다.
- 전체 데이터에 이진 레이블을 적용한 baseline을 만듭니다.
- Propensity weighting 또는 PU 접근을 적용합니다.
공통 지표는 Precision@K, 지연 확정 양성의 Recall@K, 점수 구간별 조사 수율입니다. PU 모델의 역할은 과거 정책이 적게 선택한 양성을 상위 순위로 끌어올리는 데 있습니다.
4. 모델과 조사 정책을 함께 본다
규칙과 점수 구간별 조사 대상 분포, Unreviewed 구간에서 유입되는 사후 양성, 무작위 조사 구간의 수율을 같은 대시보드에서 추적합니다.
PU Learning은 두 번째 단계에 놓는다
PU Learning은 음성 집합에 섞인 양성을 추정하는 프레임워크입니다. FDS에서는 레이블 상태와 선택 정책을 먼저 관측합니다. 그 위에 propensity와 PU 접근을 올립니다.
운영 원칙은 두 문장으로 정리됩니다.
미조사 건에는 Unreviewed 상태를 부여합니다. 레이블과 함께 조사 정책을 기록합니다.
모델의 성능 상한은 레이블 생성 과정에서 형성됩니다.