ML basics - Probability Distributions 2
가우시안 분포 (Gaussian Distribution)Permalink
a single variable
a D-dimensional vector
is a -dimensional mean vector. is a covariance matrix. denotes the determinant of .
이 값은 scalar 값이라는 사실을 볼 수 있다.
이유:
가 행렬이지만 여기서 determinant( )을 구했기 때문에.- 지수부(
)는 이차형식이기 때문에 역시 scalar.
따라서 결과 값은 scalar값이다.
단일변수
이던지 차원의 벡터이던지 간에 가우시안 분포가 주어졌을 때 어떤 것이 확률변수이고 확률의 파라미터인지 잘 구분하는 것이 중요하다. 가 확률변수이고 와 가 파라미터. 유의할 점은 가우시간 분포가 주어졌을 때, 평균과 분산이 주어진 것이 아니고, 이것들이 파라미터로 주어진 확률밀도 함수의 평균과 공분산이 와 이 된다는 것이다.
유의할 점은 가우시간 분포가 주어졌을 때, 평균과 분산이 주어진 것이 아니고,
이것들이 파라미터로 주어진 확률밀도 함수의 평균과 공분산이
가우시안 분포가 일어나는 여러가지 상황Permalink
1. 정보이론에서 엔트로피를 최대화시키는 확률분포Permalink
영상보고 정리할 것
2. 중심극한정리Permalink
영상보고 정리할 것
가우시안 분포의 기하학적인 형태Permalink
에 대한 함수적 종속성은 지수부에 등장하는 이차형식(quadratic form)에 있다.
이러한 형태의 이차형식이 가우시안 분포에서 핵심적인 부분이다.
가 공분산으로 주어진 것이 아니기 때문에 처음부터 이 행렬이 대칭이라고 생각할 필요는 없다. 하지만 이차형식에 나타나는 행렬은 오직 대칭부분만이 그 값에 기여한다는 사실을 기억하자.
따라서
- 대칭행렬의 성질에 따라서
를 아래와 같이 나타낼 수 있다.
도 쉽게 구할 수 있다.
- 이차형식은 다음과 같이 표현될 수 있다.
- 벡터식으로 확장하면
를 벡터들 에 의해 정의된 새로운 좌표체계 내의 점으로 해석할 수 있다. 이것을 기저변환(change of basis)이라고 한다.
: standard basis에서의 좌표 : basis 에서의 좌표
는 coefficient들을 모아논 값.
red circle: x1, x2 좌표내에서 점들의 집합이 동일한 분포를 갖는다.
고유벡터까지를 basis로 하는 좌표계에서는 차원을 이루고 그 모양은 고유값들에 의해 결정된다.
가우시안 분포의 Normalization 증명Permalink
- 확률이론시간에 배운 확률변수의 함수를 복습하라.
의 확률밀도함수를 구하기 위해서 Jacobian 를 구해야 한다.
결국
라는 사실을 알 수 있다.
- 행렬식
는 고유값의 곱으로 나타낼 수 있다.
- 따라서,
의 확률밀도함수는
의 normalization
적분을 하게 되면 D개의 y variables이 각각 다른 변수들이기 때문에 D개의 적분의 곱으로 나타낼 수 있다.
따라서단일변수의 가우시안 분포와 같다. 이미 단일 변수일 경우 normalize되었다는 것을 확인했기 때문에 이를 D번 곱해주는 결과와 같게 된다.
가우시안 분포의 기댓값Permalink
와 가 정의된 것이 아니라 단순히 함수의 파라미터로 주어져있는데 기댓값과 공분산의 정의를 통해 식을 유도하다 보면 와 가 가지는 의미를 찾을 수 있게 될 것이다. 결국 가 확률분포의 기댓값이 되고 가 확률분포의 공분산이 될 것임
다변량(multivariate) 확률변수의 기댓값Permalink
가 벡터일 때 의 기댓값도 벡터가 된다.
의 기댓값을 정의했을 때, 에 을 곱한 값을 적분한 값이 된다.
이라는 것은 marginalization(주변화)를 통해서 구할 수 있을 것이다.
: joint probability의 pdf 가 주어졌을 때 을 제외한 나머지 모든 값들에 대해 적분을 하게 되면 주변화를 통해 의 값이 구해지게 되는 것이다.
정리하면,에 joint probability의 pdf( )를 곱하고 까지 모든 변수에 대해 적분을 하면 의 기댓값이 된다.
가우시안 분포의 기댓값Permalink
지수함수를 포함한 부분이 odd function이기 때문에 결국 적분의 결과 값은 0이 된다.
남은
따라서
가우시안 분포의 공분산Permalink
공분산을 구하기 위해서 먼저 2차 적률(second order moments)을 구한다.
2차 적률: 단일변수일 경우 제곱의 기댓갑을 의미하고, 벡터일 경우
의 기댓값을 의미한다.
예를 들어, x가 2차원일 경우:
이러한 이차형식을 y에 관한 합의 형태로 나타낼 수 있다.
를 활용.
이 대각행렬이기 때문에 남는 부분은 대각선 원소이다.
이 적분은 하나의 행렬이다. 이 부분은 행렬들을 계속 더한 부분이다. 개의 개수만큼 행렬을 더한 것이다. 개의 행렬중에서 인 모든 경우에 그 행렬들이 영행렬이 된다는 사실이다.
행렬
위 식에서
에 대해 적분을 하게 되면 는 앞으로 나가게 되고, 이 부분은 odd function이 된다. 따라서 0이 되기 때문에 전체가 0이 되는 것이다.
이것은 행렬들의 합이라고 했는데, 그 합들 중에서 살아남는 부분은 일때만 살아남게 되는 것이다.
따라서,
아래의 식에서 summation이 두개 (
)가 있었지만 i=j일 경우에만 있으면 되기 때문에 로 변환한다.
합의 형태로 된 지수부
를 곱의 형태로 바꿔준다.
이 부분은 1이 될 것이고, 이 부분도 단일변수의 성질을 이용해서 가 된다.
: set - set의 의미이다. 따라서 k가 1부터 D까지 중에서 i가 아닌 모든 경우에 대해서.
이 식에서,
와 관련된 부분이 가 됨을 보였고, 부분, 부분, 부분을 안했지만, 이것은 기댓값을 할때 odd function을 사용해서 사라지게 되고, 만 남게 되는데, 앞에 있는 에 대해서는 별개이기 때문에 적분앞으로 나가서 결과적으로 만 남게 되는 것이다.
결과적으로
이 식이 완성된다.
확률변수의 벡터
위의 결과를 이용하면 공분산은
확률변수 벡터
가 가우시안 분포를 따를 때, 그 분포의 파라미터로 주어져 있던 가 바로 그 분포의 평균이 되고, 파라미터로 주어져 있던 가 공분산이 된다는 사실을 알게 됨.
조건부 가우시안 분포 (Conditional Gaussian Distribution)Permalink
는 개의 원소를 가진다고 했기 때문에, 는 개의 원소를 가진다.
때로는 공분산의 역행렬, 즉 정확도 행렬(precision matrix)을 사용하는 것이 수식을 간편하게 한다.
와 는 symmetric 이다. 따라서 이고
라고 해서 각각의 작은 행렬들에 대해서는 성립하지 않는다. 따라서, 이다.
지수부의 이차형식을 위의 파티션을 사용해서 전개해보자.
여기서 사이즈를 먼저 확인하자.
이것은 이고 이것은 이다.
따라서 위에서
에 관해서 정의한 것을 다시 와 에 대한 관계식으로 넣어준다면, 가 되기 때문에 이 식을 아래처럼 바꿔줄 수 있는 것이다.
에 대한 조건부 확률을 구할 준비가 되었다.
가 주어졌을 때 의 조건부확률 ( )을 구하는 것이다.
완전제곱식 (Completing the Square) 방법Permalink
단일 변수일 경우,
이렇게 되는 것이 완전 제곱식이다.
완전제곱식을 사용해서 곱의 형태로 나타내기 위해서 사용한다.
확률밀도함수
는 위의 식에서 에 대해 적분했기 때문에 결과적으로 라는 의 주변확률이 되는 것이다.
이것을 다시 원래의 식에 대입을 해보면
가 되는 것이다.
따라서
는 결국 조건부확률이 되는 것이다.
위 과정을 통해 원래의 결합확률 분포를 변형시켜서 함수
이차형식과 완전제곱식의 관계Permalink
관한 분포함수를 normalize 시키기 위해 상수 를 구하게 되면
이 부분을 라고 볼 수 있고, 나머지 를 라고 볼 수 있다.
이처럼, 주어진 가우시안 분포함수를 변형시켜서 조건부확률을 구할 수 있게 되는 것이다.
알아야 할 것은 조건부확률의 평균과 공분산 값이다. 이 것을 알기 위해서 굳이
와 값을 계산할 필요는 없다.
가우시안 분포의 지수부는 다음과 같이 전개된다는 것이 중요한 포인트이다.
여기서 상수부
이다. 따라서 공분산은
이다. 이제 평균벡터를 구하기 위해서는
뒤의 항에 Transpose를 시키면 앞뒤가 같은 항이 된다.
역시 마찬가지로 transpose
위의 결과 2개를 더한 값이 바로
의 일차항이 된다.
일차항의 계수는 공분산의 역행렬에
가 되어야 하기 때문에, 일차항의 계수 에다가 행렬을 곱해주면 된다. 이 때 이기 때문에 을 곱해준다.
주변 가우시안 분포 (Marginal Gaussian Distribution)Permalink
다음과 같은 주변분포를 계산하고자 한다.
전략은 다음과 같다.
- 위에서 함수
는 원래 지수부를 파티션을 통해 전개한 식 중에서 을 포함한 모든 항들을 모은 식이다. 그리고 는 에 포함된 항들을 제외한 항들 중 를 포함한 모든 항들을 모은식이다. 는 나머지 항들을 모은 식이다. 는 을 위한 완전제곱식이다. 는 와 독립적이므로 적분식 밖으로 나갈 수 있다. 를 의 완전제곱식으로 만들면 의 평균벡터와 공분산행렬을 구할 수 있다.
파티션을 위한 이차형식을 다시 살펴본다.
이 식을 전부 펼치면 총 16개의 항이 있게 된다. 이 중
아래와 같이
where
따라서
이 값은 공분산
마지막으로
따라서 공분산은
이고, 평균 벡터는
공분산의 형태가 복잡하게 보이지만 Schur complement를 사용하면
임을 알 수 있다. 정리하자면
-
-
가우시안 분포를 위한 베이즈 정리 (Bayes’ Theorem for Gaussian Variables)Permalink
의 평균이 에 관한 선형함수임을 기억하자.
먼저
위의 식에서 x와 y에 관한 항들을 모은 식이 아래와 같다.
아래의 식을 확인하기 전에의 결과가 어떻게 나오는 지 확인하자.
이 된다. 이 , 사이에 있는 식을 찾아서 행렬을 만들면 아래의 행렬이 됨을 알 수 있다.
따라서 공분산은
이다.
평균벡터를 찾기 위해서
따라서 평균벡터는
공분산(
)의 경우는 앞에서 식의 (2,2) 원소이기 때문에 가 된다.
마찬가지로 조건부 확률
조건부 확률의 공분산:
, 평균 벡터:
공분산을 먼저보면, 공분산은 이라고 했는데, 이것은 에서 이미 구했다. 이 바로 이기 때문에, 에서 에 해당하는 부분은 이기 때문에 이것의 역행렬( )이 된다.
평균 벡터(
)의 경우, 공분산 행렬은 앞에서 구했기 때문에 곱하고, ‘{}’ 안의 수식만 해결하면 된다. , 는 를 의미하고 있기 때문에 식에서 를 의미한다. 는 에서 이고, 는 이고, 는 에서 아랫부분 이기 때문에 가 된다.
정리하자면,
이렇게 된다.
다시 정리하면,이렇게 되고 가 서로 상쇄되고, 나머지는 이렇게 되고 다시 이렇게 된다.
이것이 평균 벡터의 {}안을 채우게 되면 위의 식이 나오는 것이다.
여태까지 한 것은
에 대한 공분산과 평균 벡터를 구한다음에 조건부 확률에 적용한 것이다.
가우시안 분포의 최대우도 (Maximum Likelihood for the Gaussian)Permalink
Why log-likelihood instead of likelihood?
Easier to deal with differentiation, integration, and exponential families. product를 log로 바꿔주면 summation이 되는데 이는 계산량 감소의 이점이 있다. For practical purposes it is more convenient to work with the log-likelihood function in maximum likelihood estimation (wikipedia). In addition to the mathematical convenience from this, the adding process of log-likelihood has an intuitive interpretation, as often expressed as “support” from the data. When the parameters are estimated using the log-likelihood for the maximum likelihood estimation, each data point is used by being added to the total log-likelihood. As the data can be viewed as an evidence that support the estimated parameters, this process can be interpreted as “support from independent evidence adds”, and the log-likelihood is the “weight of evidence”. Interpreting negative log-probability as information content or surprisal, the support (log-likelihood) of a model, given an event, is the negative of the surprisal of the event, given the model: a model is supported by an event to the extent that the event is unsurprising, given the model (wikipedia).
: 대문자로 표시되어 있을 경우, 데이터가 여러개인 경우를 의미.
가우시안 분포에 의해 생성된 데이터
ML - 평균 벡터Permalink
먼저 우도를 최대화하는 평균벡터
이차형식을
에 대해서 미분한 결과는 아래와 같다.
행렬미분에서 배운 이차형식에서 미분을 하는 과정이 있었다.
라는 공식을 이 식에 활용하면, 아래와 같은 결과를 얻을 수 있다.
를 에 대해 미분한 값이 앞에서 가 있기 때문에 결과적으로 가 된 것이다.
이 정확도 행렬이기 때문에 로 바꿔주었다.
https://marquis08.github.io/devcourse2/linearalgebra/mathjax/ML-basics-Linear-Algebra/#%ED%96%89%EB%A0%AC%EB%AF%B8%EB%B6%84-matrix-calculus
여기까지는
안에 있는 이차형식( )을 미분한 결과를 도출해 낸 것임.
따라서,
: 각각의 에 대해서 를 빼준 것을 다 더하고 를 곱해준 것.
최대우도해를 구하기 위해서 이 값을 0으로 놓고 풀었을 때 그 결과는 아래와 같다.
관찰한 각 데이터를 더한 것을 N으로 나눈 것이 된다. 이는 관찰한 데이터의 평균값으로 볼 수 있다. 이것의
의 ML이 되는 것임.
ML - 공분산Permalink
정확도 행렬
에 대한 함수로 놓고 풀면 식이 간단해 진다.
다음으로 우도를 최대화하는 공분산행렬
아래의 식에서
은 정확도 행렬과 관련있는 부분(종속적인)만 남겨논 것이다. (상수는 최대화와 상관이 없기 때문에)
trace가 나오는데, 원래
이 값은 scalar 값인데, scalar 값을 원소가 1개인 행렬로 생각할 수 있다. 이 때 이 행렬의 trace 값은 그 행렬 자체라는 성질을 활용함. 아래의 선형대수 결과 리스트의 2번째 성질을 보면 trace를 씌워도 같은 값임을 알 수 있다. 또한 trace를 씌우면 뒤에 있던 가 앞으로 이동한 것을 알 수 있는데, trace가 여러개의 행렬의 곱일때 순서를 cycle해도 동일한 값이기 때문에 가능하다.
이 성질을 사용해서아래의 이 식에서 가 앞으로 나오게 된 것임.
를 보면 trace 밖에 있던 summation이 trace안으로 들어온 것을 알 수 있는데, 이것도 역시 아래의 선형대수 성질 중에서 3번째 성질인 이것을 활용한 것임.
에 대해 결과적으로 나온 식이 이고, 이 식을 에 관해서 미분을 하면 되는 것이다.
는 벡터가 아니고 행렬이기 때문에 행렬미분 성질을 활용하면 쉽게 풀 수 있음.
의 판별식의 로그값을 에 대해서 미분을 하는데, 이 것은 아래의 선형대수 성질 중에서 을 활용 함. 따라서 가 된다.
는 이 성질을 활용함. 따라서 가 되는 것임.
위의 결과로 나온
을 0으로 놓고 에 관해서 풀면 된다.
결과적으로이 식이 나오는데 이 때, 은 정확도 행렬인데, 이 것의 역행렬이 이기 때문에 이것이 우리가 찾고자 했던 공분산 행렬이다.
를 대입해주면 이 된다.
위의 식 유도를 위해 아래의 기본적인 선형대수 결과를 사용하였다.
여기서 한가지 짚고 넘어가야할 부분은, 식을 간단하게 하기 위해
라는 정확도 행렬을 사용해서 공분산 행렬을 유도했는데, 에 관해서 푼 최적해를 단순히 역행렬을 시켜주는 것이 원래 찾고자 했던 의 최대값이 맞는가를 생각해볼 필요가 있다.
정확도 행렬의 역행렬의 최적해가 공분산 행렬의 최대값과 일치할까?Permalink
일반적으로 다음이 성립한다. 함수
일대일 이기 때문에 역함수(
)도 존재한다.
f와 h가 composite function(합성함수)로 주어져있다.
라는 값을 구했다고 가정하고, 대신에 를 대입하면, 이 값이 된다. 이는 h가 항등함수(Identity Function)이 되기 때문에 이 값이 결과적으로 됨. 따라서 를 넣었을 때 최소값이 이 때문에 아래의 식이 성립함.
만약에 일대일이 아니라면 성립하지 않는다는 사실을 기억하자.
이라는 에 관한 함수를 최소화 시키는 을 구했는데, 위에서 라고 생각하면 됨.
일대일이기 때문에 역함수연산이 가능하고 결국,를 적용하게 되면, 결국 역행렬 연산이기 때문에, 가 되는 것임.
역행렬 연산이 일대일함수
가우시안 분포를 위한 베이지안 추론 (Bayesian Inference for the Gaussian)Permalink
MLE 방법은 파라미터들 (
단변량 가우시안 확률변수
- 우도함수
- 사전확률
- 사후확률
AppendixPermalink
Odd & Even FunctionPermalink
“Reflectional”, “EVEN”
“Rotational”, “ODD”
Integration by Completing the squarePermalink
정확도 행렬??Permalink
Minimal-mistakesPermalink
Video Embedding for youtube:
{% include video id=”XsxDH4HcOWA” provider=”youtube” %}
other video providers: https://mmistakes.github.io/minimal-mistakes/docs/helpers/
MathJaxPermalink
escape unordered list
-
\- $$cov[\boldsymbol{x}_{a}] = \Sigma_{aa}$$
\setminus
$$\{A\}\setminus\{B\}$$
adjustable parenthesis
$$\left( content \right)$$
Matrix with parenthesis
$$\begin{pmatrix}1 \cr 1 \end{pmatrix}$$
ReferencesPermalink
Pattern Recognition and Machine Learning: https://www.microsoft.com/en-us/research/uploads/prod/2006/01/Bishop-Pattern-Recognition-and-Machine-Learning-2006.pdf
Odd and Even functions: https://www.shsu.edu/~kws006/Precalculus/1.4_Function_Symmetries_files/1.4%20FunctionSymmetries%20slides%204to1.pdf
why log-likelihood: https://math.stackexchange.com/questions/892832/why-we-consider-log-likelihood-instead-of-likelihood-in-gaussian-distribution
why log-likelihood: https://www.quora.com/What-is-the-advantage-of-using-the-log-likelihood-function-versus-the-likelihood-function-for-maximum-likelihood-estimation
why log-likelihood: https://en.wikipedia.org/wiki/Likelihood_function#Log-likelihood
Leave a comment