728x90
✅ 최대가능도 추정
1️⃣ 가능도 (Likelihood)란?
"현재의 데이터가, 특정 모델이나 파라미터로부터 관찰될 가능성"
데이터가 특정한 확률 분포(모델)로부터 나올 "확률값"을 계산
※ 예시
- 동전을 던져서 앞면이 나올 확률이 0.7이고, 10번 중 7번 앞면이 나왔다고 합시다.
- 여기서 가능도는,
"이 동전이 정말로 앞면 확률이 0.7일 때, '앞면이 7번 나온 이 결과'가 발생할 가능성은?"
- θ : 모델의 파라미터(예: 동전 앞면 확률 0.7).
- P(데이터) : 주어진 데이터가 모델에서 나올 확률.
2️⃣ **로그 가능도 (Log-likelihood)**란?
곱셈 대신 **로그(log)**를 취해 값을 더하기로 바꾸는 것이 로그 가능도
- 예: P(A)×P(B)×P(C) → logP(A)+logP(B)+logP(C)
3️⃣ 최대 가능도 추정법(Maximum Likelihood Estimation, MLE)
●가능도를 최대화하는 파라미터 𝜃를 찾는 방법
●일반적으로 가능도 함수의 미분을 통해 계산
"내가 가진 데이터를 가장 잘 설명할 수 있는 숫자를 찾자!"
MLE는 L(θ)L(\theta)를 가장 크게 만드는 θ를 찾는 것이 목표
●동전 던지기 예제:
○관측치: 앞면 7번, 뒷면 3번
○파라미터 𝜃: 동전을 던질 때 앞면이 나올 확률
○확률질량함수: p(앞면; 𝜃) = 𝜃, p(뒷면; 𝜃) = 1-𝜃
○가능도 최대화 = 어떤 𝜃에 대해 앞면 7번, 뒷면 3번이 나올 확률이 가장 클까?
○가능도: L(𝜃) = 𝜃7(1-𝜃)3
L(0.6) = 0.670.43 = 0.0017915904
○앞면이 나올 확률의 추정값 = 0.7
* 왜 중요할까?
MLE는 머신러닝 모델에서 데이터를 기반으로 최적의 모델 파라미터를 학습하는 데 많이 사용돼요.
예를 들어:
- 회귀 분석에서 가중치(θ)를 찾는 데 사용.
- 분류 모델에서 특정 클래스의 확률을 추정.
- 생성 모델에서 데이터 분포를 학습
4️⃣생성모델의 학습
데이터의 분포 Pdata 를 어떻게 모델링할까? = 모델 P𝜃 를 어떻게 학습할까?
○데이터의 분포 Pdata 와 모델 P𝜃 를 가깝게 하자!
- Pdata : 실제 데이터가 가지고 있는 분포 (예: 강아지 사진들). “진짜 정답”
- Pθ: 모델이 학습한 분포. ”예상 답“
- d(Pdata,Pθ) : 두 분포의 차이를 측정하는 거리.
✔️KL-발산 (Kullback-Leibler Divergence)
- Pdata: 우리가 다루고 싶은 실제 데이터의 분포
- x1, x2, …, xn: 우리는 실제 데이터(P_data)를 전체적으로 알지 못해요. 대신, 몇 가지 샘플(관측치)만 가지고 있어요.
- Pθ: 모델이 생성하고자 하는 데이터 분포 / 이 모델은 θ라는 매개변수에 따라 다르게 작동
- d(Pdata, Pθ): 이것은 두 분포(P_data와 P_θ) 간의 차이(또는 거리)를 측정하는 방법 / 모델이 얼마나 잘 구성되었는지를 평가하기 위한 기준
- Model family: 여러 가지 가능한 모델들이 모여 있는 공간. 이 공간에서 우리는 가장 적합한 모델을 찾으려 해요.
✔️Wrap - up
- 최대 가능도 추정법 (MLE): 최대 가능도 추정법은 데이터를 가장 잘 설명하는 모델의 파라미터를 찾는 방법.
모델이 데이터를 잘 생성하려면 이 가능도를 최대화해야 해요. - 쿨백-라이블러 발산 (KL Divergence): 두 확률 분포의 차이를 측정하는 방법. MLE를 통해 모델이 데이터를 잘 본뜨도록 만드는 데 활용돼요. 하지만 KL Divergence를 계산하려면 실제 데이터의 분포가 필요해요.
현실에서는 우리가 정확한 데이터 분포(Pdata)를 알 수 없기 때문에, MLE와 KL Divergence를 바로 적용하기 어려움
여기서 p(x)는 실제 데이터 분포이고, q(x)는 모델의 분포예요. KL 발산은 이 두 분포 간의 차이를 측정하는 값
728x90