비지도학습은 라벨(정답값, y값, 종속변수)이 없다.
그 속의 패턴(pattern) 또는 각 데이터 간의 유사도(similarity)를 학습한다.
K-means는 사용자가 정한 K개의 클러스터로 군집을 생성하는 알고리즘!
1. K-means 알고리즘의 첫번째 작업은 중심점의 초기값을 설정하는 것이다. 초기값은 데이터 중에서 임의로 K개를 선택한다.
2. 각 중심점에서 가장 가까운 포인트들을 선택한다
3. 각 군집 포인트들의 평균으로 중심점을 업데이트한다.
4. 2-3번을 반복하다가 더이상 중심점 이동이 없을 경우에 중단한다.
(적정 k 클러스터링 잡는법)
차원축소는 매우 많은 feature로 구성된 다차원 데이터 세트의 차원을 축소해
새로운 차원의 데이터 세트를 생성하는 것
차원의 저주 ( Curse of dimension)
데이터 학습을 위한 차원(=특성,변수,피쳐)이 증가하면서 학습데이터의 수 보다 차원의 수가 많아지게 되어 모델의 성능이 떨어지는 현상.
예를 들어 데이터의 수는 500개인데 차원이 1000개라면, 모델의 복잡도는 증가하지만 성능은 떨어지게 됨.
일반적으로 차원이 커지면 -> 데이터 포인터 간의 거리가 기하급수적으로 증가
공간의 부피가 증가하고 밀도가 줄어들면 이러한 빈 공간들은 0으로 저장하게 됨(sparse한 구조)
-> 분석시간 증가, 불필요한 용량 저장, 용량 문제
PCA는 여러 변수간에 존재하는 상관관계를 이용해 이를 대표하는 주성분(Principal Component)을 추출해 차원을 축소하는 기법
목표 : 정보 유실 최소화
-> 가장 높은 분산을 가지는 데이터의 축을 찾아 해당 축(주성분!)으로 차원을 축소하겠다.