7주차 시작! 프로젝트가 목요일까지라 얼마 남지 않았다.
열심히 해보자!!
모델 학습 과정에서 외부에서 설정하는 변수
cf. 파라미터는 모델 학습 과정에서 데이터를 통해 자동으로 학습되는 값
하이퍼파라미터를 어떻게 조정하냐에 따라 모델의 성능은 천차만별이 된다.
모델 성능 향상, 학습시간 조정, 일반화 등의 요소를 조절하기 위해 하이퍼파라미터 튜닝은 반드시 필요하다.
grid, random, manual, bayesian 방법은 TIL #398 참고
WandB Sweep
실험관리가 주 목적이지만, HPO도 사용 가능하다.
config 파일에 딕셔너리 형태로 하이퍼파라미터의 범위와 방법을 정의하고 이를 바탕으로 sweep해서 훈련하면 각각의 하이퍼 파라미터가 어떤 결과를 내는지 시각화해서 보여준다.
"method"는 grid, random, bayesian중에서 선택 할 수 있고, "parameters"에서 탐색할 값을 구간이나 분포로 지정할 수 있다.
Optuna
자동으로 효율적인 탐색을 수행하며, Pruning(학습 도중 성능이 떨어지는 실험을 중단) 기능을 통해 시간과 자원을 절약할 수 있다.
대시보드를 띄울 수 있고, 결과는 plotly로 시각화하면 된다.
bitcoin의 close(종가)를 바로 다른 feature와 correlation을 하니 너무 높게 나왔다. close의 가격 변동에 비해 가격 자체가 너무 높아서 정규화를 해야하나? 싶었지만 막상 정규화를 시도해도 잘 되지 않았다. 이와 관련해서 토론을 했다.
LSTM 모델로 진행하니 종가가 -log 그래프처럼 수렴하는 그래프로 나왔다. 그래서 일단은 계속 해보는 중
OverSampling 기법을 사용해서 분포가 적은 0,3 카테고리 데이터를 데이터 증강해서 적용해봤으나, 오히려 accuracy가 떨어졌다.