들어가며
오늘은 머피의 머신러닝 3. Probability의 3.4 The exponential family에 대한 내용을 기반으로 정리를 해보고자 한다. 사실 exponential family라 하면 ML을 배우고 있는 사람들에게는 모르는 줄 알지만 알고있는 개념일 가능성이 크다. 나또한 그랬기 때문이다. 오늘 할 일은 exponential family가 어떤 개념인지를 파악하고, 예시로 bernoulli 분포가 exponential family에 속함을 수식적으로 확인해 볼 것이다.
참고 : 머피의 머신러닝
0. [Optional] 사전 지식
convex
머신러닝에서는 일반적으로 특정 함수가 convex 함수임을 전제로 들고 문제를 풀기 시작한다. 머신러닝에서 모델은 학습하는 함수가 가장 '최적값'을 찾는 부분을 찾고 해당 부분의 파라미터로 조금씩 조금씩 움직여 끝내 도달하는 식으로 학습되기를 기대한다. 그렇기 때문에 여기서 최적값으로 보일만한 부분은 해당 함수에서 단 하나이기를 기대한다 (== local optima는 없으면 좋겠다는 뜻). 한 곳의 점으로 수렴하기 위해 학습하고 싶은 것이지, 여러 개의 점으로 도달하기 위해 갈 수는 없기 때문이다. 그러려면 이 함수는 아래와 같이 생겨서는 안 된다.
따라서 최적값이 특정 함수 f에서 하나이길 바란다는 뜻은 'f가 convex 함수다'와 동치다. 대표적인 convex function은 exp(x) 함수가 있겠다. 반대로 concave(== upper convex) function 예시를 들자면 log(x) 함수일 것이다.
convex example | concave example |
![]() |
![]() |
prior, likelihood, posterior
baysian에 따라 posterior는 prior * likelihood의 꼴과 비례한다.
- prior : P(θ)
- likelihood : P(D|θ)
- posterior : P(θ|D) ~= prior * likelihood
bernoulli
베르누이 분포의 가장 대표적인 예시로는 동전 던지기가 있다.
- likelihood : θ1** N1 + θ0** N0
- log likelihood : N1*log(θ1) + N0*log(θ0)
- N1 : Y=1이 나온 횟수
- N0 : Y=0이 나온 횟수
- θ1 : Y=1이 나올 확률 (== 1 - θ0)
- θ0 : Y=0이 나올 확률 (== 1 - θ1)
- θ0 + θ1 = 1
1. Exponential Family
개념
exponential family란 무엇을 의미할까? 이는 한 종류의 확률 분포를 의미한다. exponential이라는 단어가 들어가는 것을 봤을 때 이 명칭이 의미하는 분포들은 exp() 형태가 무조건 들어갈 것 같다. 바로 다음과 같은 형태로 말이다.
이 수식이 의미하는 바는 파라미터 η를 갖는 y의 확률 분포다. y의 확률분포를 위와 같이 η를 활용해 exp 함수 형태로 나타날 수 있다면 이 확률분포는 exponential family에 속한다.
함수를 찬찬히 뜯어보자. 먼저 h(y)는 보통 1의 값을 가지는 scaling constant다. T(y)는 sufficient statistics로 정의한다. η 는 natural parameter로 이를 통해 normalizeation constant( == partition function) 인 Z(η)를 정의할 수 있다. A(η)는 log(Z(η))이다. log 함수이기 때문에 A는 convex function이다.
정리하면 아래와 같다.
exponential family의 종류
η를 f(φ)로 치환했을 때 p(y|η)는 다음과 같이 바뀐다.
- Curved Exponential Family : 이 때 f(φ)가 nonlinear function이라면 p(y|)는 curved exponential family로 정의한다.
- Canonical Form : 위 수식에서 η = f(φ) 를 기본 전제로 깔고 들어가고 있다. 만약 η=f(φ)=φ 라면 이 분포를 canonical form으로 정의한다.
- Natural Exponential Family(NEF) : 위 수식에서 T(y) = y를 만족한다면 NEF으로 정의한다. 여기에 해당될 경우 p(y|η)는 아래와 같이 조금 더 간단한 형태로 표현된다. 개념에서 언급했듯이 h(y)는 대체로 1이기 때문이다.
- P(y|) = exp[trans(η) - A(y)]
why exponential family?
굳이 재미없어 보이는 수식으로 확률분포를 exponential family 꼴로 왜 나타낼까? 그 이유는 선형 모델(linear model)을 일반화하기 위해서다. 만약 prior와 likelihood가 둘 다 exponential family에 속해있다면 posterior를 구하는 것도 쉬울 것이다. 비슷한 함수 꼴로 나타낸다는 것은 해당 분포들을 해석하거나 연산하기 조금 더 수월해진다는 의미가 포함되어 있다.
2. Bernoulli Example
이번엔 베르누이 확률 분포가 exponential family에 속함을 보일 것이다. 베르누이 확률은 아래와 같다. y가 나올 확률을 , y가 나오질 않은 확률을 1- 로 표현한 bernoulli likelihood다.
먼저 간단 버전으로 이 수식을 exponential family로 나타내자면 y가 1일 때와 y가 0일 때로 나눠서 생각할 수 있다.
이 버전으로 나타냈을 때의 단점은 단 하나의 , η를 구할 수 없는 구조란 거다. T(y)=1을 만족하기 때문에, linear dependence 하여 유일해를 구할 수 없다. 두 번째 버전으로 베르누이 확률을 풀어보자. exponential 안 우측 식이 A(η)가 되게끔, 좌측 수식이 η*T(y) 꼴이 되게끔 해보는 거다.
오! 만들기 성공했다. h(y) = 1, T(y) = y, η = log(u/(1-u)), A(η)= - log(1-u)인 exponential family form이 되었다. 여기서 한술 더 떠서 likelihood에서 구하고 싶은 목표, u에 대한 식으로 다시 풀어볼 수 있겠다.
- η = log ( u / (1-u)) . 이 식을 u에 대해 풀어보면 아래와 같다.
- u = 1 / (1 + exp(-n)) = g(η). 오, 여기서 g가 sigmoid함수와 동일해졌다.
exponenfial family로 나타내서 η 와 u의 식을 풀어냈더니 u를 sigmoid(logistic) 함수로 나타낼 수 있게 되었다.
마치며
exponential family에는 위에서 예시로 든 베르누이 분포를 포함하며 univariate 분포, EM(Expectation Maximization) 알고리즘의 M step, Generalized Linear Model, exponential PCA 등등이 존재한다. 추가로 maximum likelihood p를 구할 때 lagrangian multiplier를 적용하여 엔트로피 수식을 전개하면 p가 exponential family form으로 풀어낼 수도 있다. 이 글을 읽고 많은 개념들을 Exponential Family 형태로 풀어낼 수 있다는 것을 얻어가면 좋겠다.
'머신러닝 > 아맞다' 카테고리의 다른 글
EM(Expectation-Maximization) 알고리즘의 완벽한 기초 (3) | 2023.08.13 |
---|---|
[짧] KNN(K Nearest Neighbor) 분류모델 이론 (0) | 2023.08.06 |
Lagrange Multiplier 이론 정리 (0) | 2023.07.29 |
LDA(선형판별분석) 에 대한 완벽 개념 (0) | 2023.06.04 |
MLE 완벽 개념 (2) | 2023.05.29 |