확률론적 관점으로 데이터를 파악하는 머신러닝에선 probability distribution에 대해서 알아야 한다. 

필수라고 생각되는 개념은 bernoulli, gaussian 정도가 되겠다. 

조금 더 나아가면 beta, gamma, laplacian distribution까지는 알면 좋지 않을까 싶다. 

 

 

따라서 이번 글은  필수 / 선택으로 글을 나눠 진행해보고자 한다.

 

참고: murphy machine learning 1(book) 


 

 

 

필수 - gaussian, bernoulli


 

Gaussian Distribution 

 가우시안 분포는 Normal Distribution(정규분포)으로도 불린다. 그 이유는 자연상(아무 인위적인 것을 집어넣지 않은 상태)의 확률 분포가 gaussian과 가장 유사한 분포이기 때문이다. 그렇기 때문일까, 체감상 가장 많은 ML 이론에 사용되는 듯하다.

 

 

가우시안 분포를 위해선 2개의 값이 필요하다. mean (평균)과 variance(분산) 값이다.  mean이 0이고 variance가 1이라면 standard normal distribution이라고 부른다. 

 

variance에 따라 확률 분포가 달라지는데, variance가 0보다 작다면 평균에서만 튀는 모양이 된다. 반면 variance가 클수록 분포는 평평해진다. 

 

gaussian distribution with variance

 

참고로 파이썬에서 numpy 라이브러리를 사용할 때 np.norm() 은 가우시안 분포를 따른다.

 

import numpy as np
np.norm()

 

정규분포 수식

 

guassian 분포(정규분포)를 나타낼 때 평균은 u, 표준편차는 시그마 값을 쓴다. N(y | )로 표현된다면 이는 정규분포를 따르는 확률밀도함수(PDF)라는 의미이다. 

수식 1. gaussian distribution

 

e 제곱을 다르게도 풀 수 있다. 따라서 수식 1과 수식 2는 같은 의미다. 

수식 2.

 

 

 

Gaussian 활용  

- Gaussian Mixture Model (GMM)

가우시안 분포 여러 개를 혼합하여 하나의 모델로 만든 방법론으로, 클러스터링 기법 중 하나다. 

 

 

- Noise 

Machine learning, Deep learning에선 인위적으로 데이터에 noise를 주입하는 경우가 있다. 가장 대표적인 예시로는 이미지 생성 모델인 diffusion 계열이다.  noise로부터 시작해 denoising을 하여 이미지를 생성하게 되는 방법론이다. 이때의 noise는 random noise여야 한다. (임의로 주입한 noise에 bias가 있다면 모델도 편향되게 학습될 테니 말이다.)

 

그렇기 때문에 random noise에 가까운 gaussian 분포를 따르게 세팅을 한다. 

 

 

- Linear Discriminant Analysis(LDA)

선형판별모델로도 불린다. 데이터가 주어지면 이에 해당하는 라벨(정답)을 맞추는 classification 모델이다. 만약 라벨이 '강아지', '고양이', '개구리' 3개라고 가정해 보자. 데이터가 이 3개의 라벨 중 '개구리'에 속할 확률은 어떻게 될까? 각 라벨들이 갖는 확률분포에 따라서도 영향을 미치지 않을까? 

 

LDA에서 gaussian distribution은 각 라벨의 분포를 표현할 때 사용된다. 

 

- Linear Regression

선형 회귀 모델의 밑바탕도 정규분포에서 시작한다. objective function을 optimize 하는 것은 다른 회귀 모델과 다르지 않다. 다만 linear regression에선 데이터가 가우시안임을 전제로 한다. 따라서 linear regression은 이진 분류에 적합한 모델은 아니다. 라벨이 0, 1인 binary classification이라고 할 때 라벨 0과 라벨 1은 각각 다른 gaussian을 가지기 때문일 것이다. 

 

 

 

 

Bernoulli Distribution 

베르누이 분포는 간단하게 데이터가 0 또는 1의 확률을 분포로 나타내는 개념이다. 유명한 만큼 동전 던지기 예시로 유명한 베르누이 분포는 그만큼 이해하기 쉽다.  데이터가 0, 1 두 개의 label 중 하나의 값을 갖는다면, 0일 확률을 p, 그렇지 않을 확률을 1- p로 표현할 수 있다. 확률의 합은 1이기 때문이다.

 

동전을 던질 때 앞면(y==1)이 나올 확률을 p, 뒷면이 나올 확률을 1-p라고 해보자. 만약 p가 0.5보다 크다면 앞면이 더 많이 나왔을 테고, p가 0.5보다 작다면 뒷면이 더 많이 나왔을 것이다. 이를 확률분포로 표현하면 다음과 같다. 

 

 

이때 y는 앞면 또는 뒷면이다. 라벨이 0, 1만 주어지기 때문에 0이 나온 확률을 오른쪽처럼 표현할 수 있다. 앞면이 나올 확률이 베르누이 확률 분포를 따름을 보인다. 

bernoulli distribution

 

 

y에 0 또는 1을 대입하면 앞서 정의했던 것처럼 p, 1-p가 나오는 것을 알 수 있다. 

 

 

 

 

 또한 베르누이는 binomial distribution의 한 종류로 볼 수 있는데, bernoulli 수식에서 동전을 1번만 던진 것을 표현했다면 binominal 에선 동전을 N번 던진 것을 확률로 표현할 수 있다. 

 

 

 

Bernoulli 활용 

- sigmoid function

binary output에 대해 정규화하는 데 사용하는 sigmoid 함수도 bernoulli 분포와 접목해서 이해할 수 있다. 시그모이드 함수를 보자. 

x, θ 가 있을 때 y에 대한 sigmoid는 다음과 같이 표현할 수 있다. 이때 a는 f(x;θ)를 의미한다. (이는 θ 분포를 따르는 x라는 의미로, 즉 x의 분포를 뜻한다.) 

 

p(y=1|x,θ)를

이진 분포를 p와 1-p로 표현하다니..! 위에서 나온 베르누이와 흡사하지 않은가?

 

 

- logistic regression

앞서 linear regression은 라벨들이 gaussian 분포를 가지고 있다고 설명했다. 반대로 logistic regression은 (데이터를 확률로 표현해서 사영하면) 라벨들이 bernoulli 분포를 가진 것을 전제로 한다. 

 

 

-classification loss

딥러닝에서 Cross Entropy(CE) loss는 엔트로피의 개념과 베르누이 분포의 확장판이라고 볼 수 있다. binary CE loss를 살펴보자. 

이게 왜 bernoulli와 비슷할까? 베르누이 분포에 log를 취하고, y를 label 0, 1이 아니라 동일하게 확률값 p로 표현해 보자. 

 

생김새가 똑같아졌다. 

 

 

 


 

오늘은 가우시안과 베르누이 분포에 대해 정리해 보았다. 다음에는 (아마도)  beta, gamma, laplacian, multinomial distribution에 대해 글을 작성해 볼 예정이다. 

728x90

+ Recent posts