Method of a dimension reduction
El boceto de conteo es un tipo de reducción de dimensionalidad que es particularmente eficiente en estadísticas , aprendizaje automático y algoritmos . [1] [2]
Fue inventado por Moses Charikar, Kevin Chen y Martin Farach-Colton en un esfuerzo por acelerar el boceto AMS de Alon, Matias y Szegedy para aproximar los momentos de frecuencia de los flujos [4] (estos cálculos requieren el conteo del número de ocurrencias de los distintos elementos del flujo).
El esquema es casi idéntico [ cita requerida ] al algoritmo de hash Feature de John Moody, [5] pero difiere en el uso de funciones hash con baja dependencia, lo que lo hace más práctico. Para seguir teniendo una alta probabilidad de éxito, se utiliza el truco de la mediana para agregar múltiples esquemas de recuento, en lugar de la media.
Estas propiedades permiten el uso de métodos de kernel explícitos y agrupamiento bilineal en redes neuronales y son una piedra angular en muchos algoritmos de álgebra lineal numérica. [6]
Explicación intuitiva
Los inventores de esta estructura de datos ofrecen la siguiente explicación iterativa de su funcionamiento:
- En el nivel más simple, la salida de una función hash única que asigna elementos de flujo q a {+1, -1} alimenta un único contador ascendente/descendente C. Después de una sola pasada sobre los datos, la frecuencia de un elemento de flujo q se puede aproximar, aunque de manera extremadamente deficiente, por el valor esperado ;
- Una forma sencilla de mejorar la varianza de la estimación anterior es utilizar una matriz de diferentes funciones hash , cada una conectada a su propio contador . Para cada elemento q , la sigue siendo válida, por lo que el promedio en el rango i ajustará la aproximación;
- El constructo anterior todavía tiene una deficiencia importante: si un elemento de salida de menor frecuencia pero aún importante a exhibe una colisión hash con un elemento de alta frecuencia, la estimación puede verse afectada significativamente. Evitar esto requiere reducir la frecuencia de las actualizaciones del contador de colisión entre dos elementos distintos. Esto se logra reemplazando cada uno en el constructo anterior con una matriz de m contadores (haciendo que el conjunto de contadores sea una matriz bidimensional ), con el índice j de un contador particular que se incrementará/decrementará seleccionado a través de otro conjunto de funciones hash que mapean el elemento q en el rango {1.. m }. Dado que , el promedio de todos los valores de i funcionará.
Definición matemática
1. Para las constantes y (que se definirán más adelante), elija independientemente funciones hash aleatorias y tales que y . Es necesario que las familias hash de las que se eligen y sean independientes entre sí.
2. Para cada elemento del flujo, agréguelo al depósito n.º del hash n.º.
Al final de este proceso se tienen sumas donde
Para estimar el recuento de s se calcula el siguiente valor:
Los valores son estimaciones imparciales de cuántas veces ha aparecido en la secuencia.
La estimación tiene varianza , donde es la longitud del arroyo y es . [7]
Además, se garantiza que nunca habrá una desviación mayor del valor real, con probabilidad .
Formulación vectorial
Alternativamente, Count-Sketch puede verse como una función de mapeo lineal con una función de reconstrucción no lineal. Sea , una colección de matrices, definida por
para y 0 en cualquier otro lugar.
Luego, se dibuja un vector mediante . Para reconstruirlo, tomamos . Esto ofrece las mismas garantías que las indicadas anteriormente, si tomamos y .
Relación con el bosquejo del tensor
La proyección del boceto de conteo del producto externo de dos vectores es equivalente a la convolución de dos bocetos de conteo de componentes.
El bosquejo de conteo calcula una convolución vectorial
, donde y son matrices de bosquejo de conteo independientes.
Pham y Pagh [8] muestran que esto es igual a : un bosquejo de recuento del producto externo de vectores, donde denota el producto de Kronecker .
La transformada rápida de Fourier se puede utilizar para realizar una convolución rápida de los esquemas de recuento. Mediante el uso del producto de división de caras [9] [10] [11], dichas estructuras se pueden calcular mucho más rápido que las matrices normales.
Véase también
Referencias
- ^ Faisal M. Algashaam; Kien Nguyen; Mohamed Alkanhal; Vinod Chandran; Wageeh Boles. "Clasificación periocular multiespectral con agrupamiento multilineal compacto multimodal" [1]. IEEE Access , vol. 5. 2017.
- ^ Ahle, Thomas; Knudsen, Jakob (3 de septiembre de 2019). "Bosquejo tensorial casi óptimo". ResearchGate . Consultado el 11 de julio de 2020 .
- ^ Alon, Noga, Yossi Matias y Mario Szegedy. "La complejidad espacial de la aproximación de los momentos de frecuencia". Journal of Computer and system sciences 58.1 (1999): 137-147.
- ^ Moody, John. "Aprendizaje rápido en jerarquías de múltiples resoluciones". Avances en sistemas de procesamiento de información neuronal. 1989.
- ^ Woodruff, David P. "El boceto como herramienta para el álgebra lineal numérica". Theoretical Computer Science 10.1-2 (2014): 1–157.
- ^ Larsen, Kasper Green, Rasmus Pagh y Jakub Tětek. "CountSketches, Feature Hashing y la mediana de tres". Conferencia internacional sobre aprendizaje automático. PMLR, 2021.
- ^ Ninh, Pham; Pagh, Rasmus (2013). Núcleos polinómicos rápidos y escalables a través de mapas de características explícitas . Conferencia internacional SIGKDD sobre descubrimiento de conocimiento y minería de datos. Association for Computing Machinery. doi :10.1145/2487575.2487591.
- ^ Slyusar, VI (1998). "Productos finales en matrices en aplicaciones de radar" (PDF) . Radioelectrónica y sistemas de comunicaciones . 41 (3): 50–53.
- ^ Slyusar, VI (20 de mayo de 1997). "Modelo analítico de la red de antenas digitales basado en productos matriciales de división de caras" (PDF) . Proc. ICATT-97, Kyiv : 108–109.
- ^ Slyusar, VI (13 de marzo de 1998). "Una familia de productos faciales de matrices y sus propiedades" (PDF) . Análisis de sistemas y cibernética C/C de Kibernetika I Sistemnyi Analiz.- 1999 . 35 (3): 379–384. doi :10.1007/BF02733426. S2CID 119661450.
Lectura adicional
- Charikar, Moses; Chen, Kevin; Farach-Colton, Martin (2004). "Encontrar elementos frecuentes en flujos de datos" (PDF) . Theoretical Computer Science . 312 (1). Elsevier BV: 3–15. doi :10.1016/s0304-3975(03)00400-6. ISSN 0304-3975.
- Faisal M. Algashaam; Kien Nguyen; Mohamed Alkanhal; Vinod Chandran; Wageeh Boles. "Clasificación periocular multiespectral con agrupamiento multilineal compacto multimodal" [1]. IEEE Access , vol. 5. 2017.
- Ahle, Thomas; Knudsen, Jakob (3 de septiembre de 2019). "Bosquejo tensorial casi óptimo". ResearchGate . Consultado el 11 de julio de 2020 .