Estoy tratando de usar el agrupamiento de dosel para proporcionar grupos iniciales para KMeans en mahout.
¿Hay alguna manera de determinar / aproximar los valores de los umbrales de distancia T1 y T2 algorítmicamente? En este momento tengo T1 = 100 y T2 = 1, que no parece estar haciendo nada bueno.
clustering
Rohan Monga
fuente
fuente
Respuestas:
Como señala Whuber, los autores del algoritmo de agrupación de dosel sugieren que T1 y T2 se pueden configurar con validación cruzada. Sin embargo, estos parámetros podrían ajustarse de la misma manera que cualquier otro hiperparámetro. Una de las técnicas más comunes es la búsqueda en cuadrícula., donde se especifica un rango para cada parámetro, así como un tamaño de paso para cómo se cambian los parámetros en cada iteración. Por ejemplo, supongamos que especificamos que T1 tiene un rango de valores de 25 a 100 con un tamaño de paso de 25. Esto significaría que los valores posibles de T1 para intentar serían (25, 50, 75, 100). Del mismo modo, podríamos establecer que T2 tenga valores posibles entre 1-4, con un tamaño de paso de 1, de modo que los valores posibles sean (1,2,3,4). Esto significaría que hay 16 posibles conjuntos de parámetros para probar. Al igual que con cualquier otro algoritmo de clasificación o agrupación, evaluaría su eficacia calculando su puntaje F1, precisión / error u otra métrica de rendimiento para determinar el mejor conjunto de los 16 conjuntos de parámetros. Además de la búsqueda de cuadrícula, otros algoritmos de optimización de hiperparámetros incluyen Nelder-Mead ,algoritmos genéticos , recocido simulado y optimización de enjambres de partículas , entre muchos otros. Estos algoritmos lo ayudarán a determinar los valores apropiados para T1 y T2 de manera automatizada.
Notó anteriormente que tiene un conjunto de datos de 100K dimensiones. ¿Se refiere al número de filas o al número de columnas dentro de sus datos? Si se refiere al número de columnas, sugeriría realizar alguna combinación de selección de características basada en la variación de las características individuales y la extracción de características a través del análisis de componentes principales (PCA) o Kernel-PCA . Incluso si muchas de sus características son útiles (es decir, proporcionan una ganancia de información para discriminar entre grupos / clases / valores variables de salida), tener demasiadas características podría significar que su algoritmo de agrupación no puede determinar las distancias apropiadas entre las instancias.
fuente