[TIL] 인자 (Argument) vs 매개변수 (Parameter), (모델 파라미터 vs 하이퍼 파라미터 (Hyper parameter))

하나·2022년 2월 18일
0

TIL

목록 보기
4/14
post-thumbnail

생각보다 argument 와 parameter, 또 parameter 와 hyper parameter 를 혼동해서 쓰는 경우가 많은 것 같다. 또 머신러닝에서의 parameter 와 hyper parameter 도 남한테도 확실하게 설명 할 수 있기 위해 마지막으로 정리해본다!

1. 인자 (Argument)

함수 호출 시, 함수에게 전달하는 '값'

2. 매개변수 (Parameter)

함수 호출 시, 전달되는 인자를 받아들이는 '변수'

  • 예를 들어 아래의 간단한 함수가 하나 있다.
def add(A,B):
	return A+B

result = add(3,5)

위에서 3, 5 는 argument, A,B 는 parameter 이다.

3. 모델 파라미터

머신러닝에서 사용되는 파라미터는 모델 파라미터라고도 한다.
이 때 파라미터는 모델 내부에서 확인이 가능한 변수이다.
즉, 데이터를 통해 산출이 가능한 값

  • 예측을 수행할 때, 모델에 의해 요구되어지는 값들 (보통 머신러닝 함수들 뒤에 입력되는 인자들을 생각하면 쉽다.)
  • 모델의 능력을 결정한다.
  • 측정되거나 데이터로부터 학습된다.
  • 수작업으로 측정되지 않는다.
  • 학습된 모델의 일부로 저장된다.
  • 알고리즘 최적화 과정에서 결정된다.

parameter 의 예
1. 인공신경망의 가중치
2. SVM 에서의 서포트 벡터
3. 선형회귀나 로지스틱 회귀에서의 결정계수

4. 하이퍼 파라미터 (Hyper parameter)

모델에서 외적인 요소. 즉, 데이터 분석을 통해 얻어지는 값이 아니다.

  • hyper parameter는 예측자에 의해 정해진다.
  • 경험에 의해 정해지기도 한다. 즉 알고리즘을 여러번 수행해보며 최적의 값을 직감적으로 알게된다.
  • 예측 알고리즘 모델링의 문제점을 위해 조정된다.

보통 훈련을 시킬 때 원하는 대로 수치를 조정할 수 있는 부분을 하이퍼 파라미터라고 생각하면 쉽다.

hyper parameter 의 예
1. 신경망 학습에서 lr(학습률)
2. SVM 에서의 코스트 값인 C
3. KNN 에서의 K의 개수

추가) 하이퍼 파라미터 조정은 생각보다 쉽지 않다. 절대적으로 가장 최적의 값을 찾기가 어렵기 때문이다.
이를 비교적 쉽게 찾기 위한 방법 중에는 Grid Search 와 random Search 가 있다.

최근에 최적의 f1 score 값을 찾기위한 방법 중 하나로 grid search를 공부하려 했는데 다음 글에서는 grid search 와 random search 에 대해 포스팅 해야겠다!

참고 : https://skmagic.tistory.com/104, https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=tjdudwo93&logNo=221067763334

0개의 댓글