brunch

You can make anything
by writing

C.S.Lewis

by 별똥별 shooting star Oct 26. 2023

Clustering을 위한 DBSCAN 알고리즘

출퇴근길에 공부하는 머신러닝


들어가며

이번 편은 DBSCAN에 대해서 알아보도록 하겠다. DBSCAN(Density-Based Spatial Clustering of Applications with Noise)은 데이터 포인트의 '밀도'를 기반으로 클러스터를 형성하는 알고리즘이다. 전통적인 K-means 클러스터링이 거리에 기반한 방식이라면, DBSCAN은 어떤 데이터 포인트의 이웃 영역 내에 특정 수(minPts) 이상의 다른 데이터 포인트가 존재할 때 해당 중심점 주변으로 클러스터를 확장해 나가는 방식으로 작동한다. 이때, 이웃 영역의 반경은 'epsilon'이라는 하이퍼파라미터로 정의된다.



DBSCAN의 작동 원리

밀도 기반 클러스터 생성 : DBSCAN은 각 데이터 포인트가 다른 데이터 포인트와 얼마나 밀접하게 모여 잇는지에 따라 클러스터를 형성한다. 이 방식은 클러스터의 형태가 원형이 아닌, 더 복잡한 구조일 때도 유용하게 적용된다.

이상치 탐지 : 이 알고리즘은 클러스터링 과정에서 자연스럽게 이상치를 탐지한다. 밀도 낮은 클러스터에 속하지 않는 데이터 포인트는 이상치로 간주된다.

클러스터의 동작 형성 : 사용자가 클러스터의 수를 미리 정의할 필요가 없다. DBSCAN은 데이터의 밀도에 따라 클러스터를 동적으로 형성한다.



DBSCAN의 단점

고차원 데이터의 한계 : 많은 수의 특성을 가진 데이터셋에 대해서는 성능이 저하될 수 있다.

스파스 데이터의 처리 어려움 : 데이터 포인트들 사이의 거리가 너무 멀리 떨어져 있어 밀도를 깁나으로 한 클러스터링이 어려운 경우가 있다.



마치며

DBSCAN은 다양한 형태의 클러스터를 식별할 수 있는 강력한 클러스터링 방법이다. 특히, 복잡한 구조의 데이터나 이상치가 포함된 데이터셋에서의 클러스터링에 적합하다. 그러나 고차원 데이터셋이나 스파스 데이터에서는 성능 제약이 발생할 수 있으므로, 사용 사례에 따라 적절한 클러스터링 기법을 선택해야 한다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari