
하이퍼파라미터 종류와 뜻 docs 링크
하이퍼파라미터 튜닝 docs 링크
LightGBM은 leaf-wise로 트리를 탐색하므로 데이터가 적을 경우 오버피팅이 일어날 수 있다. 이를 방지하기 위해 하이퍼파라미터에 꽤나 민감하다.
학습속도, 정확도, 오버피팅은 서로 trade-off 관계가 있으니 상황에 맞춰 하이퍼파라미터를 조절하면 된다.
min_data_in_leaf: 노드에 포함되는 최소 feature 수. 최소 feature 수를 넘어야지만 트리가 확장된다. Default=20max_depth: 트리의 깊이. Default=-1num_leaves: 트리에 포함된 노드의 개수num_iterations: boosting 횟수max_bin: 최대 binning 수. Default=255. 항상 1보다 큰 정수. feature_fraction: 사용할 feature 비율. Default=0.5bagging_fraction: 복원추출할 비율. Default=1. bagging_freq=5이고 bagging_fraction=0.75이면, 5 iteration마다 75%만큼 re-sampleearly_stopping_rounds: validation set이 나아지지 않으면 학습을 멈추는 최소 횟수일반적으로 높은 성능과 오버피팅 방지는 trade-off 관계이다.
max_bin: 오버피팅과 반비례num_iterations: learning_rate는 작게 해야한다.num_leaves: 오버피팅이 발생할 수 있다.learning_rate: num_iterations는 크게 해야한다.boosting_type=dart를 이용한다. 단, 이 경우 early_stopping_rounds는 무시된다. (경험상, gbdt보다 속도는 느리다)path_smooth: 트리 노드에 smoothing을 적용한다. Default=0이므로 사용할 경우 양의 실수를 쓴다. 이 파라미터를 사용할 경우, min_data_in_leaf는 최소 2 이상이어야 한다.max_binnum_leavesmin_data_in_leafbagging_fraction + bagging_freqfeature_fractionlambda_l1, lambda_l2: 각각 L1, L2 정규화 적용, Default=0이며, 사용할 경우 모두 양수이다.