Álgebra Lineal Básica con NumPy
El álgebra lineal es una rama fundamental de las matemáticas que desempeña un papel crucial en diversos campos, incluidos el aprendizaje automático, el aprendizaje profundo y el análisis de datos.
Vectores y Matrices
En álgebra lineal, un vector es un conjunto ordenado de valores. Los arrays 1D de NumPy pueden representar vectores de manera eficiente. Una matriz es un arreglo bidimensional de números, que puede representarse mediante un array 2D en NumPy.
Ya hemos cubierto la suma y resta de vectores y matrices, así como la multiplicación por un escalar, en el capítulo "Operaciones Matemáticas Básicas". Aquí nos centraremos en otras operaciones.
Transposición
La transposición es una operación que invierte una matriz sobre su diagonal. En otras palabras, convierte las filas de la matriz en columnas y las columnas en filas.
Puede transponer una matriz utilizando el atributo .T de un array de NumPy:
12345import numpy as np matrix = np.array([[1, 2, 3], [4, 5, 6]]) # Transposing a matrix transposed_matrix = matrix.T print(transposed_matrix)
Producto punto
El producto punto es quizá la operación de álgebra lineal más utilizada en aprendizaje automático y profundo. El producto punto de dos vectores (que deben tener un número igual de elementos) es la suma de sus productos elemento a elemento. El resultado es un escalar:
Multiplicación de matrices
La multiplicación de matrices está definida solo si el número de columnas en la primera matriz es igual al número de filas en la segunda matriz. La matriz resultante tendrá el mismo número de filas que la primera matriz y el mismo número de columnas que la segunda matriz.
Como se puede observar, cada elemento de la matriz resultante es el producto punto de dos vectores. El número de fila del elemento corresponde al número del vector fila en la primera matriz, y el número de columna corresponde al número del vector columna en la segunda matriz.
El número de columnas en la primera matriz debe ser igual al número de filas en la segunda matriz, ya que el producto punto requiere que ambos vectores tengan la misma cantidad de elementos.
Producto punto y multiplicación de matrices en NumPy
NumPy proporciona la función dot() tanto para el producto punto como para la multiplicación de matrices. Esta función recibe dos arreglos como argumentos.
Sin embargo, también se puede utilizar el operador @ entre dos arreglos para obtener los mismos resultados.
12345678910111213import numpy as np vector_1 = np.array([1, 2, 3]) vector_2 = np.array([4, 5, 6]) # Dot product using the dot() function print(np.dot(vector_1, vector_2)) # Dot product using the @ operator print(vector_1 @ vector_2) matrix_1 = np.array([[1, 2, 3], [4, 5, 6]]) matrix_2 = np.array([[7, 10], [8, 11], [9, 12]]) # Matrix multiplication using the dot() function print(np.dot(matrix_1, matrix_2)) # Matrix multiplication using the @ operator print(matrix_1 @ matrix_2)
Si el argumento derecho en la multiplicación de matrices es un vector (arreglo 1D), NumPy lo trata como una matriz donde la última dimensión es 1. Por ejemplo, al multiplicar una matriz de 6x4 por un vector con 4 elementos, el vector se considera una matriz de 4x1.
Si el argumento izquierdo en la multiplicación de matrices es un vector, NumPy lo trata como una matriz donde la primera dimensión es 1. Por ejemplo, al multiplicar un vector con 4 elementos por una matriz de 4x6, el vector se trata como una matriz de 1x4.
La imagen a continuación muestra la estructura de los arreglos exam_scores y coefficients utilizados en la tarea:
Swipe to start coding
Está trabajando con el arreglo exam_scores, que contiene calificaciones simuladas de examen de tres estudiantes (cada fila representa un estudiante) en tres materias (cada columna representa una materia).
- Multiplicar las calificaciones de cada examen de materia por el coeficiente respectivo.
- Sumar las calificaciones resultantes para cada estudiante para calcular su calificación final.
- Calcular el producto punto entre
exam_scoresycoefficients.
Esto le dará las calificaciones finales de todos los estudiantes según la contribución ponderada de sus calificaciones por materia.
Solución
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Can you explain the difference between the dot product and matrix multiplication?
How do I know when to use the dot() function versus the @ operator in NumPy?
Can you provide more examples of matrix multiplication with different shapes?
Awesome!
Completion rate improved to 3.7
Álgebra Lineal Básica con NumPy
Desliza para mostrar el menú
El álgebra lineal es una rama fundamental de las matemáticas que desempeña un papel crucial en diversos campos, incluidos el aprendizaje automático, el aprendizaje profundo y el análisis de datos.
Vectores y Matrices
En álgebra lineal, un vector es un conjunto ordenado de valores. Los arrays 1D de NumPy pueden representar vectores de manera eficiente. Una matriz es un arreglo bidimensional de números, que puede representarse mediante un array 2D en NumPy.
Ya hemos cubierto la suma y resta de vectores y matrices, así como la multiplicación por un escalar, en el capítulo "Operaciones Matemáticas Básicas". Aquí nos centraremos en otras operaciones.
Transposición
La transposición es una operación que invierte una matriz sobre su diagonal. En otras palabras, convierte las filas de la matriz en columnas y las columnas en filas.
Puede transponer una matriz utilizando el atributo .T de un array de NumPy:
12345import numpy as np matrix = np.array([[1, 2, 3], [4, 5, 6]]) # Transposing a matrix transposed_matrix = matrix.T print(transposed_matrix)
Producto punto
El producto punto es quizá la operación de álgebra lineal más utilizada en aprendizaje automático y profundo. El producto punto de dos vectores (que deben tener un número igual de elementos) es la suma de sus productos elemento a elemento. El resultado es un escalar:
Multiplicación de matrices
La multiplicación de matrices está definida solo si el número de columnas en la primera matriz es igual al número de filas en la segunda matriz. La matriz resultante tendrá el mismo número de filas que la primera matriz y el mismo número de columnas que la segunda matriz.
Como se puede observar, cada elemento de la matriz resultante es el producto punto de dos vectores. El número de fila del elemento corresponde al número del vector fila en la primera matriz, y el número de columna corresponde al número del vector columna en la segunda matriz.
El número de columnas en la primera matriz debe ser igual al número de filas en la segunda matriz, ya que el producto punto requiere que ambos vectores tengan la misma cantidad de elementos.
Producto punto y multiplicación de matrices en NumPy
NumPy proporciona la función dot() tanto para el producto punto como para la multiplicación de matrices. Esta función recibe dos arreglos como argumentos.
Sin embargo, también se puede utilizar el operador @ entre dos arreglos para obtener los mismos resultados.
12345678910111213import numpy as np vector_1 = np.array([1, 2, 3]) vector_2 = np.array([4, 5, 6]) # Dot product using the dot() function print(np.dot(vector_1, vector_2)) # Dot product using the @ operator print(vector_1 @ vector_2) matrix_1 = np.array([[1, 2, 3], [4, 5, 6]]) matrix_2 = np.array([[7, 10], [8, 11], [9, 12]]) # Matrix multiplication using the dot() function print(np.dot(matrix_1, matrix_2)) # Matrix multiplication using the @ operator print(matrix_1 @ matrix_2)
Si el argumento derecho en la multiplicación de matrices es un vector (arreglo 1D), NumPy lo trata como una matriz donde la última dimensión es 1. Por ejemplo, al multiplicar una matriz de 6x4 por un vector con 4 elementos, el vector se considera una matriz de 4x1.
Si el argumento izquierdo en la multiplicación de matrices es un vector, NumPy lo trata como una matriz donde la primera dimensión es 1. Por ejemplo, al multiplicar un vector con 4 elementos por una matriz de 4x6, el vector se trata como una matriz de 1x4.
La imagen a continuación muestra la estructura de los arreglos exam_scores y coefficients utilizados en la tarea:
Swipe to start coding
Está trabajando con el arreglo exam_scores, que contiene calificaciones simuladas de examen de tres estudiantes (cada fila representa un estudiante) en tres materias (cada columna representa una materia).
- Multiplicar las calificaciones de cada examen de materia por el coeficiente respectivo.
- Sumar las calificaciones resultantes para cada estudiante para calcular su calificación final.
- Calcular el producto punto entre
exam_scoresycoefficients.
Esto le dará las calificaciones finales de todos los estudiantes según la contribución ponderada de sus calificaciones por materia.
Solución
¡Gracias por tus comentarios!
single