차원축소는 고차원의 데이터를 정보의 손실을 최적화하면 저차원으로 변환하는 것을 말한다. 데이터는 여러개의 속성값들로 구성되는데 각 속성을 하나의 차원으로 대응시킬 수 있다. 시각적으로 2,3차원의 데이터를 표현할 수 있지만, 그 이상의 고차원 데이터를 직관적으로 이해 할 수 있게 표현하기 어렵다. 한편 차원이 커지면 차원의 저주(curse of dimensionality)라는 문제를 만난다. 차원의 저주에는 여러가지 현상이 있는데, 그 중 하나는 차원이 커질수록 데이터간 거리가 유사해지는 경향을 보이는 것이다.
다시말하면, 변수의 수가 늘어나 차원이 커지면서 발생하는 문제를 차원의 저주라고 한다. 차원이 커지면 왜 문제인지, 고려해 보면~
먼저 A라는 변수 1개가 있는 데이터를 가지고 있다고 하자. A가 가질 수 있는 값은 1, 2, 3이다. 이 경우 데이터를 채우기 위한 최소한의 데이터 건수는 3건이다.
다음으로 A, B 라는 변수 2개가 있는 데이터를 가지고 있다면 A와 B가 가질 수 있는 값은 각각 1,2,3이다. 이러한 경우 데이터를 채우기 위한 최소한의 데이터 건수는 9건이다
다음 그림은 A,B,C 라는 변수 3개가 있는 데이터를 가지고 있다면, A,B,C가 가질수 있는 값은 각각 1,2,3 이다. 이 경우 데이터를 채우기 위한 최소한의 데이터 건수는 27건이다
이와같이 차원이 증가하면 그 데이터 공간이 커지기 때문에 이를 채우기 위한 데이터 건수도 증가하게 된다.
이는 6명의 사람에 대하여 데이터를 수집한다고 하면 먼저 변수 A 만 수집하면 3가지 조건에 6명을 배정하는 것이므로 6/3=2=200%의 공간을 채울 수 없다. 추가로 변수 B까지 데이터를 수집했다고 한다면 6/9=0.66=66%의 공간을 채울 수 있다. 이번에는 변수 A,B,C에 대한 데이터를 수집한다면 6/22=0.22=22%의 공간만 채울수 없다
차원의 저주의 또 다른 현상은 차원이 커질수록 학습에 필요한 데이터가 기하급수적으로 증가한다는 것이다 분류문제는 특정 값이 어떤 부류에 속하는 것인지 결정하는 것으로, 결귝은 데이터 공간의 각 부분공간이 어떤 부류에 속하는 것인지 결정하는 것이다. 이러한 결정을 위해서는 각 부분 공간에 해당하는 학습 데이터가 있어야 한다.
위의 그림과 같이 1,2,3차원 공간에서 각 차원을 일정 크기 구간으로 분할한 부분 공간을 보여준다. 1차원 공간이 N개의 구간으로 나누어진다면, 2차원 공간은 개의 사각형 부분공간으로 나누어지고, 3차원 공간은 개의 입체 공간으로 나누어진다. N차원이 되면 개의 부분 공간이 만들어져 부분 공간의 갯수가 기하급수적으로 많이 필요해진다.
따라서. 차원을 축소하여 데이터를 사용하는 방법을 많이 사용하는데 차원을 축소하는 여러가지 방법들중 대표적인 것이 주성분 분석(Principal component analysis, PCA) 방법이 있다. 주성분 분석은 데이터를 projection 시킬때 가장 큰 분산을 갖는 축을 찾아서 소수의 축들을 기준으로 데이터를 표현하여 데이터를 저차원으로 축소해 표현한다.
이들 축은 데이터에 대한 공분산 행렬의 고유값이 큰 고유벡터에 해당한다. 많은 2차원 데이터 또는 값을 직선상에 수직으로 정사영시켜 직선상에서의 위치로 표현한다
□
'2. 인공지능 > 2-3. 기계학습' 카테고리의 다른 글
2-3-7. 결정트리 (0) | 2018.01.22 |
---|---|
2-3-6. 기계학습 문제들(이상치 감지) (0) | 2018.01.21 |
2-3-4. 기계학습 문제(회귀) (0) | 2018.01.13 |
2-3-3. 기계학습 문제(분류) (0) | 2018.01.09 |
2-3-2. 기계학습기술의 종류 (0) | 2018.01.08 |