스파르타클럽 내일배움캠프 QA/QC 5기 05/14 TIL
2026. 5. 14. 20:40ㆍ내일배움캠프 TIL
오늘은 공모전 위주로 학습을 진행했다.
📌 현재 상황
- 최고 대회 점수: 66.36% (09번 노트북)
- 목표: 70%+ (현재 1등: 70.22%)
- 평가 기준: R-Hit@1cm — 예측과 실제 간 3D 거리 ≤ 10mm이면 적중
🔧 오늘 진행한 작업
1. GPU 환경 문제 해결 시도
- Python 3.14에서 PyTorch CUDA 버전이 지원되지 않는 문제 발견
- cu121, cu124, nightly 버전 모두 설치 실패
- 원인: PyTorch가 아직 Python 3.14를 공식 지원하지 않음
- CPU 버전(torch 2.11.0+cpu)은 설치 성공
- GPU: NVIDIA GeForce GTX 1650 (4GB VRAM), CUDA 12.4 확인
- 결론: Python 3.12 설치가 필요하지만, 우선 CPU + 기존 GPU 환경 병행
2. LightGBM + XGBoost 앙상블 (06번)
결과:
모델 Hit@10mm
| LightGBM v3 | 61.96% |
| XGBoost | 61.57% |
| 앙상블 | 62.10% |
- LGB-XGB 상관계수 0.99 → 거의 같은 모델이라 앙상블 효과 미미 (+0.14%p)
- 교훈: 같은 피처/타겟에 유사 알고리즘을 쓰면 다양성이 없어서 앙상블 효과 없음
3. DL 모델 + 3모델 앙상블 (07번) — ★ 최초 큰 개선
DL 구조: CNN + BiGRU + Attention (MosquitoNet)
- 입력: 20채널 시퀀스 (원시/스무딩 좌표, 변위, 속도, 가속도)
- hidden=128, GRU 2-layer, Huber loss
결과:
모델 Hit@10mm 대회 점수
| DL 단독 | 63.53% | - |
| LGB+XGB+DL 앙상블 | 63.73% | 65.76% |
- DL이 LGB(61.96%)보다 +1.57%p 높음
- LGB-DL 상관 0.97 → 트리와 다른 패턴 포착
- OOF 대비 대회 점수가 ~2%p 높게 나오는 패턴 확인
4. DL 멀티시드 (09번) — ★★ 최고 점수 달성
- MosquitoNet 동일 구조, 3시드(42, 123, 777) 평균
- Warmup 5 epoch 추가
결과:
모델 OOF Hit@10mm 대회 점수
| DL 3시드 평균 | 64.06% | - |
| LGB+DL 앙상블+후처리 | 64.32% | 66.36% ← 최고 |
5. 08번 (최종 max — GPU) 시도
- DL 9모델 (3구조 × 3시드) + LGB 앙상블
- OOF 63.64% → 대회 65.22% (오히려 하락)
- 원인: 약한 모델(경량화된 B, C)이 강한 모델(A)을 희석
6. 10번 (ULTIMATE) 시도 — 실패
새로 추가한 것들:
- 데이터 증강 (3D 회전, 노이즈 주입)
- Transformer + CNN 하이브리드 모델
- 축별 스케일 후처리
- 24채널 시퀀스 (시간 인코딩 추가)
결과: OOF 63.43% → 대회 65.16% (더 하락!)
실패 원인 분석:
- 데이터 증강(3D 회전) → Train 분포와 Test 분포가 안 맞음
- Transformer → 10,000개 데이터로는 과적합
- 축별 스케일 후처리 → OOF에 과적합된 파라미터
- 복잡할수록 좋은 게 아님
7. 11번 (정제) — 진행 중
09번(최고 점수) 구조 그대로 유지, 학습 하이퍼파라미터만 정제:
- lr: 1e-3 → 5e-4
- epoch: 200 → 300
- patience: 30 → 40
- batch: 256 → 128
- 증강/Transformer/축별 스케일 전부 제거
📈 점수 변화 추이 (전체)
버전 주요 변경 OOF 대회 점수 방향
| Linear 외삽 | 기준 | 57.88% | - | - |
| 03 LGB v1 | 잔차 보정 | 59.97% | 60.12% | ↑ |
| 04 LGB v2 | 직접 예측 | 57.36% | - | ↓ |
| 05 LGB v3 | Huber + 피처 강화 | 61.96% | 64.38% | ↑↑ |
| 06 앙상블 | +XGBoost | 62.10% | - | → |
| 07 DL | +CNN+GRU | 63.73% | 65.76% | ↑ |
| 08 DL max | 9모델 경량 | 63.64% | 65.22% | ↓ |
| 09 DL 3시드 | 멀티시드 | 64.32% | 66.36% | ↑ ★ |
| 10 ULTIMATE | 증강+Transformer | 63.43% | 65.16% | ↓↓ |
| 11 정제 | 학습 정제 | 진행 중 | - | ? |
💡 핵심 인사이트 & 교훈
1. 과적합의 함정
- 복잡한 기법(증강, Transformer, 축별 스케일)이 OOF에서는 비슷하거나 약간 낮은데, 대회 점수에서는 확실히 나빠짐
- Train 10,000개는 복잡한 모델을 감당하기에 부족
- 단순한 모델이 일반화가 더 좋다
2. OOF vs 대회 점수 갭
- 일관되게 대회 점수가 OOF보다 ~2%p 높음
- Test가 Train보다 예측하기 약간 쉬운 분포
- 하지만 과적합된 모델은 이 갭이 줄어들거나 역전됨
3. 앙상블은 다양성이 핵심
- LGB-XGB 상관 0.99 → 앙상블 무의미
- LGB-DL 상관 0.97 → 약간의 효과
- 상관을 낮추려면 완전히 다른 접근 필요 (단순히 모델 늘리는 건 X)
4. 멀티시드의 안정성
- 같은 모델을 다른 시드로 학습 → 일관되게 +0.5%p 개선
- 과적합 없이 안정적인 개선 방법
5. "정제 > 추가" 원칙
- 새로운 걸 추가하는 것보다, 잘 되는 것을 더 정밀하게 다듬는 게 효과적
- 09번이 최고인 이유: 검증된 구조 + 멀티시드라는 안전한 개선
'내일배움캠프 TIL' 카테고리의 다른 글
| 스파르타클럽 내일배움캠프 QA/QC 5기 05/13 TIL (1) | 2026.05.13 |
|---|---|
| 스파르타클럽 내일배움캠프 QA/QC 5기 05/12 TIL (0) | 2026.05.12 |
| 스파르타클럽 내일배움캠프 QA/QC 5기 05/11 TIL (0) | 2026.05.11 |
| 스파르타클럽 내일배움캠프 QA/QC 5기 05/08 TIL (0) | 2026.05.08 |
| 스파르타클럽 내일배움캠프 QA/QC 5기 05/07 TIL (0) | 2026.05.07 |