Likelihood는 관측된 데이터 집합 D를 기반으로 하는 모델의 매개변수 θ에 대한 함수라고 표현할 수 있습니다. 이렇게만 들으면 잘 이해가 가지 않으니 조금 더 풀어서 설명해보면 가능도 함수는 분포나 모델에 대한 매개변수 θ에 대해 관측된 데이터 샘플들이 얼마나 그렇게 나타날 가능성이 있는지를 표현하는 함수입니다.
이래도 어려울 수 있어 또 다른 식으로 표현하면 어떤 사건 혹은 현상이 존재하고 어떤 분포에서 어느 정도의 확률인지를 보는 것입니다. 물론 여기서의 분포는 모델이 될 수도 있습니다.
위에서 설명한 딱딱한 정의를 내렸는데 이것만으로는 이해하기 난해할 것입니다.
이에 식과 함께 풀어서 설명해보도록 하겠습니다.
likelihood의 기본 전제는 관측된 데이터 샘플 혹은 관측된 무엇인가가 존재한다는 것입니다. 저는 여기서 다수의 xi로 구성된 D 데이터 샘플 집합이 존재한다고 표기해보겠습니다.
D={x1, x2, …,xN}
이 그림에서 데이터 샘플은 x=17, 20, 23를 D로 표기할 수 있습니다.
여기에서 모델 혹은 분포가 존재하고 그 모델이나 분포를 설명하기 위한 매개변수가 존재합니다. 저는 여기서 이 매개변수를 θ라 적겠습니다. 여기서 생각을 잘 하셔야하는 것이 우리는 매개변수 θ를 적었지만 결국 이 θ가 궁극적으로 의미하는 것은 이 θ를 활용하여 구성된 모델 혹은 분포라는 것입니다.
가령 위 그림에서는 정규분포(Normal/Gaussian Distribution) 3개가 그려져 있는데 이 때 사용하는 파라미터 θ는 각 정규분포별 μ,σ를 의미할 것이고 이것이 파라미터 θ가 될 것입니다. 만약 이것이 회귀 모델이라면 회귀 모델에 맞는 y=ax+b 중 a와 b를 의미할 것입니다. 딥러닝의 구조 모델이라면 각 layer별 weight를 의미하는 w가 θ를 의미할 것입니다.
여기까지 따라오셨다면 이제 가능도를 표기해보고 해석해보겠습니다.
맨 위에서 우리는 가능도를 관측된 데이터 집합 D를 기반으로 하는 모델의 매개변수 θ에 대한 함수라고 설명했습니다. 이를 그대로 식으로 풀어 쓰면 다음과 같습니다.
L(θ)=L(θ|D)=p(D|θ)
만약 데이터가 i.i.d (identically independent distribution)이라면 각 데이터별로 얻은 확률의 곱으로 likelihood를 정의할 수 있습니다.
L(θ|D)=p(D|θ)=n∏i=1p(xi|θ)
위 그림으로 따지면 빨간색 정규 분포에 대해 x=17, 20, 23에 대한 확률을 구해 각각 곱한 것을 의미합니다.
p(xi|θ)=1√2πσ2redexp{−(xi−μred)22σ2red}
물론 주어진 θ인 μ,σ가 녹색 정규 분포를 의미하면 그것에 대한 각각의 곱을 하고 황색에 대해서도 마찬가지입니다.
여기서 구한 likelihood를 잠깐 비교해보았을 때 L(θred)<L(θgreen)이라면 녹색에 해당하는 likelihood가 빨간색에 비해 더 모수에 가깝다는 것을 의미합니다.
이것이 가능도입니다. 물론 Likelihood는 θ에 대한 확률 분포가 아니기 때문에 모든 가능도의 합이 1이 되지 않을 수도 있습니다.
우리는 앞서 likelihood가 파라미터 θ에 대해 특정 모델이나 분포의 value 값을 찾았고 이를 통한 가능도를 확인했습니다. 그런데 잘 생각해보면 가능도 중에서도 높은 가능도가 있는 것이 있을 것이고 우리가 제공한 데이터 샘플에 가장 잘 맞는 모델이나 분포의 파라미터 θ가 존재할 것으로 예상됩니다. 여기서 우리는 likelihood를 maximum할 수 있는 estimation 즉, MLE를 진행하고 싶은 것입니다. 다시 말하면 최적의 파라미터 θ를 찾고싶은 것입니다.
MLE : 주어진 데이터를 제일 잘 설명하는 모델을 찾기
ˆθ=argmaxθL(θ|D)=argmaxθn∏i=1p(D|θ)
이때 계산의 편의성을 위해 log를 취함으로써 log likelihood를 구성하여 MLE를 진행합니다.
Log Likelihood
lnL(θ)=lnL(θ|D)=n∑i=1lnp(D|θ)
MLE with Log Likelihood
argmaxθlnL(θ)=argmaxθlnL(θ|D)=argmaxθn∑i=1lnp(D|θ)
가령 가우시안에 대한 파라미터 θ μ,σ를 활용하는 분포를 likelihood라고 가정하면 다음과 같은 log likelihood를 적을 수 있습니다.
lnp(x|μ,σ2)=−12σ2n∑i=1(xi−μ)2−n2lnσ2−n2ln(2π)
이를 이제 μ,σ에 대한 미분을 진행하여 MLE를 구합니다. 기본적으로 미분으로 최대값을 구할 수 있기 때문입니다.
μML
∂lnp(x|μ,σ2)∂μ=1σ2n∑i=1(xi−μML)=0
n∑i=1xi=nμML
μML=1nn∑i=1xi
σ2ML
∂lnp(x|μ,σ2)∂σ=1σ3n∑i=1(xi−μML)2−nσ=0
σ2ML=1nn∑i=1(xi−μML)2
가령 예를들어 동전 던지기와 같은 독립 시행이 보장되는 Bernoulli distribution에서의 MLE는 다음과 같이 정의될 것입니다.
ˆθ=argmaxθL(θ|D)=argmaxθn∏i=1P(D|θ)
=n∏i=1p(xi|p)=nCmpm(1−p)(n−m)
Log likelihood
lnP(x|p)=nCm(mlnp+(n−m)ln(1−p))
∂lnP(x|p)p=nCmm1p−nCm(n−m)11−p=0
p=mn
만약 y 정답이 존재하는 데이터 샘플이 주어졌을 때 신경망 모델의 가능도는 어떻게 표기할까요
x={x1, x2, …,xN}, y={y1, y2, …, yN}
D={(x1,y1), (x2,y2), …, (xN,yN)}
L(θ)=L(θ|D)=p(y|fθ(x))
fθ : θ를 파라미터로 가지는 모델 혹은 분포 함수의 출력값
이때의 Likelihood 해석은 파라미터 θ를 가지는 신경망에서의 예측값 혹은 출력이 나올 확률입니다.
이를 MLE 관점에서 확장해서 해석하면 네트워크의 출력값 (fθ)이 있을 때 우리가 원하는 정답 y가 높기를 바란다입니다.
ˆθ=argminθ[−log(p(y|fθ(x))]
주어진 데이터를 제일 잘 설명하는 모델을 찾기 -> 모델에 맞는 파라미터 θ를 찾기가 되는 것입니다.
여기서 한 단계 더 나아가서 Gaussian distribution을 기반으로 보면 likelihood는 다음과 같습니다.
p(yi|μi,σi)=1√2πσ2iexp[−(yi−μi)22σ2i]
Log likelihood
lnp(yi|μi,σi)=ln1√2πσ2i−(yi−μi)22σ2
여기서 σ=1이라 가정하면
−lnp(yi|μi)∝(yi−μi)22
와 같이 표현이 가능합니다.
잘 보시면 Mean Square Error의 구조를 많이 닮아 있습니다.
다시 설명하면 log likelihood를 Gaussian으로 해석해서 MLE를 하면 MSE를 minimize하는 것과 같은 말이 된다는 것을 의미합니다.
역으로 생각하면 우리가 출력하고자 하는 y가 Gaussian distribution을 따른다면 MSE를 쓰는 것이 맞다고 해석할 수 있습니다. 그 때문에 continuous value에서는 MSE를 쓰는 것입니다.
Bernoulli 역시 마찬가지입니다.
p(yi|pi)=pyii(1−pi)1−yi
lnp(yi|pi)=yilnpi+(1−yi)ln(1−pi)
−lnp(yi|pi)=−[yilnpi+(1−yi)ln(1−pi)]
이 역시 Cross entropy를 닮아 있습니다.
즉, 다시 설명하면 log likelihood를 Bernoulli로 해석해서 MLE를 하면 Cross entropy를 minimize하는 것과 같은 말이 된다는 것을 의미합니다.
역으로 생각하면 우리가 출력하고자 하는 y가 Bernoulli distribution을 따른다면 Cross entropy를 쓰는 것이 맞다고 해석할 수 있습니다. 그 때문에 discrete value에서는 Cross entropy를 쓰는 것입니다.
Multinoulli에 대해서는 softmax를 쓰는 것입니다.
https://hyeongminlee.github.io/post/bnn001_bayes_rule/
Bayes Rule (베이즈 룰) | Hyeongmin Lee's Website
Bayes Rule은 Bayesian Deep Learning에서 가장 기본이 되는 개념입니다. 어떤 값을 예측하기 위한 수단으로서 딥러닝 이전부터 굉장히 많이 쓰여 왔던 방식이기 때문에 Bayesian Deep Learning이 아니더라도 알
hyeongminlee.github.io
https://hyeongminlee.github.io/post/bnn002_mle_map/
Maximum Likelihood Estimation(MLE) & Maximum A Posterior(MAP) | Hyeongmin Lee's Website
Bayes Rule을 이용한 방식의 가장 큰 단점들 중 하나는 Likelihood의 Probability Distribution을 알아야 한다는 점입니다. 물론 앞선 포스팅에서는 관찰을 통해 Likelihood를 얻었지만, 여간 귀찮은 일이 아닐
hyeongminlee.github.io
What is the difference between "likelihood" and "probability"?
The wikipedia page claims that likelihood and probability are distinct concepts. In non-technical parlance, "likelihood" is usually a synonym for "probability," but in statistical usage there is a
stats.stackexchange.com
https://blog.naver.com/ivivaldi/221947736910
Likelihood, Prior & Bayes
Variational AutoEncoder(VAE)의 개념[4]을 잘 이해하기 위해 먼저 likelihood, bayes theorem, baye...
blog.naver.com
https://angeloyeo.github.io/2020/07/17/MLE.html
최대우도법(MLE) - 공돌이의 수학정리노트
angeloyeo.github.io
https://en.wikipedia.org/wiki/Likelihood_function#Background_and_interpretation
Likelihood function - Wikipedia
From Wikipedia, the free encyclopedia Jump to navigation Jump to search Function related to statistics and probability theory The likelihood function (often simply called the likelihood) describes the joint probability of the observed data as a function of
en.wikipedia.org
https://rpubs.com/Statdoc/204928
RPubs - 통계강의록 1: 확률(Probability) vs 가능도(Likelihood)
rpubs.com
0000