Supongamos que existe una matriz de distancia d [n x n]
sobre el que podemos hacer un clustering jerárquico (por ejemplo, utilizando distancias medias). El dendrograma/cluster resultante de esta operación es entonces c
.
¿Existe algún algoritmo que parta de lo ya calculado c
y d
y luego tratar las actualizaciones incrementales de d
y cómo afectan c
en lugar de recalcular todo desde cero? No es necesario que dé exactamente los mismos resultados de la agrupación jerárquica, pero debería mantener más o menos la misma lógica.
Editar:
Para dar más detalles: Imagine matriz D y el árbol jerárquico (no sólo las etiquetas de los grupos) h . Esta matriz D se actualiza ahora a una matriz D' con nuevas distancias (no hay nuevos objetos, sólo distancias actualizadas) que están "relativamente cerca" de las antiguas. También podemos considerar el caso más sencillo en el que sólo se actualiza un punto (es decir, una columna de la matriz) y todas las demás distancias permanecen igual. En principio, se podría actualizar por etapas toda la matriz. (La cuestión es si en este punto se sigue ganando algo).
¿Existe una forma de pasar de h a h' sin recalcular todo desde cero? Es decir, ¿podemos simplificar el procedimiento de clustering conociendo el cluster anterior, y el hecho de que las distancias no han cambiado mucho?
Por supuesto, también sería interesante añadir o eliminar puntos. Básicamente el caso de sustituir una columna podría escribirse como quitar una columna y añadir una columna, o al revés...