Affinity Propagation #
Affinity Propagation은 데이터 포인트들 간의 메시지 전달을 통해 클러스터의 중심(exemplar)을 자동으로 선택하는 클러스터링 알고리즘이다. 클러스터의 수를 미리 정하지 않고도 데이터의 구조에 따라 적절한 수의 클러스터를 자동으로 결정한다.
주요 개념 #
- Exemplar: 각 클러스터를 대표하는 실제 데이터 포인트이다.
- Responsibility: 데이터 포인트 i가 포인트 k를 exemplar로 선택하는 정도를 나타낸다.
- Availability: 포인트 k가 포인트 i의 exemplar가 되기에 적합한 정도를 나타낸다.
- Preference: 각 데이터 포인트가 exemplar가 될 가능성을 나타내는 값이다.
알고리즘 특징 #
- 실제 데이터 포인트를 클러스터의 중심으로 사용한다.
- 클러스터의 수를 자동으로 결정한다.
- 모든 데이터 포인트가 exemplar가 될 수 있다.
- 메시지 전달 방식을 통해 최적의 exemplar를 찾는다.
장점과 단점 #
-
장점
- 클러스터의 수를 미리 지정할 필요가 없다.
- 실제 데이터 포인트를 클러스터 중심으로 사용하여 해석이 용이하다.
- 불규칙한 형태의 클러스터도 효과적으로 처리할 수 있다.
- 안정적인 결과를 제공한다.
-
단점
- 계산 복잡도가 높아 대용량 데이터에 부적합하다.
- 매개변수 설정이 결과에 큰 영향을 미친다.
- 수렴 시간이 오래 걸릴 수 있다.
Affinity Propagation은 클러스터의 중심을 실제 데이터 포인트로 표현하고자 할 때 매우 유용한 알고리즘이다.