Maybaygiare.org

Blog Network

Álgebra Lineal Básica para Aprendizaje Profundo

  • Introducción
  • Objetos matemáticos
  • Reglas Computacionales
  • Propiedades de multiplicación de matrices
  • Inversa y transpuesta
  • Resumen
  • Recursos

Introducción

El Álgebra lineal es una forma continua de matemáticas y se aplica en toda la ciencia y la ingeniería porque le permite modelar fenómenos naturales y cómpralos de manera eficiente. Debido a que es una forma de matemática continua y no discreta, muchos científicos informáticos no tienen mucha experiencia con ella. El álgebra lineal también es central en casi todas las áreas de las matemáticas, como la geometría y el análisis funcional. Sus conceptos son un requisito previo crucial para comprender la teoría detrás del Aprendizaje automático, especialmente si trabaja con algoritmos de Aprendizaje Profundo. No es necesario entender el Álgebra Lineal antes de comenzar con el Aprendizaje Automático, pero en algún momento, es posible que desee obtener una mejor comprensión de cómo los diferentes algoritmos de Aprendizaje Automático realmente funcionan bajo el capó. Esto le ayudará a tomar mejores decisiones durante el desarrollo de un sistema de aprendizaje automático. Así que si realmente quieres ser un profesional en este campo, tendrás que dominar las partes del Álgebra Lineal que son importantes para el Aprendizaje Automático. En Álgebra lineal, los datos se representan mediante ecuaciones lineales, que se presentan en forma de matrices y vectores. Por lo tanto, se trata principalmente de matrices y vectores en lugar de escalar (cubriremos estos términos en la siguiente sección). Cuando tiene las bibliotecas adecuadas, como Numpy, a su disposición, puede calcular la multiplicación de matrices complejas muy fácilmente con solo unas pocas líneas de código. (Nota: esta entrada de blog ignora conceptos de Álgebra Lineal que no son importantes para el Aprendizaje Automático.)

Objetos Matemáticos

Escalar

Un escalar es simplemente un número único. Por ejemplo 24.

Vector

Un vector es una matriz ordenada de números y puede estar en una fila o una columna. Un Vector tiene un solo índice, que puede apuntar a un valor específico dentro del Vector. Por ejemplo, V2 se refiere al segundo valor dentro del vector, que es -8 en el gráfico de arriba.

de la Matriz

Una Matriz es un orden de matriz 2D de números y tiene dos índices. El primero apunta a la fila y el segundo la columna. Por ejemplo, M23 se refiere al valor de la segunda fila y la tercera columna, que es 8 en el gráfico amarillo de arriba. Una matriz puede tener varios números de filas y columnas. Tenga en cuenta que un vector también es una Matriz, pero con solo una fila o una columna.

La Matriz en el ejemplo en el gráfico amarillo también es una Matriz de 2 por 3 dimensiones (filas x columnas). A continuación puedes ver otro ejemplo de una Matriz junto con su notación:

Tensor

Usted puede pensar de un Tensor como una matriz de números, dispuestos en una cuadrícula regular, con un número variable de ejes. Un tensor tiene tres índices, donde el primero apunta a la fila, el segundo a la columna y el tercero al eje. Por ejemplo, T232 apunta a la segunda fila, la tercera columna y el segundo eje. Esto se refiere al valor 0 en el Tensor derecho en el gráfico de abajo:

Tensor es de la mayoría de término general para todos estos conceptos anteriores debido a que un Tensor es una matriz multidimensional y puede ser un Vector y una Matriz, dependiendo del número de índices que tiene. Por ejemplo, un tensor de primer orden sería un vector (índice 1). Un Tensor de segundo orden es una Matriz (2 índices) y los tensores de tercer orden (3 índices) y los más altos se llaman Tensores de orden Superior (3 o más índices).

Operaciones matriz-Escalar

Si multiplica, divide, resta o suma un Escalar a una Matriz, lo hace con cada elemento de la Matriz. La imagen siguiente ilustra esto a la perfección para la multiplicación:

Matriz-Vector Multiplicación

la Multiplicación de una Matriz por un Vector puede ser pensado como la multiplicación de cada fila de la Matriz por la columna del Vector. La salida será un vector que tiene el mismo número de filas que la Matriz. La imagen de abajo muestra cómo funciona esto:

Para entender mejor el concepto, vamos a ir a través del cálculo de la segunda imagen. Para obtener el primer valor del Vector resultante (16), tomamos los números del Vector que queremos multiplicar con la Matriz (1 y 5), y los multiplicamos con los números de la primera fila de la Matriz (1 y 3). Esto se parece a esto:

1*1 + 3*5 = 16

hacemos lo mismo para los valores dentro de la segunda fila de la Matriz:

4*1 + 0*5 = 4

Y de nuevo por la tercera fila de la Matriz:

2*1 + 1*5 = 7

Aquí es otro ejemplo:

And here is a kind of cheat sheet:

Matrix-Matrix Addition and Subtraction

Matrix-Matrix Addition and Subtraction is fairly easy and straightforward. El requisito es que las matrices tengan las mismas dimensiones y el resultado sea una Matriz que también tenga las mismas dimensiones. Simplemente suma o resta cada valor de la primera Matriz con su valor correspondiente en la segunda Matriz. Ver a continuación:

Multiplicación matriz-Matriz

la Multiplicación de dos Matrices juntos no es tan difícil si sabes cómo multiplicar una Matriz por un Vector. Tenga en cuenta que solo puede multiplicar matrices si el número de columnas de la primera Matriz coincide con el número de filas de la segunda Matriz. El resultado será una Matriz con el mismo número de filas de la primera Matriz y el mismo número de columnas de la segunda Matriz. Funciona de la siguiente manera:

Simplemente divide la segunda Matriz en Vectores de columna y multiplica la primera Matriz por separado por cada uno de estos Vectores. Luego colocas los resultados en una nueva matriz (¡sin sumarlos!). La siguiente imagen explica esto paso a paso:

And here is again some kind of cheat sheet:

Matrix Multiplication Properties

Matrix Multiplication has several properties that allow us to bundle a lot of computation into one Matrix multiplication. We will discuss them one by one below. Comenzaremos explicando estos conceptos con Escalares y luego con Matrices porque esto le dará una mejor comprensión del proceso.

No conmutativa

La multiplicación Escalar es conmutativa pero la Multiplicación de matrices no lo es. Esto significa que cuando multiplicamos escalares, 7 * 3 es lo mismo que 3 * 7. Pero cuando multiplicamos Matrices entre sí, A*B no es lo mismo que B*A.

Asociativo

La Multiplicación Escalar y de Matrices son asociativas. Esto significa que la multiplicación Escalar 3(5*3) es la misma que (3*5)3 y que la Multiplicación de matrices A(B*C) es la misma que (A*B)C.

Distributiva

La Multiplicación Escalar y de Matrices también son distributivas. Esto significa que
3 (5 + 3) es lo mismo que 3*5 + 3*3 y que A(B+C) es lo mismo que A*B + A*C.

Matriz de Identidad

La Matriz de Identidad es un tipo especial de Matriz, pero primero, necesitamos definir qué es una Identidad. El número 1 es una Identidad porque todo lo que multiplicas por 1 es igual a sí mismo. Por lo tanto, cada Matriz que se multiplica por una Matriz de Identidad es igual a sí misma. Por ejemplo, la matriz A multiplicada por su Matriz de Identidad es igual a A.

Puede detectar una Matriz de identidad por el hecho de que tiene unas a lo largo de sus diagonales y que cada otro valor es cero. También es una «matriz cuadrada», lo que significa que su número de filas coincide con su número de columnas.

Ya hablamos anteriormente de que la multiplicación de matrices no es conmutativa, pero hay una excepción, a saber, si se multiplica una Matriz por una Matriz Identidad. Por lo tanto, la siguiente ecuación es verdadera: A*I = I*A = A

Inversa y Transpuesta

La Matriz inversa y la Matriz transpuesta son dos tipos especiales de propiedades de matriz. Una vez más, comenzaremos discutiendo cómo estas propiedades se relacionan con números reales y luego cómo se relacionan con Matrices.

Inverso

En primer lugar, ¿qué es un inverso? Un número que se multiplica por su inverso es igual a 1. Tenga en cuenta que todos los números excepto 0 tienen un inverso. Si multiplica una matriz por su inversa, el resultado es su Matriz de Identidad. El siguiente ejemplo muestra cómo se ve el inverso de los Escalares:

Pero no toda Matriz tiene inversa. Puede calcular el inverso de una matriz si es una «matriz cuadrada» y si tiene un inverso. Discutir qué Matrices tienen un inverso estaría desafortunadamente fuera del alcance de este post.

¿Por qué necesitamos un inverso? Porque no podemos dividir Matrices. No existe el concepto de dividir por una Matriz, pero podemos multiplicar una Matriz por una inversa, lo que resulta esencialmente en la misma cosa.

La siguiente imagen muestra una Matriz multiplicada por su inversa, lo que da como resultado una Matriz de identidad de 2 por 2.

Usted puede fácilmente calcular la inversa de una Matriz (si tiene uno) el uso de Numpy. Aquí está el enlace a la documentación: https://docs.scipy.org/doc/numpy-1.14.0/reference/generated/numpy.linalg.inv.html.

Transponer

Y, por último, discutiremos la Propiedad de Transposición de Matriz. Esto es básicamente la imagen especular de una Matriz, a lo largo de un eje de 45 grados. Es bastante simple obtener la Transposición de una Matriz. Su primera columna de la primera fila de la Matriz Transpuesta y la segunda columna es la segunda fila de la Matriz Transpuesta. Una matriz m * n se transforma en una Matriz n*m. Además, el elemento Aij de A es igual al elemento Aji(transponer). La imagen de abajo ilustra que:

Resumen

En este post, usted aprendió acerca de los objetos matemáticos de Álgebra Lineal que se utilizan en el Aprendizaje de Máquina. Aprendiste a multiplicar, dividir, sumar y restar estos objetos matemáticos. Además, ha aprendido sobre las propiedades más importantes de las Matrices y por qué nos permiten hacer cálculos más eficientes. Además de eso, has aprendido qué son las matrices inversas y transpuestas y qué puedes hacer con ellas. Aunque también hay otras partes del Álgebra Lineal que se usan en el Aprendizaje Automático, este artículo te dio una introducción adecuada a los conceptos más importantes.

Recursos

el Aprendizaje Profundo (libro) — Ian Goodfellow, Josué Bengio, Aarón Courville

Linear Algebra for Machine Learning

Andrew Ng, de la Máquina de Aprendizaje del curso en Coursera

https://en.wikipedia.org/wiki/Linear_algebra

https://www.mathsisfun.com/algebra/scalar-vector-matrix.html

https://www.quantstart.com/articles/scalars-vectors-matrices-and-tensors-linear-algebra-for-deep-learning-part-1

Understanding Scalar and Vector Quantities

Este post fue publicado inicialmente en mi blog (https://machinelearning-blog.com).

Deja una respuesta

Tu dirección de correo electrónico no será publicada.