균일 분포와 균등 분포는 본질적으로 같은 개념을 가리키는 용어입니다. 두 용어 모두 확률론과 통계학에서 사용되는 분포로, 특정 범위 내의 모든 값이 동일한 확률을 가지는 분포를 의미합니다.
균일 분포/균등 분포(Uniform Distribution)
기본 개념
- 주어진 범위 내에서 모든 값이 발생할 확률이 동일한 분포
- 주사위를 던지거나 카드를 뽑는 등의 상황에서 볼 수 있는 분포
- 수학적으로는 모든 값에 대해 확률 밀도 함수(PDF)가 일정한 값을 가짐
종류
- 이산 균일 분포(Discrete Uniform Distribution)
- 유한한 개수의 값들이 동일한 확률을 가짐
- 예: 주사위를 던질 때 1부터 6까지의 숫자가 나올 확률은 모두 1/6로 동일
- 연속 균일 분포(Continuous Uniform Distribution)
- 연속적인 범위 내의 모든 값이 동일한 확률을 가짐
- 수학적 표기: U(a, b) - a와 b 사이의 균일 분포
- 확률 밀도 함수: f(x) = 1/(b-a), a ≤ x ≤ b
- 예: [0, 1] 범위의 균일 분포에서는 모든 구간이 동일한 확률을 가짐
특성
- 평균(기댓값): (a + b)/2
- 분산: (b - a)²/12
- 모든 값이 동일한 확률을 가지므로 그래프로 표현하면 직사각형 모양이 됨
활용
- 난수 생성
- 시뮬레이션
- 베이지안 통계에서의 사전 분포
- 하이퍼파라미터 튜닝(RandomizedSearchCV와 같은)
귀하가 언급한 SVC 모델의 하이퍼파라미터 튜닝에서는 stats.uniform(loc, scale)을 사용하여 연속 균일 분포에서 C와 gamma 값을 무작위로 추출하여 다양한 모델 구성을 테스트하는 데 활용됩니다.
stats.uniform의 의미와 사용법
stats.uniform(loc, scale)은 scipy.stats 라이브러리의 균일 분포(Uniform Distribution) 객체를 생성하는 함수입니다.
- loc: 분포의 시작점 (최소값)
- scale: 분포의 너비 (최대값 - 최소값)
따라서:
- stats.uniform(0, 50)은 0부터 50까지의 균일 분포를 의미합니다.
- stats.uniform(0, 1)은 0부터 1까지의 균일 분포를 의미합니다.
RandomizedSearchCV와 확률 분포의 관계
RandomizedSearchCV는 하이퍼파라미터 튜닝을 할 때, 지정된 확률 분포에서 무작위로 값을 추출하여 모델을 학습하고 평가합니다. 이는 모든 가능한 조합을 시도하는 GridSearchCV보다 효율적입니다.
hyperparams = {
"C": stats.uniform(0, 50),
"gamma": stats.uniform(0, 1)
}
이 의미는:
- "C" 매개변수는 0부터 50 사이에서 균일한 확률로 무작위 값을 선택합니다.
- "gamma" 매개변수는 0부터 1 사이에서 균일한 확률로 무작위 값을 선택합니다.
SVC 모델에서 C와 gamma의 의미
- C 매개변수:
- 규제(regularization) 매개변수로, 오분류된 샘플에 대한 페널티를 조절합니다.
- 값이 클수록 모델이 훈련 데이터에 더 맞추려고 시도하므로 과적합 위험이 높아집니다.
- 값이 작을수록 더 단순한 결정 경계를 만들어 일반화 성능이 향상될 수 있습니다.
- gamma 매개변수:
- RBF 커널의 영향 범위를 결정합니다.
- 값이 작을수록 영향 범위가 넓어져 부드러운 결정 경계를 만듭니다.
- 값이 클수록 영향 범위가 좁아져 훈련 데이터 포인트에 더 민감해집니다.
RandomizedSearchCV는 이러한 분포에서 무작위로 값을 추출하여 다양한 조합을 시도하고, 가장 성능이 좋은 하이퍼파라미터 조합을 찾아냅니다.
C 파라미터
C는 규제(regularization) 파라미터로, 오분류에 대한 패널티를 조절합니다:
- 높은 C 값:
- 더 작은 마진(여백)을 허용함
- 더 많은 훈련 데이터 포인트를 올바르게 분류하려고 노력함
- 결정 경계가 더 복잡해짐
- 과적합(overfitting)의 위험이 증가함
- 낮은 C 값:
- 더 넓은 마진을 선호함
- 일부 훈련 데이터 포인트의 오분류를 허용함
- 결정 경계가 더 단순해짐
- 과소적합(underfitting)의 위험이 있지만 일반화 성능이 향상될 수 있음
gamma 파라미터
gamma는 RBF(Radial Basis Function) 커널을 사용할 때만 관련이 있으며, 결정 경계의 모양을 결정합니다:
- 높은 gamma 값:
- 각 훈련 샘플의 영향 범위가 좁아짐
- 결정 경계가 더 복잡하고 구불구불해짐
- 개별 데이터 포인트에 더 민감해짐
- 과적합의 위험이 증가함
- 낮은 gamma 값:
- 각 훈련 샘플의 영향 범위가 넓어짐
- 결정 경계가 더 부드럽고 단순해짐
- 데이터의 전반적인 분포에 더 의존함
- 일반화 성능이 향상될 수 있지만 과소적합의 위험이 있음
실제 튜닝 시 고려사항
이 두 파라미터는 상호작용하여 모델의 성능에 영향을 미칩니다:
- C가 크고 gamma가 작으면: 복잡하지만 넓은 영향 범위를 가진 모델
- C가 작고 gamma가 크면: 단순하지만 좁은 영향 범위를 가진 모델
- C와 gamma가 모두 크면: 매우 복잡하고 훈련 데이터에 과적합될 가능성이 높음
- C와 gamma가 모두 작으면: 매우 단순하고 과소적합될 가능성이 높음
RandomizedSearchCV를 사용할 때 이 두 파라미터에 대해 다양한 값을 시도하여 최적의 조합을 찾는 것이 중요합니다.
'데이브리 > 머신러닝' 카테고리의 다른 글
XGBoost와 하이퍼파라미터 (0) | 2025.04.16 |
---|---|
저작권 문제로 혼자 개인적으로 정리하는 용도로 쓰지 자료는 공개하지 않겠습니다. (0) | 2025.03.12 |