Affinity Propagation

Affinity Propagation #

Affinity Propagation은 데이터 포인트들 간의 메시지 전달을 통해 클러스터의 중심(exemplar)을 자동으로 선택하는 클러스터링 알고리즘이다. 클러스터의 수를 미리 정하지 않고도 데이터의 구조에 따라 적절한 수의 클러스터를 자동으로 결정한다.

주요 개념 #

  • Exemplar: 각 클러스터를 대표하는 실제 데이터 포인트이다.
  • Responsibility: 데이터 포인트 i가 포인트 k를 exemplar로 선택하는 정도를 나타낸다.
  • Availability: 포인트 k가 포인트 i의 exemplar가 되기에 적합한 정도를 나타낸다.
  • Preference: 각 데이터 포인트가 exemplar가 될 가능성을 나타내는 값이다.

알고리즘 특징 #

  • 실제 데이터 포인트를 클러스터의 중심으로 사용한다.
  • 클러스터의 수를 자동으로 결정한다.
  • 모든 데이터 포인트가 exemplar가 될 수 있다.
  • 메시지 전달 방식을 통해 최적의 exemplar를 찾는다.

장점과 단점 #

  • 장점

    • 클러스터의 수를 미리 지정할 필요가 없다.
    • 실제 데이터 포인트를 클러스터 중심으로 사용하여 해석이 용이하다.
    • 불규칙한 형태의 클러스터도 효과적으로 처리할 수 있다.
    • 안정적인 결과를 제공한다.
  • 단점

    • 계산 복잡도가 높아 대용량 데이터에 부적합하다.
    • 매개변수 설정이 결과에 큰 영향을 미친다.
    • 수렴 시간이 오래 걸릴 수 있다.

Affinity Propagation은 클러스터의 중심을 실제 데이터 포인트로 표현하고자 할 때 매우 유용한 알고리즘이다.