인공지능/머신러닝

[머신러닝 - 이론] 최적의 하이퍼 파라미터 찾기, 모델을 다듬는 방법 (Find Hyper Parameter, Fine-Tune Model)

바보1 2022. 4. 9. 15:00

하이퍼 파라미터는 너무나도 많습니다.

 

옵티마이저 기법, 손실 함수, 활성화 함수, 은닉층 개수, 노드 개수 등등 너무나도 많습니다.

심지어 하나의 파라미터에도 들어갈 수 있는 옵션들이 많습니다.

 

이때 하나하나 일일이 타이핑하면서 찾아야할까요??

 

이번에는 간단하게 하이퍼 파라미터를 찾는 Grid Search와 Randomized Search에 대해 알아봅시다.

 

Grid Search는 리스트 안에 딕셔너리 형태로 적용할 수 있습니다.

[ { 하이퍼 파라미터_1 : [ 옵션들 ] }, { 하이퍼 파라미터_2 : [ 옵션들 ] } ] 이런 식으로 말이죠

 

이를 sklearn에서 제공하는 GridSearch에 넣으면 옵션들을 하나하나 다 적용하면서 최적값을 찾아줍니다.

 

장점은 알아서 더 좋은 파라미터를 찾아주지만, 단점은 심하게 오래 걸리다는 것이 단점입니다.

 

Randomized Search는 Grid Search가 너무 오래 걸려서 이를 해결하기 위해 나왔습니다.

Grid가 제일 좋은 파라미터를 찾아주지만 Grid에게 넘겨야 하는 파라미터가 너무 많다면 Randomized Search를 사용합니다.

 

말 그대로 랜덤하게 하이퍼 파라미터를 적용해 그 중에 가장 좋은 하이퍼 파라미터를 반환합니다.

 

 

마지막은 Ensemble Methods입니다.

최고의 성능을 내는 모델들 여러 개를 묶어서 예측합니다.

모델들의 group은 개개인의 모델보다 더 좋은 성능을 자주 냅니다.

 

 

감사합니다.

 

 

 

지적 환영합니다.