✅ 오늘 한 것
최종 프로젝트
✏️ 오늘 배운 점
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. 모델을 왜 사용하였는가(레퍼런스에서는 다른 모델인데 왜 우리는 특정 모델을 사용하였는가에 대한 답변)
📌추가로 해야 할 점
최종 프로젝트
'품질관리(QAQC) 데이터 부트캠프(본캠프)' 카테고리의 다른 글
| 최종 프로젝트 중간 점검 (0) | 2026.01.22 |
|---|---|
| 본캠프_19주차(목)_TIL(최종 프로젝트) (0) | 2026.01.22 |
| 본캠프_19주차(화)_TIL(최종 프로젝트) (0) | 2026.01.20 |
| 본캠프_19주차(월)_TIL(최종 프로젝트) (0) | 2026.01.19 |
| 본캠프_18주차(금)_TIL(최종 프로젝트) (0) | 2026.01.16 |