-
[데이터분석개론] Dimension ReductionIT&컴퓨터공학/데이터분석개론 2021. 2. 11. 19:08
머신러닝 공부를 위해 데이터분석개론 수업에서 들었던 내용을 정리해보려고 한다.
데이터분석개론 교수님이 너무 잘 가르쳐주셔서 다음 학기도 교수님 수업으로 들으려했는데 다른학교로 가셔서...
교수님 잘 지내시나요...ㅎㅎ
아무튼 여기에 열심히 기록해두고 두고두고 찾아봐야겠다.
Dimension
하나하나의 Feature 들을 Dimension 이라고 한다.
feature 는 데이터에서 '열'을 담당하며 만약 개인정보에 관한 데이터라면 그 사람이 나이, 이름, 직장 등등을 예로 들수 있다.
데이터가 들어갈때 변수화 되는것은 모두 feature 라고 부른다.
Dimension Reduction 이 필요한 이유
- 우리는 데이터 홍수에서 살고있다.
- 여러 변수들은 결국에는 같은 것을 설명하는 경우가 많으며
- 결과와는 관련없는 변수들도 존재하므로 정확도, 신뢰도가 떨어질 수 있다.
- 또한 너무 많은 양의 variables 들은 계산상의 문제를 발생시키며
- curse of dimensionality ( 차원의 저주 ) 를 경험할 수도 있다.
curse of dimensionality
그래프를 보면, Dimension 이 증가 할수록 현상을 설명하는데 필요한 데이터의 양은 지수적으로 증가한다.
왜 그럴까 ?
1차원 공간에서는 전체의 20%를 채우기 위해서는 딱 20%만큼의 데이터가 필요하다.
2차원 공간은 어떨까 ? 2차원 공간에서 전체의 20%를 채우기 위해선 한 Dimension당 44.7%( 루트 2 ) 에 해당하는 데이터가 필요하다. 1차원과 비교하면 똑같이 전체의 20%를 채우는데 더 많은 데이터를 모아야한다.
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 들만 사용해라 ! 라고 이해했다.
'IT&컴퓨터공학 > 데이터분석개론' 카테고리의 다른 글
[데이터분석개론] Linear Regression . 선형회귀분석 (0) 2021.02.13 [데이터분석개론] Predictive Performance / Classifier Performance (0) 2021.02.12 [데이터분석개론] 머신러닝과 Performance Evaluation (0) 2021.02.12 [데이터분석개론] PCA - Dimension Reduction 방법 중 하나 (0) 2021.02.11 [데이터분석개론] Correlation Analysis . 상관관계 분석 (0) 2021.02.11 댓글