23.03.03 10:39 작성
·
492
0
안녕하세요! 수업 잘 듣고 있습니다.
제가 지금 질문이 생긴 범위는 xgboost나 lightgbm들 하이퍼 파라미터 튜닝시 max_depth나 min_child_weigh등 각각의 범위를 지정해주는데 (ex) 학습률이나, hp.quniform('max_depth',5,20,1) 이런 범위들은 문제마다 다르게 설정해주어야 하는건 알겠는데 제가 나중에 새로운 문제를 혼자 풀 때 어떤수치를 보고 파라미터 범위들을 설정해주어야하는 걸까요??
답변 1
0
2023. 03. 03. 21:57
안녕하십니까,
XGBoost나 LightGBM는 하이퍼 파라미터가 매우 많기 때문에 이를 최적으로 설정하는데 정해진 방법은 없습니다.
다만 여러번 수행해 보면서 경험적인 감을 익혀나가는 방법이 최적인것 같습니다.
저의 개인적인 경험으로는 주요 하이퍼 파라미터들을 집중하여 다양한 범위로 테스트 해보면서 최적값을 찾는것이 보다 빠른 시간에 최적화를 가져오는 것 같습니다.
예를 들어 LightGBM의 경우
num_leaves, min_child_samples, subsample, colsample_bytree 위주로 집중적으로 테스트해보고, 여기에 max_depth와 같은 파라미터와 함께 learning_rate등을 변경해 가면서 테스트를 하는 방식을 주로 선택합니다.
앞서 말씀드린 대로 XGBoost, LightGBM 하이퍼 파라미터 튜닝에 정해진 최적의 방법은 없습니다. 하이퍼 파라미터주요 하이퍼 파라미터를 중심으로 베이지안 최적화 방식으로 튜닝을 진행하는 것이 상당 수준까지 모델 성능을 향상 시키는데 도움이 됩니다.
본 강의의 질문 게시판을 '하이퍼파라미터' 또는 '하이퍼 파라미터' 로 검색해 보시면 비슷한 질문과 그에 대한 저의 답변들을 쭉 살펴 보실 수 있습니다.
감사합니다.