[머신러닝] 하이퍼 파라미터 개념 (파라미터, 하이퍼 파라미터, 하이퍼파라미터의 튜닝 기법)

1

Machine Learning

목록 보기
8/8

하이퍼 파라미터의 개념과 하이퍼 파라미터 최적화 (HyperParameter Tuning) 기법

1. 파라미터(Parameter)

: 머신러닝 훈련 모델에 의해 요구되는 변수

• 예측 모델은 새로운 샘플을 주어지면 무엇을 예측할지 결정할 수 있도록 파라미터를 필요로 한다.
• 머신러닝 훈련 모델의 성능은 파라미터에 의해 결정된다.
• 파라미터는 데이터로부터 추정 또는 학습된다.
• 파라미터는 개발자에 의해 수동으로 설정하지 않는다.(임의로 조정이 불가능하다)
• 학습된 모델의 일부로 저장된다.

예시)

  • 인공신경망의 가중치
  • SVM(Support Vector Machine)의 서포트 벡터
  • 선형 회귀 또는 로지스틱 회귀에서의 결정계수

2. 하이퍼파라미터(Hyperparameter)

: 머신러닝에서 하이퍼파라미터는 최적의 훈련 모델을 구현하기 위해 모델에 설정하는 변수

 모델의 매개 변수를 추정하는 데 도움이 되는 프로세스에서 사용된다.
 하이퍼파라미터는 개발자에 의해 수동으로 설정할 수 있다.(임의 조정 가능)
 학습 알고리즘의 샘플에 대한 일반화를 위해 조절된다.

예시)
• 학습률(Learning Rate): 학습 과정에서 모델이 얼마나 빠르게 학습할지를 결정
• 트리의 깊이(Tree Depth) 및 노드 수(Node Count): 의사결정트리 또는 랜덤 포레스트와 같은 트리 기반 모델에서 중요하다
• 배치 크기(Batch Size) 및 에포크 수(Epochs): 신경망에서 사용되며, 학습 데이터의 처리 방법을 결정
• 규제 매개변수(Regularization Parameters): 과적합을 방지하기 위해 모델의 복잡성을 조절

 일반적으로 모델에서 학습을 통해서 값이 결정되는 값을 파라미터라고 한다. 이 중에서 사용자가 값을 결정할 수 있는 파라미터를 하이퍼 파라미터라고 부른다. 하이퍼파라미터는 여러 가지 값을 대입해 보면서 최적의 값을 선택해야 한다. 이렇게 파라미터 값을 변경하면서 최적 값을 찾는 과정을 "모델 튜닝" 이라고 부른다.

📌주의점!

하이퍼 파라미터 튜닝 시, test set을 사용해서는 안된다. Test set은 모델의 최종 성능 평가를 위해서 사용되므로 모델의 학습 과정에서는 절대 사용되어서는 안된다. 따라서 validation set을 추가하여 사용해야 한다.

3. 하이퍼파라미터의 튜닝 기법

하이퍼파라미터 값을 찾는 방법

3-1. 매뉴얼 서치 Manual Search
말 그대로 사람이 직관이나 경험에 기반해 직접 찾는 방법.
먼저 임의의 값을 대입해 결과를 살피고, 그 결과에 따라 값을 조정해가며 변화를 관찰하는 것이다. 값을 하나씩 대입해보고 조정하는 과정을 반복하면서 최적의 값을 찾아간다.

3-2. 그리드 서치 Grid Search
탐색할 하이퍼파라미터의 범위를 정해 두고 그 안에서 일정한 간격으로 값을 대입해보는 방식
하지만 하이퍼파라미터의 개수에 따라 계산해야 할 차원이 기하급수적으로 늘어나기 때문에 탐색에 시간이 매우 오래 걸리고, 효율이 떨어진다. 더구나 grid 간격 이내에 최적 값이 있을 경우에는 찾을 수 없다는 단점도 있다.

3-3. 랜덤 서치 Random Search
그리드 서치와 마찬가지로 선험적인 지식을 이용해 하이퍼파라미터의 범위를 정하고, 무작위로 최적의 값을 탐색한다.그리드 서치에 비해 더 효율적인 것은 물론이고 결과도 더 우수한데, 그 이유는 모든 하이퍼파라미터의 중요도, 즉 최종 정확도에 미치는 영향력이 각각 다르기 때문이다

3-4. 베이지안 최적화 Bayesian Optimization
베이즈 정리(Bayes' theorem)를 기반으로 미지의 목적함수(Objective Function)를 최대화(혹은 최소화)하는 최적해를 찾는 기법이다.
매뉴얼 서치나 그리드 서치보다는 더 효율적이지만, 모든 문제에 대해 적합해서 일반적으로 적용할 수 있는 알고리즘은 아니다.

🔎 하이퍼파라미터 튜닝의 중요성
하이퍼파라미터 튜닝은 모델의 성능을 최대화하고, 과적합을 방지하는 데 중요. 특히, 대규모 데이터셋과 복잡한 모델에서 하이퍼파라미터의 영향이 크기 때문에, 적절한 튜닝 과정을 거치는 것이 중요하다. (이 과정은 시간과 자원이 많이 소모되기 때문에, 효율적인 방법으로 선택)

위 포스팅은 아래 링크 자료들을 참고해서 제작하였습니다. 온라인 속 선생님들 모두 감사드립니다🙇‍♂️

[참고자료]
https://ittrue.tistory.com/42
https://nanunzoey.tistory.com/entry/%ED%95%98%EC%9D%B4%ED%8D%BC%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0Hyperparmeter%EC%99%80-%EC%B5%9C%EC%A0%81%ED%99%94Optimization

profile
머신러닝,딥러닝,ai 공부

0개의 댓글