0
$\begingroup$

please could someone clarify the following:

I apply Affinity Propagation (AP) algorithm to data set. The minimal number of elements in one cluster I got is three. In advance I know that my data set contain some unique elements that should be allocated to separate alone cluster. So i would like to set the minumum number of elements in any cluster is one and apply AP. Is it possible to do it in relation to AP (change some parameters) or it is property of AP to do clusterization such that each cluster has at least three elememnts.

Thank you in advance.

$\endgroup$
0
$\begingroup$

Such answers are best answered if you would read the original publication of affinity propagation, and study the source code, rather than relying on some vague information from an online QA site...

It's fairly easy to see that AP does not ensure a minimum cluster size. Your control over cluster sizes is only indirect, based on a "self-responsibility" of each point.

| cite | improve this answer | |
$\endgroup$
0
$\begingroup$

You can't decide the minimal number of items in a cluster in the original AP algorithm. Here's a simpler derivation of it by the original authors:

https://www.psi.toronto.edu/pubs2/2009/NC09%20-%20SimpleAP.pdf

AP is essentially a max-sum, factor graph based algorithm. It maximises a negative similarity given the following 2 constraints:

  1. There can be only 1 exemplar chosen per item.
  2. An item can only choose an exemplar if it chooses itself.

There is nothing constraining the number of points that choose an exemplar however the paper above does detail how you might change the algorithm to do exactly that. I have not seen an implementation of it, but I have implemented AP myself, and it is pretty easy. You can get the matlab code from the authors website.

Finally, if you want to put a specific set of points into a cluster together, that can be done by making them very close together in your similarity matrix.

| cite | improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.