ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [데이터분석개론] Dimension Reduction
    IT&컴퓨터공학/데이터분석개론 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 들만 사용해라 ! 라고 이해했다.

    댓글

Designed by Tistory.