본문 바로가기
AI/Machine-Learning

Density clustering

by Wikinist 2023. 9. 8.

Density clustering은 데이터 포인트의 밀도를 기반으로 클러스터를 형성하는 비지도 학습 기술입니다. 이 방법은 주어진 데이터 세트에서 비슷한 밀도를 가진 데이터 포인트를 같은 클러스터로 그룹화합니다. Density clustering은 데이터 내에서 밀도가 높은 지역을 찾고, 이 지역을 클러스터로 간주하며, 다른 밀도가 낮은 지역과 구분합니다.

Density clustering의 주요 개념과 특징은 다음과 같습니다:

밀도 (Density): Density clustering은 주어진 데이터 공간에서 각 데이터 포인트 주변의 밀도를 측정합니다. 이것은 주변에 얼마나 많은 데이터 포인트가 있는지를 나타내며, 밀도가 높은 지역은 클러스터의 후보가 됩니다.

핵심 포인트 (Core Points): 밀도가 높은 지역에 있는 데이터 포인트를 핵심 포인트로 정의합니다. 핵심 포인트는 주변에 최소한의 최소 데이터 포인트 수 (일반적으로는 일정한 거리 내에)를 가져야 합니다.

경계 포인트 (Border Points): 핵심 포인트와 직접 연결되지 않지만 핵심 포인트의 이웃 내에 있는 데이터 포인트는 경계 포인트로 간주됩니다. 이러한 포인트는 클러스터의 경계에 위치하며 다른 클러스터와의 경계를 형성합니다.

잡음 포인트 (Noise Points): 밀도가 낮은 지역에 있는 데이터 포인트는 잡음 포인트로 간주됩니다. 이러한 포인트는 어떠한 클러스터에도 속하지 않습니다.

Density clustering 알고리즘 중 가장 널리 사용되는 것은 DBSCAN (Density-Based Spatial Clustering of Applications with Noise)입니다. 이 알고리즘은 핵심 포인트, 경계 포인트 및 잡음 포인트를 식별하고, 데이터를 클러스터로 그룹화합니다.

DBSCAN (Density-Based Spatial Clustering of Applications with Noise)은 밀도 기반 클러스터링 알고리즘으로, 주요 파라미터는 다음과 같습니다:

epsilon (ε): DBSCAN의 가장 중요한 파라미터 중 하나로, 클러스터의 반경을 정의합니다. epsilon 값은 데이터 포인트 간의 거리 측정에서 사용되며, 이 거리 내에 있는 데이터 포인트들은 서로 이웃으로 간주됩니다. epsilon 값이 크면 더 넓은 영역이 클러스터로 포함되며, 작으면 더 작은 영역이 클러스터로 인식됩니다.

MinPts: DBSCAN에서 핵심 포인트를 식별하는 데 사용되는 또 다른 중요한 파라미터입니다. 핵심 포인트는 반경 epsilon 내에 최소 MinPts 개수 이상의 데이터 포인트가 있을 때 생성됩니다. 이 파라미터는 데이터의 밀도를 정의하는 데 도움이 되며, MinPts 이상의 이웃을 가진 핵심 포인트를 중심으로 클러스터가 형성됩니다.

거리 측정 방법 (Distance Metric): DBSCAN은 데이터 포인트 간의 거리를 측정하기 위해 사용하는 거리 측정 방법을 선택하는 옵션을 제공합니다. 일반적으로 유클리드 거리(Euclidean distance)나 맨하탄 거리(Manhattan distance) 등의 거리 측정 방법을 선택할 수 있습니다.

클러스터 생성 방법 (Clustering Algorithm): DBSCAN은 클러스터를 형성하는 데 사용되는 방법을 선택하는 옵션을 제공합니다. 주요 두 가지 방법은 "Eps-Neighborhood"와 "Connected Components"입니다. Eps-Neighborhood 방법은 epsilon 반경 내의 이웃을 기반으로 클러스터를 형성하며, Connected Components 방법은 연결된 데이터 포인트 그래프를 사용하여 클러스터를 결정합니다.

Density clustering은 데이터가 밀집한 지역에서 효과적으로 작동하며, 클러스터의 크기나 모양이 다를 수 있는 데이터에 유용합니다. 그러나 데이터의 밀도 추정과 거리 측정에 따라 결과가 변할 수 있으므로 데이터의 특성과 목적에 따라 알맞은 밀도 클러스터링 기법을 선택하는 것이 중요합니다.

해당 게시글은 ChatGPT의 도움을 받아 작성되었습니다.

'AI > Machine-Learning' 카테고리의 다른 글

[NumPy] bincount  (0) 2023.09.08
[NumPy] where  (0) 2023.09.08
[NumPy] choose()  (0) 2023.09.08
계층적 클러스터링 함수  (0) 2023.09.08
계층적 군집화(Hierarchical Clustering)  (0) 2023.09.08