Loading [MathJax]/jax/output/CommonHTML/fonts/TeX/fontdata.js
열심히 살아서 개같이 벌자

real-rock의 데이터 엔지니어 도전기

Data Science/Statistics

Likelihood란 무엇인가

real-rock 2022. 10. 3. 15:14

이번 포스트에서는 "Likelihood(우도)"와 "Probability(확률)"에 대해 알아보도록 하자.

이 글에서는 다음 아래의 개념들을 알고 있다는 전제하에 진행한다.

  • Probability distribution(확률 분포)
  • Probability Density Function(확률밀도함수, PDF)
  • Bayes Fromula(베이즈 정리)
    • P(y|x)=P(x|y)P(y)P(x)

위의 내용은 통계학의 기본 내용들로 간단한 구글 검색으로도 충분히 익힐 수 있다.

 

자 그럼 확률은 무엇인가를 예시로 알아보도록 하자. 만약 누군가가 이 세상 모든 고양이의 몸무게를 조사하여 고양이 몸무게 분포를 얻은 상황이라고 가정해보자. 조사를 해보았더니 몸무게는 다음 아래와 같이 평균이 5이고 표준편차가 1인 정규분포였다고 한다.

고양이 몸무게에 대한 PDF

이제 내가 고양이를 눈 감고 랜덤으로 한마리를 뽑아 입양할 것이다. 이때 내가 뽑은 고양이의 몸무게가 6kg이상 7kg이하일 확률을 구하려고 한다면 위의 확률밀도함수 p(x)에 대해 다음 아래와 같은 식을 통해 구할 수 있다.

P(67)=76p(x)dx

즉, 확률은 주어진(고정된) 모수에 대해 내가 얻게될 표본의 정보라고 생각할 수 있다. 위의 식을 조금 더 자세하게 쓴다면,

P(6X7|N(μ=5,σ=1))=76p(x)dx

인 것이다(N은 정규분포 의미). 

 

자 이제 확률은 알겠고 Likelihood는 뭐일까? 우선 수식적인 정의는 다음 아래와 같다.

Likelihood(x|y)=P(y|x)

개념적으로는 위의 확률 예시와는 반대인 상황이다. 내가 이미 고양이를 한마리 입양했는데 몸무게를 측정했더니 7kg이었다. 이때 위와 같은 분포 조건 하에서 Likelihood는 p(7)의 값이다. 즉, Likelihood는 x값에 대응하는 확률밀도함수의 값이다. 수식으로는 다음 아래와 같이 나타낸다.

L(7|N(μ=5,σ=1))

또한 이는 확률과는 다음 아래와 같은 관계를 지닌다.

 

조금 더 정확한 표현을 위해 Statquest의 말을 인용해보면

확률은 고정된 분포에 대해 그 데이터에 대한 영역값이고 우도는 고정되지 않은 분포에 대해 고정된 데이터 표본의 확률밀도함수 값이다.

Probabilities are the areas under a fixed distribution
Likelihoods are the y-axis values for fixed data points with distributions that can be moved

이제 위의 예시와는 달리 우리가 고양이의 몸무게 분포를 모른다고 가정해보자. 이때 주위를 조금 둘러보니 몇 개의 고양이 몸무게의 값들을 얻을 수 있었다. 이때 최대우도추정(Maximum Likelihood Estimation, MLE)이라는 개념이 등장한다. 우리는 확률분포를 조정하여 Likelihood를 최대로 하는 분포를 찾을 수 있는 것이다. 예를 들어, 편의상 고양이의 몸무게 분포가 정규분포를 따른다고 할 때(평균과 표준편차는 모름), 얻은 고양이 몸무게들을 이용하여 가장 높은 가능성이 될 수 있는 평균과 표준편차를 찾을 수 있는 것이다!!!

출처: Statquest Maximum Likelihood (https://youtube/XepXtl9YKwc)

우리는 정확한 고양이의 몸무게 분포를 모르지만 얻은 데이터에서 가장 높은 가능성의 분포를 특정할 수 있다.

 

그렇다면 이를 머신러닝과 연결시켜서 생각해보자. 머신러닝에서 분류 문제를 생각해 본다면 결국 알아야 할 것은 입력 x에 대해 y가 나올 확률이다. 이를 수식적으로 본다면 P(y|x)를 알아야 한다는 것이다. 베이즈 정리에 의하면 결국

P(y|x)=P(x|y)P(y)P(x)

인데 우리가 갖고 있는 데이터를 통해 사전확률인 P(y)는 미리 알 수 있고 P(x)가 모든 값에 공통적으로 들어가기 때문에 우열을 가리는 입장에서는 크게 의미가 없다. 결국 중요한 것은 Likelihood, 즉 P(x|y)인데 y값(클래스)에 독립적으로 확률분포를 추정할 수 있기 때문에 P(y|x)보다 구하기 쉽다. 최대우도를 추정하기 위해 여러 확률밀도 추정 기법이 존재하는데 이는 차후 다루도록 하겠다.

 

 

이번 포스트에는 확률과 우도에 대한 내용을 다루었는데 솔직히 아직도 헷갈리는건 사실이다. 통계학은 멀고도 험난하다... 앞으로는 정보이론에 대한 내용을 다루고자 한다. 혹시 이 글을 보시는 분들 중에 틀린 내용을 찾으신다면..! 꼭 알려주시길 바랍니다.