코드를 공부하면서 여러 Hyperparameter의 의미가 헷갈리는 부분이 있어서 정확하게 찾아본 후 정리해보았다.
Parameter VS. Hyperparameter
Parameter (파라미터, 매개변수)
- Parameter는 모델 내부에서 결정되는 변수, 데이터를 통해서 산출이 가능한 값
- 모델 내부에서 데이터를 통해 구해진다.
- 예측을 수행할 때, 모델에 의해 요구되어지는 값
- 측정되거나 데이터로부터 학습되어진다.
- 학습된 모델의 일부로 저장되어진다.
- ex. 인공신경망에서의 가중치 계수(weight coefficient), SVM(서포트 벡터 머신)에서의 서포트 벡터, 선형회귀나 로지스틱회귀분석에서의 결정계수, 편향(bias)
Hyperparameter (하이퍼파라미터, 초매개변수)
- Hyperparameter는 주로 알고리즘 사용자가 경험에 의해 직접 세팅하는 값. (여러 번 수행하면서 최적의 값을 찾는다.)
- 정해진 최적의 값이 없다.
- Hyperparameter는 모델에서 외적인 요소, 데이터 분석을 통해 얻어지는 값이 아님
- 모델의 parameter값을 측정하기 위해 알고리즘 구현 과정에서 사용
- 예측 알고리즘 모델링의 문제점을 위해 조절된다.
- ex. 신경망 학습에서 learing rate(학습률), SVM에서의 코스트 값, KNN에서의 K의 개수, epoch
Hyperparameter
하이퍼 파라미터 튜닝 : 상단에 하이퍼 파라미터의 특징을 적어두었듯, 이는 사용자의 입력값이고 정해진 최적의 값이 없다. 모델이나 데이터에 따라 달라지곤 하는데 이를 여러 번 시도해보면서 데이터와 모델에 맞는 하이퍼 파라미터를 찾아 나가는 과정을 하이퍼 파라미터 튜닝이라고 한다.
- 튜닝 방법은 여러가지가 있다.
- ex. Manual Search, Grid Search, Random Search, Bayesian Optimization, Non-Probabilistic, Evolutionary Optimization, Gradient-based Optimization, Early Stopping
다음은 네트워크 구조와 관련된 하이퍼 파라미터들이다.
다음은 학습에 사용되는 하이퍼 파라미터들이다.
참고
Parameter vs Hyperparameter 둘의 차이점은 무엇일까?
[DL] 파라미터와 하이퍼파라미터의 차이
딥러닝 - 하이퍼파라미터(모멘텀, AdaGrad, Adam, 가중치 초기화) 하이퍼파라미터 튜닝
[Deep Learning] 5. 딥러닝 하이퍼파라미터 튜닝
[딥러닝] 배치 사이즈(batch size) vs 에포크(epoch) vs 반복(iteration)의 차이
Hyper Parameter 하이퍼파라미터
[딥러닝 기초]Momentum 설명