On the journey of
[자진프] 클러스터링 본문
클러스터(cluster)라는 말은 일단 '부분집합'을 의미한다. 즉 원 데이터를 부분집합으로 쪼개는 것을 의미하는 것. 쪼개는 기준이 다양한 만큼 알고리즘 종류도 다양하다.
- K-MEANS Clustering
K-Means는 제일 유명한 알고리즘이다. 제일 먼저 원 데이터 상에서 클래스(그룹)를 선택한 후, 각 데이터 분포(점으로 표시되는) 와 그룹 간의 거리를 계산하여 분류하게 된다. 복잡도는 O(n)이나, 무작위 선택으로 시작하기 때문에 결과 상 일관성이 부족할 수 있다(실행할 떄마다 클러스터링 결과가 다를 수 있다).
K-Means와 유사한 알고리즘으로 K-Medians가 있는데 평균이 아닌 '그룹의 중앙벡터'를 사용한다는 점에서 차이가 있다. Median 벡터를 계산하게 되면 반복 시 이상치에는 덜 민감하겠지만 데이터셋이 커짐에 따라 속도가 급격히 느려진다.
2. Mean-Shift Clustering
데이터 분포(점으로 표시된 것들) 클러스터링은 데이터 포인트의 밀집된 영역을 찾고자 진행되는 클러스터링으로, 각 그룹의 중심점을 찾는 것이 목표인 알고리즘. 랜덤으로 선정된 점을 기준으로 그룹이 정해지며, 데이터 포인트가 있는 슬라이딩 윈도우에 따라 데이터 포인트가 모인다.
특히 이런 경우 평균 이동이 자동적으로 감지되기 때문에 클러스터 수를 선택할 필요가 없음(자동설정됨!)
3. DBSCAN
DBSCAN 군집화는 특정 공간 내 데이터의 밀도 차이를 기반으로한 알고리즘으로, 복잡한 기하학적 분포도를 가진 데이터에 대해서도 군집화를 잘 수행한다. DBSCAN 역시 클러스터의 개수를 미리 지정할 필요가 없으며 어떤 군집에도 속하지 않는 포인트를 구분할 수 있다는 특징이 장점이다.
[주요 파라미터]
- 입실론 주변 영역(epsilon) : 개별 데이터를 중심으로 입실론 반경을 가지는 원형의 영역 → eps
- 최소 데이터 개수(min points) : 핵심 포인트가 되기 위해 입실론 주변 영역에 포함되는 타 데이터의 최소 개수 → min_samples
[데이터 포인트 정의]
데이터 포인트는 입실론 주변 영역 내 포함되는 최소 데이터 개수를 충족 시키는 지의 여부에 따라 나뉘어집니다.
- 핵심 포인트(Core Point) : 주변 영역 내 최소 데이터 개수 이상의 타 데이터를 가지고 있을 경우
- 이웃 포인트(Neighbor Point) : 주변 영역 내 위치한 타 데이터
- 경계 포인트(Border Point) : 주변 영역 내 최소 데이터 개수 이상의 이웃 포인트를 가지고 있지 않지만
핵심 포인트를 이웃 포인트로 가지고 있는 데이터
- 잡음 포인트(Noise Point) : 최소 데이터 개수 이상의 이웃 포인트를 가지고 있지 않으며, 핵심 포인트도 이웃 포인트로 가지고 있지 않는 데이터
4. 계층적 클러스터링
Agglomerative Hierarchical Clustering
Hierarchical 클러스터링 알고리즘은 실제로 하향식 또는 상향식의 두가지 범주로 나뉜다. 상향식 알고리즘은 각 데이터 포인트를 처음에는 단일 클러스터로 본 다음, 모든 클러스터가 모든 데이터 포인트를 포함하는 단일 클러스터로 병합될 때까지 클러스터 쌍을 병합한다.이 클러스터 계층 구조는 트리 (또는 dendrogram)로 표시되는데, 그 그림은 아래와 같다.
Hierarchical 클러스터링에서는 클러스터 수를 지정할 필요가 없으며 트리를 구축 할 때 가장 적합한 클러스터 수를 선택할 수도 있다. 또한 이 알고리즘은 거리 메트릭의 선택에 민감하지 않다. 이들 모두는 동등하게 잘 작동하는 경향이 있는 반면 다른 클러스터링 알고리즘에서는 거리 메트릭의 선택이 중요하게 작용하며, K-Means와 GMM의 선형 복잡성과 달리 O (n³) 의 시간 복잡성을 가지므로 효율성이 낮아지는 단점이 있다..
'학교 프로그램' 카테고리의 다른 글
[산학협력 비교과] 2. 클라우드 서비스 - 네트워크, 컴퓨팅 (0) | 2023.06.10 |
---|---|
[산학연계 비교과] 인공지능 시대의 클라우드 서비스 1. 클라우드란 (0) | 2023.05.31 |