본문 바로가기

인공지능/머신러닝

[머신러닝] 공분산과 왜 중요하지? joint probability distribution 케빈머피 머신러닝

통계뿐만 아니라 머신러닝 개념에서 정말 중요한 공분산에 대하여 알아보고자 합니다.

이 개념은 케빈머피 머신러닝 책에 joint probability distribution (결합확률 분포) 부분에 포함되어있습니다. 

 

확률변수 X 와 Y 사이에 공분산은 X와 Y가 선형으로 연관되어 있는 정도를 측정하는데 공분산은 다음과 같이 정의된다. 

케빈머피 머신러닝 일부

 

공분산이라는 것은 두 확률 변수가 얼마나 함께 변하는지를 측정하는 통계적인 지표이다. 

위의 정의에서 보다시피 X가 D 차원의 확률벡터 x 라면 공분산 행렬 Cov(x) 는 다음과 같이 대칭적인 행렬이다. (3.2)

 

그리고 (3.3) 에서 보이는 행렬은 확률벡터의 각 요소들 간의 쌍별 공분산을 나타내는데 

공분산 행렬은 확률벡터의 다양한 구성요소들 간의 관계와 의존성을 확인할 수 있다.

 

그러면 왜 머신러닝에서 공분산을 알아야 하며 중요한것인가?

1. 데이터 특징확인 공분산은 데이터의 특성을 확인할 때 굉장히 중요한 요소한 역할을 하며 공분산이 갖고 있는 특성은 강한 선형관계를 나태낸다. 또한 중복된 특징을 갖는 모델을 간소화 할 수 있고 이에 대한 해석 가능성을 향상시킬 수 있도록 구별되기도 하고 제거되기도 한다. 

2. 주성분 분석(PCA) 데이터 집합의 주 성분을 분석하기 위해 공분산 행렬을 사용한다 이러한 주성분 분석을 통해 데이터의 주요 변동요인들을 확인할 수 있다.

3. 선형회귀 선형회귀에서는 입력 특성과 대상이 되는 변수간의 공분산이 기본적이 되며 공분산은 한 변수가 변할 때 다른 변수가 어떻게 변하는지 평가하는데 도움을 준다.

 

 

따라서 공분산을 정확히 그리고 제대로 이해하고 조작하는 것은 머신러닝 모델을 구축하기 위해 굉장히 중요한 부분입니다.