This Android application uses the CIEngine module to automatically manage the photos and images on the device. Then you will be able to manage the result according to your criteria, by moving or erasing images as you want.
1
stars
0
forks
source link
[feature] Configurar ponderación de afinidades desde la app como usuario #36
La matriz de afinidad que se utiliza para hacer el clustering es el resultado de hacer una suma ponderada de varias matrices de afinidad, las cuales son obtenidas de distintas formas que representan alguna característica en particular a medir entre imágenes. La ponderación que tenga cada matriz representa cuánto se prioriza la característica o naturaleza de afinidad correspondiente sobre el resultado final, por lo que claramente va a impactar en los valores de afinidad que guíen al clustering para obtener estos grupos finales. Actualmente se suman dos matrices con igual ponderación, pero pensando en algún futuro donde se manejen más matrices, la ponderación podría estar basada en "perfiles de clustering" que proporcionen un grado de libertad en cómo se quisiera el resultado final de los grupos, antes que una configuración estática predeterminada.
Entonces pueden darse distintos perfiles de clustering que ayuden al usuario a definir cómo prefieren el clustering final. Esto puede facilitarse dejando perfiles pre-establecidos, pero también teniendo una configuración avanzada para ajustar manualmente la ponderación de cada aspecto de afinidad sobre el total.
Como ejemplo, supongamos que se tienen 3 matrices de afinidad:
Afinidad por tags: descripciones / categorías en común entre imágenes
Afinidad por similitud de imágenes (suponiendo que esta es la mejor descripción para la matriz de embeddings)
Afinidad temporal: imágenes que fueron creadas en una fecha cercana son más afines.
Entonces un usuario puede preferir un perfil que priorice la afinidad de tags para que "todas las mascotas traten de ir a un mismo grupo, y todas las comidas también", mientras que otro puede preferir un perfil más balanceado entre todas las afinidades, y otro prefiera tener importancia para las afinidades de tags pero también que se priorice la fecha de creación para que no se agrupen imágenes viejas con aquellas recientes.
Por lo tanto, podemos considerar que en cada ejecución de clustering, el usuario puede configurar esto de forma fácil e intuitiva (esto requiere tener una traducción de estos conceptos que hablé a algo menos técnico para que los mortales lo entiendan :laughing:). Con ello se agrega un gran valor en la personalización de la app, y el poder entender cómo se obtiene el resultado final sin tener que entrar en detalles técnicos ni ajustar parámetros muy específicos de la metodología
La matriz de afinidad que se utiliza para hacer el clustering es el resultado de hacer una suma ponderada de varias matrices de afinidad, las cuales son obtenidas de distintas formas que representan alguna característica en particular a medir entre imágenes. La ponderación que tenga cada matriz representa cuánto se prioriza la característica o naturaleza de afinidad correspondiente sobre el resultado final, por lo que claramente va a impactar en los valores de afinidad que guíen al clustering para obtener estos grupos finales. Actualmente se suman dos matrices con igual ponderación, pero pensando en algún futuro donde se manejen más matrices, la ponderación podría estar basada en "perfiles de clustering" que proporcionen un grado de libertad en cómo se quisiera el resultado final de los grupos, antes que una configuración estática predeterminada. Entonces pueden darse distintos perfiles de clustering que ayuden al usuario a definir cómo prefieren el clustering final. Esto puede facilitarse dejando perfiles pre-establecidos, pero también teniendo una configuración avanzada para ajustar manualmente la ponderación de cada aspecto de afinidad sobre el total.
Como ejemplo, supongamos que se tienen 3 matrices de afinidad:
Por lo tanto, podemos considerar que en cada ejecución de clustering, el usuario puede configurar esto de forma fácil e intuitiva (esto requiere tener una traducción de estos conceptos que hablé a algo menos técnico para que los mortales lo entiendan :laughing:). Con ello se agrega un gran valor en la personalización de la app, y el poder entender cómo se obtiene el resultado final sin tener que entrar en detalles técnicos ni ajustar parámetros muy específicos de la metodología