− | 在affinity propagation中聚类的数量是由preference的设定和数据的结构共同决定的。一般默认将所有的数据点的preference设为similarity矩阵的median。节点会比较自己的preference和与其他节点之间的相似性,如果后者更高,就选择后者作为exmplar,反之则自己做exmplar。所以一开始如果把所有的preference都设成0或大于0,而similarity矩阵上的元素是负值(例如负的欧式距离),那么每个节点都会成为examplar,也就是最后举出来N类。如果preference被设成一个比较小的值,例如similarity矩阵的median,那么就会在迭代过程中自发形成聚类的团块数量。 | + | 在affinity propagation中聚类的数量是由偏好的设定和数据的结构共同决定的。一般默认将所有的数据点的偏好设为相似矩阵的中位数。节点会比较自己的偏好和与其他节点之间的相似性,如果后者更高,就选择后者作为例子,反之则自己做例子。所以一开始如果把所有的偏好都设成0或大于0,而相似矩阵上的元素是负值(例如负的欧式距离),那么每个节点都会成为例子,也就是最后举出来N类。如果偏好被设成一个比较小的值,例如相似矩阵的中位数,那么就会在迭代过程中自发形成聚类的团块数量。 |