Q

PRIVATE NAVIGATION MODE

ML4T_S 탭 잠금 해제

패스워드를 확인하면 이 브라우저에서 ML4T_S 탭과 검색 결과를 표시합니다.

STUDY SEARCH

학습 자료 검색

제목과 설명, 키워드, 학습 본문에서 찾습니다.

검색 범위

검색어를 입력해 주세요.

SEARCH THE NOTEBOOK

찾고 싶은 금융·통계·전략 개념을 입력해 보세요.

CHAPTER 09

9.6 검증 예산 안에서 모델 설정 찾기

Optuna로 시도를 관리하고 순위 품질과 회전율을 함께 비교합니다.

9장. Advanced Models for Tabular Data(표 데이터 고급 모델)초급 학습 노트

다음 시도를 앞선 실험에서 고르기

ETF 수익률을 예측하는 팀에 후보 설정 50개를 검증할 시간이 있다고 하자. 잎 개수 5가지, 학습률 4가지, 정규화 강도 5가지를 모두 조합하면 100가지다. Grid Search(격자 탐색)는 지정한 조합을 차례로 시험한다. Optuna의 Hyperparameter Optimization(초매개변수 최적화, HPO)은 앞에서 좋은 점수를 낸 조합을 보고 다음 시도를 배정할 수 있다.

Tree-structured Parzen Estimator(트리 구조 파르젠 추정기, TPE)는 시험이 쌓이면 높은 검증 점수를 낸 설정과 나머지 설정을 나눈다. 각 그룹에서 설정이 얼마나 자주 나타날 법한지 확률 밀도를 추정한다. 잎 15개가 좋은 그룹에 자주 나타나고 나머지에는 드물다면 다음에 시험할 이유가 커진다. 좋은 그룹의 밀도를 나머지 그룹의 밀도로 나눈 값이 큰 후보를 선호한다. 잎 수처럼 정수인 값, 라이브러리 이름 같은 범주값, 특정 라이브러리를 선택할 때만 쓰이는 조건부 값도 검색할 수 있다.

Define-by-run Application Programming Interface(실행 중 정의 방식의 응용 프로그램 인터페이스, API)는 시험마다 필요한 범위를 그 자리에서 요청하는 방식이다. 예를 들어 먼저 라이브러리를 선택하고, LightGBM이면 suggest_int로 잎 수를, 모델 공통으로 suggest_float로 정규화 강도를 요청한다. 조건마다 쓰이지 않는 변수를 동시에 격자로 만들 필요가 없다. 여러 작업자가 공유 데이터베이스를 통해 같은 연구의 시도를 병렬로 처리할 수도 있다.

나무가 자라는 동안 두 번 멈출 수 있다

검증 점수가 80회 이후 계속 낮아지면 Early Stopping(조기 종료)으로 그 시험의 가장 좋았던 나무 수를 저장한다. 반면 Pruning(시험 가지치기)은 다른 설정과 비교해 현재 시험 전체의 자원을 끊는다. MedianPruner는 같은 단계까지 온 이전 시험들의 중간 성능을 기준으로 삼는다. HyperbandPruner는 처음에는 여러 후보에 적은 자원을 주고, 각 단계에서 좋은 후보에 다음 예산을 준다. 낮은 학습률은 개선에 시간이 더 걸리므로 너무 일찍 자르면 유망한 후보까지 빠질 수 있다.

시간을 지키는 설정 탐색과 최종 확인
초기 학습 기간
다음 검증 기간
조기 종료로 회차 선택
같은 단계의 다른 시험과 비교
약한 시험 중단
여러 검증 구간의 결과 집계
검증에서 설정 확정
따로 남긴 이후 기간에서 최종 평가

함께 조정할 세 종류의 설정

  • Tree Structure(트리 구조)는 최대 깊이, 잎 수와 잎의 최소 표본 수로 정한다. 잎을 늘리면 더 자세한 상호작용을 담을 수 있지만 우연히 비슷한 소수 관측까지 하나로 묶을 수 있다.
  • Boosting Dynamics(부스팅 학습 과정)는 학습률, 나무 수와 행·열 표본 비율로 정한다. 학습률을 0.01–0.05처럼 낮게 고정하고 검증으로 나무 수를 정하면 두 값을 모두 넓게 탐색할 때보다 비용을 줄일 수 있다.
  • Regularization(정규화)은 잎 보정 크기에 비용을 주거나 분할에 필요한 최소 정보를 높인다. L1 비용은 크기에 비례하고 L2 비용은 제곱에 비례한다. 트리만 바꾸고 이 강도를 고정하면 새 날짜로 옮겼을 때 차이를 놓칠 수 있다.

시험을 많이 할수록 검증 자료의 우연한 요동까지 활용한 설정이 뽑힐 확률이 올라간다. 탐색 여유가 있는 비교에서는 100–200회도 검토하지만, 일별 수익률처럼 신호가 약하면 50–100회나 더 성긴 범위부터 시작해 개선이 반복되는지 본다. 실행 시간과 함께 각 시험의 날짜, 손실, 설정, 중간 지표와 중단 이유를 남긴다. 격자와 TPE, 라이브러리 간 손실 비교도 같은 구간과 예산으로 평가한다.

순위 품질을 높일 때 주문량이 얼마나 늘어나는가

좋은 점수를 받은 ETF 목록이 매번 바뀌면 더 자주 거래한다. Turnover(회전율)는 목표 비중을 바꾸기 위해 교체한 거래량을 정해진 방식으로 환산한 값이다. 종목 점수의 차이를 더 세밀하게 학습한 모델은 IC와 회전율을 동시에 높일 수 있다. 비용을 빼기 전에는 IC 증가의 가치가 얼마인지 알기 어렵다.

ETF 탐색에서 남은 설정순위 IC(무단위)정규화 회전율(무단위)
회전율이 낮은 후보0.0290.004
IC가 높은 후보0.0300.005

첫 후보는 IC를 0.001 포기해 회전율을 0.001 낮춘다. 둘째는 회전율 증가를 감수하고 IC를 높인다. 두 지표를 모두 더 좋게 만드는 후보가 없을 때 이런 해들의 집합을 Pareto Frontier(파레토 경계)라 한다. Non-dominated Sorting Genetic Algorithm II(비지배 정렬 유전 알고리즘 II, NSGA-II)는 두 목표에서 밀리지 않는 후보와 탐색 범위가 겹치지 않는 후보를 남기며 새 조합을 만든다.

같은 범위에서 IC만 대상으로 한 TPE 탐색의 결과는 약 0.010이었다. 여러 목표를 둔 탐색이 이번에는 다른 영역에 도달했다. 목표뿐 아니라 탐색 알고리즘도 달랐으므로 이 격차를 다목적 방식 자체의 우위로 해석하기는 어렵다. 회전율을 가로축으로 두고 작은 회전율 증가마다 얻는 IC가 얼마나 되는지 보면 주문 비용에 민감한 후보를 찾을 수 있다. 수익률과 고점 대비 하락폭, 위험 조정 수익과 집행 가능한 자금 규모도 같은 방식으로 비교할 수 있다.