품질관리(QAQC) 데이터 부트캠프(본캠프)

본캠프_19주차(수)_TIL(최종 프로젝트: 중간 발표회 & 피드백)

Wat_zy 2026. 1. 21. 08:35

✅ 오늘 한 것

최종 프로젝트


✏️ 오늘 배운 점

1. 2-Stage Filtering 전략의 핵심 논리

"왜 모델을 두 단계로 나누었는가?" 라는 질문에 대한 답변입니다.

  • 문제 의식: 데이터 불균형(20:1)이 심해 단일 모델로는 Recall(놓치지 않음)과 Precision(정확함)을 동시에 잡기 불가능했습니다.
  • Funnel 구조:
    • Stage 1 (거름망): Recall 극대화가 목표. 확실한 오답(Easy Negative)을 제거하여 불균형을 완화(20:1 → 5:1)합니다.
    • Stage 2 (현미경): Precision 극대화가 목표. 남은 후보 중 진짜와 가짜(Hard Negative)를 정밀하게 구분합니다.

2. 데이터 개념 정립

  • Qualitative Binding: 정성적 판정 (O/X, 붙었나 안 붙었나).
  • Antibody Binding: 정량적 수치 ( IC50 등)를 기준값으로 잘라 0/1로 변환한 데이터.
  • 모델은 이 두 가지를 모두 학습하여 "결합 가능성"을 예측합니다.

3. Stage 1: High Recall 파이프라인

  • 모델: LightGBM + CatBoost (앙상블).
  • 핵심 기법:
    • scale_pos_weight: 정답(Positive)에 가중치를 부여하여 Recall 확보.
    • Optuna 튜닝: 최적의 하이퍼파라미터 탐색 완료.
    • Threshold 자동화: Recall  0.80 & MCC  0.3을 만족하는 최적 임계값을 자동으로 찾는 로직 구현.

4. Stage 2: High Precision 파이프라인

  • 모델: XGBoost + MLP (이질적 모델 결합).
  • 입력 데이터 확장: Stage 1(Antigen Only)과 달리 Antigen + Epitope (2048차원) + Metadata를 모두 사용하여 정확도를 높임.
  • Soft Ensemble: Stage 1의 확률값과 Stage 2의 확률값을 4:6 비율로 섞어 최종 점수 산출.
  • Threshold 자동화: Precision  0.80 & MCC  0.3을 만족하는 최적 임계값을 자동으로 찾는 로직 구현.

5. XAI (설명 가능한 AI): In-silico Mutagenesis

  • 문제: 임베딩(숫자) 기반 모델이라 SHAP을 써도 "몇 번째 아미노산이 중요한지" 알 수 없음.
  • 해결: 가상 돌연변이(Alanine Scanning) 기법 적용.
  • 원리: 서열의 아미노산을 하나씩 바꿔가며 예측 점수가 급락하는 구간(Hotspot)을 찾음.
  • 결과물: "이 항원은 4번, 5번 아미노산이 결합의 핵심 열쇠입니다" 라고 시각적(Heatmap)으로 설명 가능.

6. 🚨 주의사항 및 해결 (Troubleshooting)

  • 순서: 하이퍼파라미터 튜닝 모델 고정 →  Threshold 최적화 순서가 정석입니다. (재튜닝 불필요)
  • 차원 불일치: Stage 1 결과 파일에는 보통 Antigen만 있습니다. Stage 2 예측 시 반드시 원본의 Epitope 임베딩을 찾아 병합(Concat) 해줘야 에러가 나지 않습니다. (마지막 코드에서 해결)

피드백

1. 실제 실험에서는 반복적 시행착오가 얼마나 일어나는가? → 얼만큼 시행착오가 일어나고 줄일 수 있는 시간 → In vitro에서 In silico로 바뀌었을 때의 장점(비용, 시간)

2. 모델을 왜 사용하였는가(레퍼런스에서는 다른 모델인데 왜 우리는 특정 모델을 사용하였는가에 대한 답변)


📌추가로 해야 할 점

최종 프로젝트