1. 파라미터(Parameter) : 매개변수
f(X, y)에서 X와 y를 파라미터라고 합니다.
A model parameter is a configuration variable that is internal to the model and whose value can be estimated from data.
- They are required by the model when making predictions.
- They values define the skill of the model on your problem.
- They are estimated or learned from data.
- They are often not set manually by the practitioner.
- They are often saved as part of the learned model.
Machine Learning Mastery
머신러닝과 딥러닝에서
Paramer의 예를 아래와 같습니다.
1. 신경망에서 y = ax + b에서 a(가중치). 가중치는 모델이 자동으로 계산해줍니다.
2. 서포트 벡터 머신 w'x + b = 0에서 결정 경계를 만드는 support vector는 모델이 자동으로 계산해 줍니다.
여기서 support vector 들은 파라미터이고, C(허용에러 Cost), gamma(결정 경계 곡률) 등 분석가가 직접 입력해주는 값을 하이퍼 파라미터라고 합니다.
2. 아규먼트(Argument) : 인수
f(X, y) 함수에서 f(1, 2) 이면 X=1, y=2를 대입하게 됩니다. 이 때 1과 2를 argument라고 합니다.
즉 함수 원형을 작성시 에서 사용하는 변수 X, y를 Parameter(매개변수),
def add(X, y):
return X+y
함수 호출 시 사용되는 실제값인 1과 2를 Argument(인수)라고 말합니다.
add(1, 2)
>>> 3
void Foo(int i, float f)
{
// Do things
}
void Bar()
{
int anInt = 1;
Foo(anInt, 2.0);
}
Here i and f are the parameters, and anInt and 2.0 are the arguments.
[참고] stack overflow
https://stackoverflow.com/questions/1788923/parameter-vs-argument
3. 하이퍼 파라미터(Hyper parameter) : 초매개변수
머신 러닝에서 하이퍼 파라미터 최적화 또는 튜닝은 학습 알고리즘을위한 최적의 하이퍼 파라미터 세트를 선택하는 문제입니다. 하이퍼 파라미터는 학습 과정을 제어하는 데 사용되는 값의 매개 변수입니다. 대조적으로, 다른 파라미터의 값이 학습됩니다.
A model hyperparameter is a configuration that is external to the model and whose value cannot be estimated from data.
- They are often used in processes to help estimate model parameters.
- They are often specified by the practitioner.
- They can often be set using heuristics.
- They are often tuned for a given predictive modeling problem.
Machine Learning Mastery
[참고]
https://machinelearningmastery.com/products/
통상적으로 하이퍼 파라미터를 튜닝한다고 말합니다.
하이퍼 파라미터는 모델 사용자에 의해 경험적으로 휴리스틱하게 정해질 수도 있고,
Grid Search나 Random Search 에 의해 기계적으로 찾기도 합니다.
딥러닝에서 하이퍼 파라미터를 튜닝하는데, 다음과 같은 하이퍼 파라미터가 있습니다.
* 네트워크 구조 하이퍼 파라미터
1) Number of Hidden Layer
2) Dropout
3) Weight Initialization
4) activation function(ReLU, Sigmoid) 등
* 학습 파라미터
1) Learning Rate
2) Momentum
3) Numbeer of Epochs
4) Batch Size
5) Cost function(Loss, Error) 등
4. 개념 총정리
구분 | 한국어 | 설명 | 예 |
Parameter | 매개변수 | 함수와 메서드 입력 변수(Variable) 명 머신러닝 딥러닝 모델에서 입력 변수(Variable) 명 |
(lambda x, y: x + y)(10, 20) DecisionTreeClassifier(*, criterion='gini', splitter='best') |
Argument | 인자 | 함수와 메서드의 입력 값(Value) 머신러닝 딥러닝 모델에서 주는 입력값(Value) |
(lambdax, y: x + y)(10, 20) estimator.score(*args, **kwargs) |
Hyper Parameter | 초매개변수 | 머신러닝 딥러닝에서 설계자 조정값(Value) | DecisionTreeClassifier(*, criterion='gini', splitter='best') |