IT&컴퓨터공학/데이터분석개론

[데이터분석개론] Dimension Reduction

yan_z 2021. 2. 11. 19:08

머신러닝 공부를 위해 데이터분석개론 수업에서 들었던 내용을 정리해보려고 한다.

데이터분석개론 교수님이 너무 잘 가르쳐주셔서 다음 학기도 교수님 수업으로 들으려했는데 다른학교로 가셔서...

교수님 잘 지내시나요...ㅎㅎ

 

아무튼 여기에 열심히 기록해두고 두고두고 찾아봐야겠다.

 

Dimension

 

하나하나의 Feature 들을 Dimension 이라고 한다.

feature 는 데이터에서 '열'을 담당하며 만약 개인정보에 관한 데이터라면 그 사람이 나이, 이름, 직장 등등을 예로 들수 있다.

데이터가 들어갈때 변수화 되는것은 모두 feature 라고 부른다.

 

Dimension Reduction 이 필요한 이유

 

- 우리는 데이터 홍수에서 살고있다.

- 여러 변수들은 결국에는 같은 것을 설명하는 경우가 많으며

- 결과와는 관련없는 변수들도 존재하므로 정확도, 신뢰도가 떨어질 수 있다.

- 또한 너무 많은 양의 variables 들은 계산상의 문제를 발생시키며

- curse of dimensionality ( 차원의 저주 ) 를 경험할 수도 있다.

 

curse of dimensionality

 

그래프를 보면, Dimension 이 증가 할수록 현상을 설명하는데 필요한 데이터의 양은 지수적으로 증가한다.

왜 그럴까 ? 

One Dimensional Space

1차원 공간에서는 전체의 20%를 채우기 위해서는 딱 20%만큼의 데이터가 필요하다.

Two Dimensional Space

2차원 공간은 어떨까 ? 2차원 공간에서 전체의 20%를 채우기 위해선 한 Dimension당 44.7%( 루트 2 ) 에 해당하는 데이터가 필요하다. 1차원과 비교하면 똑같이 전체의 20%를 채우는데 더 많은 데이터를 모아야한다.

Three Dimensional Space

3차원 공간의 경우엔 무려 각 Dimension당 58.5% 에 해당하는 데이터가 필요하다.

 

즉, 차원이 늘어나면 늘어날수록 내가 가지고있는 데이터로 설명할 수 있는 크기는 작아지므로, 

내가 현상을 제대로 설명하기 위해서는 데이터를 계속해서 더 모아야만 하는 문제에 직면한다.

 

때문에 우리는 필요없는 Dimension 을 줄여서 데이터셋을 사용한다. 단, 꼭 ' 필요없는 ' Dimension 이어야한다.

 

Overfitting Problem

 

만약 우리가 필요한 만큼의 데이터를 수집하지 못한경우, 즉 부족한 데이터로 현상을 설명하는 경우엔 overfitting problem 이라는 문제가 발생하곤 한다. 

그래프에서 볼 수 있듯이, 같은 양의 데이터 기준으로 Dimensions 이 Optimal number of features 의 개수를 넘어가면 

모델의 performance 가 확 감소한다.

 

말 그대로 'Overfitting' ! 즉, 내가 가지고 있는 데이터 안에서는 성능이 아주 뛰어난데 막상 실제 상황, 밖의 사람들의 상황에서는 맞지않는 모델을 만들어 내는것이다.

 

예를들어 인구 수가 200여명밖에 안되는 나라가 있다고 가정하자.

이 나라에서 남자는 도시 근처에 살고, 여자는 도시와 멀리 떨어져 살고 있다.

이 나라 데이터를 기준으로 '남자는 도시 근처에 살고, 여자는 도시와 멀리 떨어져 사는 경향이 있다' 는 모델을 설정했다.

 

이 모델을 전세계에 대입해본다면 ?

 

당연히 이 모델은 전세계에서 사용되기엔 너무 Overfitting 된 모델이다. 

즉, train data 에선 아주 잘 맞고 막상 test data 를 넣어보면 말짱 꽝인 모델이라는 것이다.

이런 모델은 fails to achieve the generalization of model 되었다 하며 '확장 가능성이 없는 모델' 이라고도 부른다.

 

그림에서 보면 알 수 있듯, overfitting 된 모델은  train model 에 학습이 지나치게 잘 되어있어서, 

새로운 데이터가 들어가는경우 오차의 크기가 확 커지는 모습을 볼 수 있다.

 

Occam's Razor ( Principle of Parasimony ) 

 

Occam 의 면도날 이론. 단순함을 추구하는 의미를 담고있는 이론이다.

 

이론의 핵심은

" Simple solutions are more likely to be correct than complex ones " 

단순히 말하면 Simple is the best 라는거다.

 

핵심적인 정보하나가 여러개의 정보를 대변하는 경우가 많으니

최대한 단순한 형태의 모형을 사용하라는 뜻이다.

 

나는 그냥 쉽게 단순한게 최고니까

필요없는 Dimensions 를 버리고 핵심적인 Dimensions 들만 사용해라 ! 라고 이해했다.