본문 바로가기
Python/Machine Learning

[ML]_파라미터도 있는데 하이퍼 파라미터는 또 뭐야?

by ssolLEE 2023. 8. 27.
반응형

  • 이 공부는 다음 멋진 책과 함께 합니다. 위키북스와 저자님 너무나도 감사합니다. 

 

분석 모형을 선정하고 나면 모형에 적합한 변수를 선택하여야 합니다. 이때 우리는 Parameter(매개변수)와 Hyper Parameter(초매개변수)를 선정하여야 합니다. 이 둘에 대해 한 번 알아보겠습니다. 

 

Parameter(매개변수)

  • 모델 내부에서 확인이 가능한 변수로 데이터를 통해서 산출이 가능한 값
  • 예측을 수행할 때 모델에 의해 요구되어지는 값들 
  • parameter가 모델의 성능을 결정
  • parameter는 측정되거나 데이터로부터 학습
  • 사람에 의해 수작업으로 측정되지 않음(임의로 조정 불가)
  • 종종 학습된 모델의 일부로 저장
    • 인공신경망에서의 가중치
    • 서포트 벡터 머신에서의 서포트 벡터
    • 선형 회귀나 로지스틱 회귀 분석에서의 결정계수

Hyper Parameter(초매개변수)

  • 모델에서 외적인 요소로 데이터 분석을 통해 얻어지는 값이 아니라 사용자가 직접 설정해주는 값
  • 모델의 Parameter값을 측정하기 위해 알고리즘 구현 과정에서 사용
  • Hyper Parameter(초매개변수)는 주로 알고리즘 사용자에 의해 결정
  • 경험에 의해 결정 가능한 값
  • 예측 알고리즘 모델링의 성능 등의 문제를 위해 조절
    • 학습률(Learning Rate)
    • 의사결정나무 깊이(Depth)
    • 신경망에서 은닉층(Hidden Layer)의 갯수
    • 서포트 벡터 머신에서의 코스트값인 C
    • KNN에서의 K의 수

하이퍼 파라미터 튜닝 - GridSearchCV

  • Hyper Parameter는 머신러닝 알고리즘을 구성하는 주요 구성요소이며, 이 값을 조정해 알고리즘 예측 성능을 개선할 수 있습니다. 
  • 하이퍼 파라미터를 튜닝하는 방법에는 GridSearchCV, RandomSearch, 베이지안 최적화, 휴리스틱 탐색 등이 있습니다. 
  • 사이킷런은 GridSearchCV API를 이용해 Classifier나 Regressor와 같은 알고리즘에 사용되는 하이퍼 파라미터를 순차적으로 입력하면서 편리하게 최적의 파라미터를 도출할 수 있는 방안을 제공합니다.(교차검증 기반)
  • 격자라는 의미를 가진 grid답게, 촘촘하게 파라미터를 입력하면서 테스트하는 방식입니다. 
  • GridSearchCV는 사용자가 튜닝하고자 하는 여러 종류의 하이퍼 파라미터를 다양하게 테스트하면서 최적의 파라미터를 찾게 해주는 만큼, 수행시간이 상대적으로 오래 걸리는 특징이 있습니다.

다음 포스팅에서는 GridSearchCV의 사용법을 익혀보겠습니다.

오늘도 감사합니다.