본문 바로가기
수학

[AI 수학] 인공지능 수학 - 7. 우도(likelihood)란? (최대가능도/음의 로그 우도)

by mhiiii 2025. 4. 8.
728x90

우도, 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로 바꾸게 됨 

 

 

728x90