Hay un par de formas de hacerlo, y generalmente dependerá de las dimensiones de sus datos y su entorno. Existen varios enfoques de factorización matricial que funcionan bien en multiprocesadores de memoria compartida, pero pueden no ser viables para algo como MapReduce.
Un enfoque común es paralelizar la multiplicación de la matriz necesaria para obtener [matemáticas] X ^ {T} X [/ matemáticas] y [matemáticas] X ^ {T} Y [/ matemáticas]. Sin embargo, mediante una serie de descomposiciones QR paralelas, es posible resolver el problema de mínimos cuadrados. La siguiente es una referencia útil: Factorizaciones QR paralelas y secuenciales que evitan la comunicación.
Multiplicación de matriz paralela
- ¿El aprendizaje por refuerzo con redes neuronales profundas implica descenso de gradiente y propagación hacia atrás?
- ¿Cómo se usa el cálculo vectorial en el aprendizaje automático?
- Cómo construir la matriz del núcleo para un polinomio de grado finito
- ¿Cuál es el estado del arte para SLAM en dispositivos móviles?
- ¿Qué papel juegan las redes neuronales y el aprendizaje automático en la atención médica?
Se necesitan dos matrices, [matemática] X ^ {T} X [/ matemática] y [matemática] X ^ {T} Y [/ matemática], cada una de las cuales se puede paralelizar mediante la distribución de bloques de filas, observaciones, en varios procesadores . Cada procesador calcula estas matrices en paralelo, y el resultado final se puede lograr agregando cada uno de estos subproblemas. El problema se resuelve en una sola máquina. La simetría de la [matemática] X ^ {T} X [/ matemática] hace que la descomposición de Cholesky sea particularmente atractiva. Esta es una implementación bastante común en una configuración de MapReduce.
Descomposiciones QR en Paralelo
Con una descomposición QR, podemos descomponer una matriz [matemática] X = QR [/ matemática]. Sustituyendo la factorización QR en la ecuación de mínimos cuadrados original se obtiene [matemática] R \ beta = Q ^ {T} Y [/ matemática]. Al dividir [math] X [/ math] en varias máquinas, podemos calcular la descomposición de QR en cada uno de estos subproblemas o problemas “locales”. Se puede ejecutar una descomposición QR posterior agregando los términos R de cada uno de los problemas “locales”, lo que da la matriz final [matemática] R [/ matemática]. La matriz [math] Q [/ math] se puede obtener manipulando las dos matrices [math] Q [/ math] de los problemas “local” e “intermedio”.