우도, likelihood
우도란?
내가 관측한 데이터가, 이 모델에서 얼마나 그럴듯한가? 를 나타내는 값
쉽게 말하자면
주사위를 던졌는데 6이 나옴
내가 가진 모델은 공정한 주사위 모델 (숫자 각각의 확률 1/6)
이 모델에서 6이 나올 확률은?
$$P(x = 6 | 공정한 주사위) = \frac{1}{6}$$
👉 이게 바로 우도
즉, 관측값 $x = 6$이 나왔을 때, 그게 모델로부터 나올 가능성을 의미
그럼 확률과 우도는 어떻게 다를까?
개념 | 무엇에 대한 함수? | 설명 |
확률 (Probability) | 데이터 $x$에 대한 함수 | 모델이 고정되어 있을 때, 특정 데이터가 나올 확률 |
우도 (Likelihood) | 모델 파라미터 $\theta$에 대한 함수 | 데이터를 고정하고, 그 데이터가 얼마나 모델에 잘 맞는지 평가 |
$$P(x| \theta)$$
이 수식 자체는 똑같지만,
해석하는 방식(무엇을 고정하고, 무엇을 변수로 보느냐)에 따라
→ 확률(probability)이 될 수도 있고
→ 우도(likelihood)가 될 수도 있음
확률 (Probability)
$$P(x | \theta) $$
- 모델의 파라미터 는 이미 정해져 있음 (= 학습이 끝난 상태)
- 이제 $x$라는 데이터를 샘플링하거나 평가할 때 확률 분포로부터 값을 뽑는 상황
- " 이미 학습된 모델이 주어졌을 때, $x$가 나올 확률을 얼마일까?"
우도 (Likelihood)
$$\mathcal{L}(\theta \mid x) = P(x | \theta) $$
- 이미 $x$는 관측됨 (데이터 고정)
- "이 데이터를 가장 그럴듯하게 설명하는 는 무엇일까?"
- 모델 파라미터를 바꿔가면서 이 데이터에 가장 잘 맞는 모델을 찾는 것
차이 요약
관점 | 무엇이 고정? | 무엇을 바꾸는가? | 용도 | 이름 |
확률 | $\theta$ | $x$ | 샘플 생성 시 | 확률붙포 |
우도 | $x$ | $\theta$ | 학습 시 | 우도 함수 |
우도는 딥러닝에서 왜 중요할까?
딥러닝 모델 학습에서는,
주어진 데이터에 대해 모델이 "가장 그럴듯한" 파라미터를 찾고 싶어함
그래서,
- 관측된 $x$에 대해
- 를 바꾸면서
- $P(x|\theta)$ = 우도를 최대화하는 방식으로 모델을 학습
👉 이를 최대 가능도, Maximum Likelihood Estimation (MLE)이라고 함!
최대 가능도란?
주어진 데이터가 있을 때, 그 데이터를 가장 잘 설명하는 파라미터(모델)를 찾는 방법
- 어떤 주사위를 100번 던졌더니 6이 자주 나옴
- 우리는 이 주사위가 공정한지 비공정한지 알고 싶을 때
- 그럼 어떤 확률분포(모델 파라미터)가 이 데이터를 가장 그럴듯하게 설명할까?
→ 바로 그때 사용하는 게 MLE
수식
1. 주어진 데이터
$ x_1, x_2, ... , x_n$
2. 모델이 데이터를 생성할 확률
$P(x_1, x_2, ... , x_n | \theta) = \prod^n_{i=1}P(x_i | \theta) $
2번 식을 우도 함수라고 함
✅ 이걸 최대화하는 파라미터 $\theta^*$를 찾는 게 목표 !
$$\theta^* = arg\, \underset{\theta}{max} \mathcal{L}(\theta \mid x_1, ... , x_n) = arg\, \underset{\theta}{max} \prod^n_{i=1}P(x_i | \theta) $$
곱셈이 너무 복잡하고 수치적으로 불안정하니까, 보통 로그를 취해서 log-likelihood를 최대화
$$\theta^* = arg\, \underset{\theta}{max} \sum^n_{i=1}logP(x_i | \theta)$$
딥러닝에서는 보통 이걸 음의 로그 우도 (Negative Log-Likelihood, NLL)로 바꿔서 loss로 사용
$$Loss = -\sum^n_{i=1}logP(x_i | \theta)$$
📌 딥러닝에선 왜 음의 로그 우도를 사용할까?
✅ 왜 로그를 취할까?
1. 곱을 덧셈으로 단순화하기 위해
- 위 2번식과 같이 곱을 계속 사용하게 되면 수가 너무 작아지게 됨
2. 미분 계산이 쉬워짐 (역전파에 유리)
- 로그를 사용하면 미분 연산이 단순해져 경사하강법 계산이 깔끔해짐
✅ 왜 -를 붙일까?
딥러닝에서는 보통 loss를 최소화하려고 함
그런데 우도는 높을수록 좋음
그래서, 우도를 최대화하고 싶으니까 로그를 취하고 부호를 바꿔서 작을수록 좋은 loss로 바꾸게 됨
'수학' 카테고리의 다른 글
[AI 수학] 인공지능 수학 - 7. 확률변수와 확률분포 (베르누이, 포아송, 정규분포, 균등분포, 지수분포) (0) | 2025.03.20 |
---|---|
[AI 수학] 인공지능 수학 - 6. 기초 통계 (2) | 2025.03.20 |
[AI 수학] 인공지능 수학 - 5. 고유값과 고유 벡터, 고윳값 분해 (0) | 2025.03.17 |
[AI 수학] 인공지능 수학 - 4. 기저와 차원, 벡터 공간 (0) | 2025.02.11 |
[AI 수학] 인공지능 수학 - 3. 선형변환 (0) | 2025.02.11 |