코딩하는 눈송이

Multivarite Methods(다변량 분석) 본문

선형대수

Multivarite Methods(다변량 분석)

monapanda 2023. 4. 15. 23:06

Multivartie(다변량) data란?

다변량 데이터란 여러개의 input과 instance를 가지는 데이터를 말한다.

예를 들어 n개의 input과 d개의 instance를 가지는 data는 d X n matrix 형태를 가진다.

 

d X n matrix

 

Multivarite Parameters

  1. Mean(평균) : $ E[X] = \mu = [\mu_{1}, \mu_{2}, ... ,\mu_{d}]^{T} $
  2. Covariance(공분산) : 두 변수 사이 증가 / 감소하려는 경향. 양의 공분산은 두 변수가 함께 증가하거나 감소할 때를 의미하며 음의 공분산은 한 변수가 증가할 때 다른 변수는 감소하는 관계를 나타냄 $$ \sigma_{ij} = Cov(x_{i}, x_{j}) $$
  3. Correlation(상관관계) : 두 변수 사이의 선형 관계로, -1과 1 사이의 값을 가진다. 공분산을 변수들의 표준편차로 나누어 스케일을 제거했으며 두 변수 사이의 강도와 방향을 나타낸다. 1에 가까울수록 양의 선형적 상관관계, -1에 가까울수록 음의 선형적 상관관계에 가까우며 0에 가까울수록 두 변수 사이에 선형적인 관계가 없음을 의미 $$ Corr(x_{i}, x_{j}) = \rho_{ij} = \frac{\sigma_{ij}}{\sigma_{i}\sigma_{j}} = \frac{E[XY] - E[X]E[Y]}{\sigma_{i}\sigma_{j}} $$

 

  • 공분산(Covariance)와 상관관계(Correlation) 사이의 차이점
    • 스케일의 영향 : 공분산은 변수의 스케일에 영향을 받아 값이 상대적으로 큰 변수가 공분산의 값에 큰 영향을 미치는 반면, 상관관계는 스케일에 영향을 받지 않으며 스케일 차이에 덜 민감하게 반응함
    • 범위 : 공분산은 무한대의 범위를 가지지만 상관관계는 -1과 1 사이의 관계를 가져 해석이 용이함
    • 선형 관계 강도 : 상관관계는 두 변수 간의 선형 관계의 강도를 나타내므로 두 변수가 비선형적으로 관계가 있을 경우, 상관관계는 이를 잘 잡아내지 못함

 

Multivartie Normal Distribution

다변량 가우스 분포라고도 불리는 다변량 정규 분포는 정규 분포를 따르는 둘 이상의 변수 집합의 분포를 설명하는 확률 분포의 유형이다.

 

여기서 각 랜덤 변수는 정규 분포를 따르고, 모든 랜덤 변수의 결합 분포는 평균 벡터(각 랜덤 변수의 평균 값)와 공분산 행렬(랜덤 변수 쌍 사이의 공분산)에 의해 특성화된다.

 

$$ x \sim N_{d}(\mu, \Sigma) $$

 

  • $\mu$ : d차원의 평균 행렬(1 x d)
  • $\Sigma$ : 공분산 행렬(d x d)

$$ p(x) = \frac{1}{(2\pi)^{d/2}|\Sigma|^{1/2}} exp[-\frac{1}{2}(x-\mu)^{T}\Sigma^{-1}(x-\mu)] $$

 

  • x는 랜덤 변수를 나타내는 d차원의 벡터이며, 분포의 평균인 $\mu$와 분산 $\Sigma$를 가지는 정규 분포이다.
  • 확률 p(x)는 정규 분포를 따르며, $(x-\mu)^{T}\Sigma^{-1}(x-\mu)$는 Mahalanobis Distance로 x와 평균 $\mu$ 사이의 거리를 $\Sigma$를 통해서 나타낸 값이다.

 

  • Mahalanobis Distance(마할라노비스 거리)
    • 데이터 포인트 사이의 거리를 측정하는 통계적 측도
    • 각 변수 간의 상관관계와 각 변수의 분산을 고려하여 데이터 포인트 간의 거리를 계산한다. 이는 다변량 데이터의 이상치 탐지, 패턴 인식, 군집화 등 다양한 분야에서 활용된다.
    • 맨하탄 거리, 유클리드 거리와 다른 점 : 전자는 모든 변수 간의 독립성과 변수의 분산이 동일함을 가정하지만, 마할라노비스 거리는 변수들 간의 상관관계와 다른 분산을 고려한 거리 측정 방법
    • $D(x) = \sqrt{(x-\mu)^{T}\Sigma^{-1}(x-\mu)}$

 

Parametric Classification

각 class에 해당하는 x의 확률 분포값이 정규 분포를 따른다고 가정하자

즉, $p(x|C_{i}) \sim N(\mu, \Sigma)$라고 한다면

$$ p(x|C_{i}) = \frac{1}{(2\pi)^{d/2}|\Sigma_{i}|^{1/2}} exp[-\frac{1}{2}(x-\mu_{i})^{T}\Sigma_{i}^{-1}(x-\mu_{i})] $$

 

여기서 Classification을 위해 판별 함수(discriminant function)를 이용하여 클래스 분류를 진행해보자

 

  • Discriminant Function이란?
    • 주어진 데이터 포인트의 input 값(x)을 이용하여 2개 이상의 클래스 중 하나($C_i$)로 분류하는데 사용할 수 있는 output을 생성해 classification을 진행하는 함수를 의미한다.
    • 즉, 데이터 포인트 x에 클래스 $C_i$를 할당할 때 가장 큰 판별식 값 $g_i(x)$를 가지는 클래스를 해당 데이터 포인트의 클래스로 선정한다.
    • 클래스 i에 대한 판별식을 설정한 후 계산이 이루어지며, 여기서는 나이브 베이즈 분류에 따른 판별식을 이용했기에 $\sum^{d}_{j=1}log P(x_j|C_{i}) + log P(C_{i})$로 표현된다.
      1. $P(x_j|C_{i})$ : 클래스 i에 속하는 데이터에서 d개의 featurer 중 $x_j$의 특성이 나타날 조건부 확률
      2. $P(C_{i})$ : 클래스 i의 prior 분포이다.
    • 나이브 베이즈 분류기에서는 각 특성이 독립적이라고 가정하며, 모든 특성의 조건부 확률이 각각 계산되며 log 형태로 이를 모두 더해 판별식 값을 계산한다.

$$ g_{i}(x) = log P(x|C_{i}) + log P(C_{i}) = -\frac{d}{2}log(2\pi) - \frac{1}{2}log|\Sigma_{i}| -\frac{1}{2}(x-\mu_{i})^{T}\Sigma_{i}^{-1}(x-\mu_{i}) + \hat{P}(C_{i}) $$

 

여기서 클래스 값이 변함에 따라 상관 없는 값(discriminant function의 output을 클래스별로 뺄 경우 사라지는 값)을 제외한 식으로 정리해 보자면

 

$$ g_{i}(x) = - \frac{1}{2}log|\Sigma_{i}| -\frac{1}{2}(x-\mu_{i})^{T}\Sigma_{i}^{-1}(x-\mu_{i}) + \hat{P}(C_{i}) $$

 

이렇게 정리된 식이 완성된다.

 

  • Estimation of Parameters
    1. $\hat{P}(C_{i}) = \frac{\Sigma_{t}r_{i}^{t}}{N}$
    2. $m_{i} = \frac{\Sigma_{t}r_{i}^{t}x^{t}}{\Sigma_{t}r_{i}^{t}}$
    3. $S_{i} = \frac{\Sigma_{t}r_{i}^{t}(x^{t} - m_{i})(x^{t} - m_{i})^{T}}{\Sigma_{t}r_{i}^{t}}$
      • $x^{t} - m_{i}$ : 데이터 포인트 $x_j$에서 클래스 i와의 평균과 얼마나 편차가 있는지를 계산한 값
      • $(x^{t} - m_{i})(x^{t} - m_{i})^{T}$ : 편차 벡터를 외적한 값으로, 변수들 간의 공분산 계산

이를 이용한 Discriminant Function을 써보면

 

$$ g_{i}(x) = - \frac{1}{2}log|S{i}| -\frac{1}{2}(x-m_{i})^{T}S_{i}^{-1}(x-m_{i}) + \hat{P}(C_{i}) $$

$$ = - \frac{1}{2}log|S{i}| -\frac{1}{2}(x^{T}S_{i}^{-1}x - 2x^{T}S_{i}^{-1}m_{i} + m_{i}^{T}S_{i}^{-1}m_{i}) + \hat{P}(C_{i})$$

$$ = x^{T}W_{i}x + w_{i}^{T}x + w_{i0}$$

 

위와 같은 식으로 정리된다 $(W_{i} = -\frac{1}{2}S_{i}^{-1}, w_{i} = S_{i}^{-1}m_{i}, w_{i0} = -\frac{1}{2}m_{i}^{T}S_{i}^{-1}m_{i}- \frac{1}{2}log|S{i}|+ \hat{P}(C_{i}))$

 

만약 X가 d개의 feature로 이루어져 있으며 총 k개의 class로 구분해야 한다면, fitting해야 하는 parameter의 수는 공분산과 평균에서, $S_{i} = k X \frac{d(d+1)}{2}, m_{i} = d X k$개로 매우 많은 수를 차지한다.

 

 

Parameter 수 줄이기

 

기존 Discriminant Function의 추정해야 하는 모수의 수를 줄이기 위해 'Common Covariance Matrix'라는 공분산 개념을 사용한다.

 

Common Covariance Matrix는 모든 K개의 class에 대한 공분산의 기댓값으로 공분산 값을 통일해 버리기 때문에 기존의 Covariance Matrix의 parameter 수를 $\frac{1}{K}$로 줄여 parameter의 수를 $S_{i} = \frac{d(d+1)}{2}$로 줄일 수 있는 효과가 있다.

 

  • Common Covariance Matrix : $S = \Sigma_{i}\hat{P}(C_{i})S_{i} $

위의 Common Covariance Matrix를 사용하면 위의 discriminant function은 다음과 같이 정리된다.

 

$$ g_{i}(x) = - \frac{1}{2}log|S| -\frac{1}{2}(x-m_{i})^{T}S^{-1}(x-m_{i}) + \hat{P}(C_{i})$$

$$ = w_{i}^{T}x + w_{i0} $$

 

여기서 나아가 각 feature이 독립적이라는 Naive Bayes Assumption까지 더해 준다면

Covariacne Matrix에서 다른 feature끼리의 Covariance는 모두 0이 될 것이며 이는 covariance의 parameter 갯수를 $S_{i} = d$로 줄이는 효과를 가질 것이다.

 

$$ g_i(x) = -\frac{1}{2}\sum^{d}_{j=1}(\frac{x_{j}^{t} -m_{ij}}{s_{j}})^{2} + \hat{P}(C_{i}) $$

 

이는 기존의 Class 사이 Mahalanobis Distance를 weighted($1/\sigma$) Euclidean Distance로 계산을 간소화해주는 효과 또한 가진다.(여기서 각 d개의 feature들의 분산마저 전부 동일해진다면 순수 Euclidean Distance가 되겠죠)

 

 

Model Selection

Assumption(가정) Covariance Matrix Parameter갯수
+ 모든 feature 분산 동일 $S = s^{2}$ 1
+ Naive Bayes(각 feature 독립) $S with s_{ij} = 0$ d
+ Common Covariance Matrix $S$ d(d+1) / 2
X $S_{i}$ k X d(d+1) / 2 

 

  • 위의 model 목록에서 complexity가 증가할수록 bias는 줄어들고 variance는 늘어나니 이를 감안하여 가장 적정한 모델을 찾으면 된다.

'선형대수' 카테고리의 다른 글

Factor Analysis  (1) 2023.06.06
LDA(Linear Discriminant Analysis)  (0) 2023.04.16
PCA(Principal Component Analysis)  (0) 2023.04.16
차원 축소  (0) 2023.04.16
Regression  (0) 2023.02.13
Comments