1. 하이퍼파라미터와 파라미터
둘이 헷갈릴 수 있으니 잘 정리해두자.
하이퍼파라미터는 학습 전 사용자가 조정하는 값 파라미터는 결과 값이다.
2. 하이퍼파라미터 종류
1) 학습률
gradient 방향으로 얼마나 빠르게 이동할 것인지 결정하는 변수
2) 손실함수
입력에 따른 기대 값과 실제 값의 차이를 계산하는 함수
3) 정규화 파라미터
과적합을 회피하기 위해 L1 또는 L2 정규화 방법 사용
4) 미니 배치 크기
배치셋 수행을 위해 전체 학습 데이터를 등분하는(나누는) 크기
5) 훈련 반복 횟수
학습의 조기 종료를 결정하는 변수
6) 은닉층의 뉴런 개수
훈련 데이터에 대한 학습 최적화 결정 변수
7) 가중치 초기화
학습 성능에 대한 결정 변수
이 외에도 다양한 하이퍼 파라미터가 존재하고
가장 좋은 성능을 내는 파라미터를 찾는 과정을 하이퍼파라미터 튜닝 혹은 하이퍼파라미터 최적화라고 한다.
3. 하이퍼파라미터 튜닝 종류
1) manual search
사용자 직관과 경험에 기반하여 최적의 하이파라미터를 탐색하는 방법으로 수동튜닝이다.
2) Grid Search
지정한 범위 내에서 모든 경우의 수를 완전 탐색하여 하이퍼 파라미터를 탐색
💡장점: 검증하고 싶은 하이퍼 파라미터의 수치를 지정하면 수치별 조합을 모두 검증하여 최적의 파라미터 검색의 정확도 향상
💡단점: 후보군의 개수가 많을 수록 시간이 오래걸림
3) Random Search
하이퍼파리미터의 최소/최대값을 부여 하는 등 지정한 범위 내에서 랜덤으로 조합 후 샘플링하여 최적의 성능을 갖는 하이퍼파라미터 설정
💡장점: 빠른 속도로 조합을 검색할 수 있음
💡단점: 랜덤하게 조합되기 때문에 후보군을 신중하게 결정해야 하고 해당 조합 중 최적의 성능을 찾는다는 보장이 없음
4) Bayesian Optization
관측 데이터 기반 F(x) 추정: 베이즈 정리 활용, 가우시안 프로세스
함수생성: 확률 추정 결과 기반 입력값 후보 추천 함수
manual은 사용자가 직접 튜닝을 하는 것이고
grid search, random search, bayesian optization은 좀 더 프로그래밍적인 방법으로 튜닝을 하는 것이다.
또한, 이러한 하이퍼파라미터 튜닝(최적화)를 자동화해주는 프레임워크인 optuna도 존재한다.
[ML] 24. 하이퍼파라미터 튜닝(4) - optuna (tistory.com)
http://blog.skby.net/%ED%95%98%EC%9D%B4%ED%8D%BC%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0-hyperparameter/
sklearn.model_selection.GridSearchCV — scikit-learn 1.1.3 documentation
'머신러닝과 딥러닝 > ML 개념정리' 카테고리의 다른 글
[ML] 10. 하이퍼파라미터 튜닝(3) - Random Search 주요 파라미터 (0) | 2022.11.03 |
---|---|
[ML] 9. 하이퍼파라미터 튜닝(2) - Grid Search 주요 파라미터와 어트리뷰트 (0) | 2022.11.03 |
[ML] 7. train/test 데이터 나누기, train_test_split (0) | 2022.10.31 |
[ML] 6. 회귀모델 성능평가지표, 분류모델 성능평가지표 (0) | 2022.10.31 |
[ML] 4. DecisionTree(결정트리) (0) | 2022.10.26 |
댓글