Introducción
Este tutorial presentará el concepto de difusión (broadcasting) en la biblioteca NumPy. La difusión es un método de realizar operaciones matemáticas en matrices de diferentes dimensiones.
Consejos sobre la VM
Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.
A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.
Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje sus comentarios después de la sesión y lo resolveremos rápidamente para usted.
Sumar dos matrices unidimensionales de la misma forma
import numpy as np
a = np.array([1,2,3,4])
b = np.array([2,7,8,9])
c = a+b;
print(c)
La salida será: [ 3 9 11 13]
Intentando sumar dos matrices unidimensionales con diferentes formas
import numpy as np
a = np.array([4,5,6,7])
b = np.array([1,3,5,7,9,11,14])
c = a+b;
Esto producirá un error porque no se pueden realizar operaciones en matrices con diferentes tamaños.
Usando la difusión (broadcasting) para sumar dos matrices unidimensionales con diferentes formas
import numpy as np
a = np.array([4,5,6,7])
b = np.array([10])
c = a+b;
print(c)
Esto producirá la salida [14 15 16 17] ya que la matriz b se está difundiendo a través de la matriz a.
Difusión (broadcasting) de una matriz unidimensional en una matriz bidimensional
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
b = np.array([10, 20, 30])
print(a + b)
La salida será:
[[11 22 33]
[14 25 36]]
La matriz unidimensional se difunde a través del segundo eje de la matriz bidimensional y se suma a cada columna.
Multiplicando matrices de diferentes dimensiones
import numpy as np
a = np.array([1, 2, 3])
b = np.array([[4, 5, 6], [7, 8, 9]])
print(a * b)
La salida será:
[[ 4 10 18]
[ 7 16 27]]
La matriz unidimensional se difunde a través del primer eje de la matriz bidimensional y se multiplica por cada fila.
Resumen
En este tutorial, cubrimos el concepto de difusión (broadcasting) en la biblioteca NumPy. La difusión es un método de realizar operaciones matemáticas en matrices de varias dimensiones. También demostramos cómo funciona la difusión a través de la adición y multiplicación de matrices. Es importante tener en cuenta que la difusión solo se puede realizar si las matrices cumplen ciertas condiciones. La difusión solo ocurre si no conlleva una pérdida de información.