DBSCAN 클러스터링 알고리즘: 두 판 사이의 차이

기술노트
편집 요약 없음
편집 요약 없음
 
(같은 사용자의 중간 판 2개는 보이지 않습니다)
1번째 줄: 1번째 줄:
미디어위키(MediaWiki)에서 바로 사용하실 수 있도록 **Markdown 문법**으로 깔끔하게 정리했습니다. 
== DBSCAN 클러스터링 알고리즘 ==


아래 내용을 그대로 복사해서 미디어위키에 붙여 넣으시면 됩니다.
'''DBSCAN'''(Density-Based Spatial Clustering of Applications with Noise)은 데이터가 밀집된 정도(밀도)에 따라 군집(클러스터)을 나누는 알고리즘이다.


---
쉽게 말해, 데이터가 많이 몰려 있는 곳을 하나의 군집으로 판단하는 방법이다.


# DBSCAN 클러스터링 알고리즘
----


'''DBSCAN''' (Density-Based Spatial Clustering of Applications with Noise)은 데이터가 밀집된 정도(밀도)에 따라 군집(클러스터)을 나누는 알고리즘이다.
=== 기본 개념 ===


데이터를 쉽게 해석하자면, 사람들이 많이 모여있는 곳을 한 무리(군집)로 판단하는 방식이다.
군집화를 위해 다음 두 가지 값을 정한다.


---
* '''Epsilon(ε)''': 특정 점을 기준으로 주변을 확인할 반경
* '''MinPts''': 하나의 군집을 이루기 위한 최소 점 개수


## DBSCAN의 기본 개념
----


가지 기준을 사용해 군집을 만든다.
=== DBSCAN의 세 가지 핵심 요소 ===


- **Epsilon(ε)**: 한 점 주변을 확인할 때의 반경
;1. '''중심점 (Core Point)'''
- **MinPts**: 군집을 형성하기 위한 최소한의 점 개수
:한 점을 중심으로 Epsilon 반경 안에 MinPts 개 이상의 점이 존재할 때 중심점이 된다.
:예) 반경 5m 내에 4명 이상의 사람이 있다면 중심점이다.


---
;2. '''경계점 (Border Point)'''
:Epsilon 반경 내에 MinPts보다 적은 수의 점이 존재하는 경우 경계점이 된다.
:군집의 외곽을 구성하며 중심점이 아니다.
:예) 반경 5m 내에 3명 이하만 있다면 경계점이다.


## DBSCAN의 세 가지 핵심 요소
;3. '''잡음점 (Noise Point)'''
:Epsilon 반경 내에 점이 전혀 없거나, 군집에서 떨어진 경우 잡음점으로 분류된다.
:예) 반경 5m 내에 아무도 없다면 잡음점이다.


### 1. Core Point (중심점)
----


한 점을 중심으로 Epsilon 반경 안에 MinPts 이상의 점이 있으면 '''중심점(Core Point)'''으로 정한다.
=== 시각적 예시 ===


- 예: 반경 5m 내에 4명 이상 존재하면 중심점이다.
{| class="wikitable" style="text-align:center;"
 
### 2. Border Point (경계점)
 
반경 내의 점이 MinPts 미만이면 '''경계점(Border Point)'''으로 분류한다. 
군집의 경계 부분에 있으며, 스스로 군집을 생성하지 못하는 점이다.
 
- 예: 반경 5m 내에 3명 이하만 있다면 경계점이다.
 
### 3. Noise Point (잡음점)
 
반경 내에 점이 없거나, 군집에서 떨어져 어디에도 속하지 못한 점은 '''잡음점(Noise Point)'''이다.
 
- 예: 반경 5m 내에 점이 없다면 잡음점이다.
 
---
 
## 시각적 예시
 
{| class="wikitable" style="text-align:center"
|-
|-
! 중심점(Core Point) !! 경계점(Border Point) !! 잡음점(Noise Point)
! 중심점(Core Point) !! 경계점(Border Point) !! 잡음점(Noise Point)
|-
|-
| 군집의 중심 || 🔸 군집의 경계 || 군집 외부
| style="background:#e0f7ff;" | 군집의 중심<br />주변 점이 많음
|-
| style="background:#fff2cc;" | 군집의 경계<br />주변 점이 적음
| 주변에 점이 많음 || 주변에 점이 적음 || 주변에 점이 없음
| style="background:#fbeaea;" | 군집 외부<br />주변 점이 없음
|}
|}


[[파일:https://t1.daumcdn.net/cfile/tistory/99CC563359E057BA25|300px|가운데]]
[[파일:DBSCAN_example.png|500px|가운데]]


- 파란색: '''중심점(Core)'''
* 파란색: '''중심점(Core Point)'''
- 노란색: '''경계점(Border)'''
* 노란색: '''경계점(Border Point)'''
- 빨간색: '''잡음점(Noise)'''
* 빨간색: '''잡음점(Noise Point)'''


---
''※ 이미지 업로드 방법: 
위키 메뉴의 [파일 올리기]를 통해 이미지를 업로드한 후, 
위와 같이 이미지 이름으로 불러오세요.''


## 간략한 정리
----


- 반경 내 점이 많음 → '''중심점(Core)''' → 군집 형성 및 확장
=== 알고리즘 동작 과정 요약 ===
- 반경 내 점이 적음 → '''경계점(Border)''' → 군집의 끝 (확장되지 않음)
- 반경 내 점이 없음 → '''잡음점(Noise)''' → 군집 미포함


이러한 방식으로 데이터가 밀집된 곳을 중심으로 클러스터가 형성된다.
* Epsilon 반경 안에 MinPts 이상의 점 존재 → '''중심점''' → 군집 형성 시작
* 중심점에서 연결된 점들 중 MinPts 미만 → '''경계점''' → 군집 확장 중지
* 어느 군집에도 연결되지 않음 → '''잡음점''' (군집에서 제외)


---
----


## DBSCAN의 장점
=== DBSCAN의 장점 ===


- 클러스터 개수를 미리 설정하지 않아도 됨 (자동 군집)
* 군집의 개수를 사전에 정하지 않아도 된다.
- 다양한 형태의 군집 형성 가능
* 다양한 형태의 군집을 찾아낼 수 있다.
- 이상치(잡음점) 탐지에 강력
* 이상치(잡음점) 탐지가 쉽다.


---
----


## DBSCAN의 단점
=== DBSCAN의 단점 ===


- 반경(Epsilon) 설정에 민감함
* 반경(Epsilon) 설정에 민감하다.
  - 너무 작으면 군집이 과도하게 나뉨
** Epsilon이 너무 작으면 군집이 잘게 나누어진다.
  - 너무 크면 군집이 뭉개짐
** Epsilon이 너무 크면 군집이 하나로 뭉쳐버린다.


---
----


## 참고 자료
=== 참고 자료 ===


- [https://bcho.tistory.com/1205?category=555440 DBSCAN 이해하기]
* [https://bcho.tistory.com/1205?category=555440 DBSCAN 이해하기]
- [https://practice2code.blogspot.com/2017/07/dbscan-clustering-algorithm.html DBSCAN 예시]
* [https://practice2code.blogspot.com/2017/07/dbscan-clustering-algorithm.html DBSCAN 예시]


---
----


### 한 줄 요약
=== 한 줄 요약 ===


> DBSCAN은 데이터가 밀집된 부분을 찾아 군집을 형성하는 알고리즘이다.
> '''DBSCAN은 데이터가 밀집된 부분을 중심으로 군집을 형성하는 밀도 기반 클러스터링 알고리즘이다.'''

2025년 4월 26일 (토) 12:33 기준 최신판

DBSCAN 클러스터링 알고리즘

DBSCAN(Density-Based Spatial Clustering of Applications with Noise)은 데이터가 밀집된 정도(밀도)에 따라 군집(클러스터)을 나누는 알고리즘이다.

쉽게 말해, 데이터가 많이 몰려 있는 곳을 하나의 군집으로 판단하는 방법이다.


기본 개념

군집화를 위해 다음 두 가지 값을 정한다.

  • Epsilon(ε): 특정 점을 기준으로 주변을 확인할 반경
  • MinPts: 하나의 군집을 이루기 위한 최소 점 개수

DBSCAN의 세 가지 핵심 요소

1. 중심점 (Core Point)
한 점을 중심으로 Epsilon 반경 안에 MinPts 개 이상의 점이 존재할 때 중심점이 된다.
예) 반경 5m 내에 4명 이상의 사람이 있다면 중심점이다.
2. 경계점 (Border Point)
Epsilon 반경 내에 MinPts보다 적은 수의 점이 존재하는 경우 경계점이 된다.
군집의 외곽을 구성하며 중심점이 아니다.
예) 반경 5m 내에 3명 이하만 있다면 경계점이다.
3. 잡음점 (Noise Point)
Epsilon 반경 내에 점이 전혀 없거나, 군집에서 떨어진 경우 잡음점으로 분류된다.
예) 반경 5m 내에 아무도 없다면 잡음점이다.

시각적 예시

중심점(Core Point) 경계점(Border Point) 잡음점(Noise Point)
군집의 중심
주변 점이 많음
군집의 경계
주변 점이 적음
군집 외부
주변 점이 없음
  • 파란색: 중심점(Core Point)
  • 노란색: 경계점(Border Point)
  • 빨간색: 잡음점(Noise Point)

※ 이미지 업로드 방법: 위키 메뉴의 [파일 올리기]를 통해 이미지를 업로드한 후, 위와 같이 이미지 이름으로 불러오세요.


알고리즘 동작 과정 요약

  • Epsilon 반경 안에 MinPts 이상의 점 존재 → 중심점 → 군집 형성 시작
  • 중심점에서 연결된 점들 중 MinPts 미만 → 경계점 → 군집 확장 중지
  • 어느 군집에도 연결되지 않음 → 잡음점 (군집에서 제외)

DBSCAN의 장점

  • 군집의 개수를 사전에 정하지 않아도 된다.
  • 다양한 형태의 군집을 찾아낼 수 있다.
  • 이상치(잡음점) 탐지가 쉽다.

DBSCAN의 단점

  • 반경(Epsilon) 설정에 민감하다.
    • Epsilon이 너무 작으면 군집이 잘게 나누어진다.
    • Epsilon이 너무 크면 군집이 하나로 뭉쳐버린다.

참고 자료


한 줄 요약

> DBSCAN은 데이터가 밀집된 부분을 중심으로 군집을 형성하는 밀도 기반 클러스터링 알고리즘이다.