← Tier.SC 메인

ML 로드맵

마지막 수정: 2026-04-22 17:14 KST

현재 모델은 주어진 데이터(승/패·종족·맵·날짜 및 40개 파생 피처)로 구성 가능한 표현력의 천장에 근접했다. 내부 최적화만으로는 유의미한 추가 상승을 기대하기 어렵고, 억지 피팅은 AUC·LogLoss·overfit_gap·보정 중 하나를 반드시 악화시킨다.

보강은 지표를 맹목적으로 끌어올리기 위한 수단이 아니라, 현재 모델이 보지 못하는 외부 신호를 하나씩 도입해 해석 가능성을 유지하며 확장하는 방향으로 진행한다.

다음 단계의 의미 있는 개선은 외부 신호원의 표본 누적시간축에 대한 재설계에서 나온다. 현재 우선순위는 다음과 같다.

1. 시간 감쇠 (Time-decay)

  • 현 상태: LightGBM 학습 시 sample weight로 선형 지수 감쇠 w = 0.9995^days_to_most_recent 이 이미 적용 중이다. 오래된 경기일수록 가중치가 완만히 줄어 최근 경기에 더 힘이 실린다. 감쇠 상수 0.9995는 과거 어블레이션에서 overfit_gap·Test AUC 모두를 안전 범위로 유지하는 지점으로 고정되었다.
  • 한계: 연속적 감쇠만으로는 리그 시즌(버전) 경계에서의 계단식 실력 변화(군입대 복귀, 연습량 급변, 종족 전환 등)를 따라잡기 어렵다. 감쇠는 매끄러운 곡선을 만들지만 현실은 불연속 점프가 섞여 있다.
  • 방향: (a) 시즌(버전) 경계 리셋형 가중 — 시즌(버전) 시작점에서 가중치를 재조정해 "새 시즌(버전)의 경기는 과거보다 강하게 본다"는 신호를 명시적으로 투입. (b) 선수별 적응 감쇠 — 활동량·경기 수에 따라 감쇠 상수를 조정. 두 방향 모두 감쇠 상수를 교차검증으로 선택하되, overfit_gap 악화를 트리거로 되돌릴 수 있도록 가드레일을 둔다.

2. 방송 메타데이터

  • 후보 신호: 방송 시간대, 유지 시간 대비 경기 수, 방장/게스트 role, 팀 단위 이벤트 여부
  • 왜 미뤘는가: 데이터 수집 시작일이 2026년 4월 12일로, 지표화·일반화하기에 아직 표본이 부족하다. 충분한 누적 후에는 자연스럽게 포함할 수 있으며, 그 시점에 재평가한다.
  • 방향: 이미 방송 지수에 일부 도입됨. 모델 피처로의 합류에는 시간이 더 걸리는 중.

3. 확률적 앙상블 — BT 포스테리어 + LGBM

  • 현 상태: BT는 점 추정 $\hat\theta_i$만 사용. LGBM은 그 점 추정을 하나의 피처로 받아 확률을 출력한다.
  • 한계: BT 점수 추정의 불확실성이 전혀 전달되지 않는다. 경기 수가 5경기인 선수와 500경기인 선수의 BT 점수가 같은 확신도로 취급된다.
  • 방향: Bayesian BT로 $\theta_i$의 포스테리어 분포를 추정하고, LGBM 입력에 점 추정 대신 평균·분산(또는 샘플링)을 함께 넘긴다. "경기 수가 적어서 판정 유예" 같은 UI 정책과도 자연스럽게 맞물린다.

4. 평가 체계 개선

  • 시즌(버전) 단위 롤링 검증: 현재는 전 기간 단일 hold-out. 시즌(버전)별 성능 변화를 추적해 모델 drift를 조기에 감지한다.
  • 세그먼트별 보정 검사: 종족별·티어별·맵별로 보정 곡선을 분리 확인. 전체 ECE는 좋지만 특정 세그먼트에서 편향이 있을 가능성에 대비.
  • 대칭성 테스트: $P(A \text{ beats } B) + P(B \text{ beats } A) = 1$ 을 모든 샘플에서 점검하는 정기 가드.

5. 인게임 행동 피처

  • 도입 대상: 빌드 오더, (e)APM, 시간에 따른 자원 소모(밸런스)
  • 왜 필요한가: 현재 모델은 "누가·어떤 종족으로·어디서" 수준의 메타 데이터만 본다. 실제 경기 결과를 가르는 "어떻게"는 보지 못한다. 리플레이 파싱을 통해 이 층을 추가하면 BT + LGBM 위에 플레이 스타일 축이 얹힌다.
  • 난점: 모든 플레이어에 대한 전 경기 리플레이 수집은 사실상 불가. 또한, 리플레이 해석에 '주관적' 판단 요지가 있음.
  • 대안: 모든 플레이어·전 경기에 대한 도입 대상 파싱 방안은 이미 해결됨(비접촉·비설치 방식). 이를 통해 시도해볼 예정이며, 다만 Trial-Error의 반복이 요구될 것으로 보여 장기간에 걸쳐 검토 예정.