Hyperparamer
머신러닝 모델을 학습 할 때, 여러 값들을 설정한다.
이 설정값들은 파라미터와 하이퍼파라미터 두 종류로 나눌 수 있다.
- 하이퍼파라미터(hyperparameter) : 사람이 미리 정해주는 값
- 파라미터(parameter) : 학습을 통해 자동으로 배우는 값
Parameter vs Hyperparameter
파라미터(parameter)
- 모델이 데이터로부터 직접 학습하는 값
- 학습 과정에서 자동으로 업데이트됨
학습 결과물
예시
- 선형 회귀의 가중치(weight)
- 신경망의 가중치와 편향
- 임베딩 벡터 값
하이퍼파라미터 (hyperparameter)
- 학습 이전에 사람이 설정하는 값
- 학습 과정에서 자동으로 바뀌지 않음
- 모델이 어떻게 학습할지를 결정
학습 규칙
예시
- 학습 관련
- learning rate
- batch size
- optimizer 종류 (SGD, Adam 등)
- epoch 수
- 모델 구조 관련
- 선택 / 추론 관련
하이퍼파라미터의 중요성
같은 모델과 데이터를 사용해도, 하이퍼파라미터에 따라 결과가 완전히 달라지기 때문이다.
예를 들어:
- learning rate가 너무 크면 → 발산
- 너무 작으면 → 학습이 매우 느림
- batch size가 크면 → 안정적이지만 일반화가 떨어질 수 있음
하이퍼파라미터는 모델의 성능, 안정성, 학습 속도에 영향을 준다.
하이퍼파라미터를 정하는 방법
하이퍼파라미터는 모델을 학습할 때 자동으로 결정되지 않아서, 다음 방법들을 사용해 hyperparameter tuning 과정을 거친다.
- 경험 기반 설정
- Grid Search
- Random Search
- Bayesian Optimization