Tweet Share Share

Última actualización el 9 de agosto de 2019

Las descomposiciones de matrices son una herramienta útil para reducir una matriz a sus partes constituyentes con el fin de simplificar una gama de operaciones más complejas.

Quizás el tipo de descomposición de matriz más utilizado es la composición propia que descompone una matriz en vectores propios y valores propios. Esta descomposición también juega un papel en los métodos utilizados en el aprendizaje automático, como en el método de Análisis de Componentes Principales o PCA.

En este tutorial, descubrirá la composición propia, los vectores propios y los valores propios en álgebra lineal.

Después de completar este tutorial, sabrá:

  • Qué es una composición propia y el papel de los vectores propios y los valores propios.
  • Cómo calcular una composición propia en Python con NumPy.
  • Cómo confirmar que un vector es un vector propio y cómo reconstruir una matriz a partir de vectores propios y valores propios.

Inicie su proyecto con mi nuevo libro Álgebra lineal para Aprendizaje automático, que incluye tutoriales paso a paso y los archivos de código fuente de Python para todos los ejemplos.

Comencemos.

Introducción suave a la Composición propia, los Valores propios y los Vectores propios para el Aprendizaje automático
Foto de Mathias Appel, algunos derechos reservados.

Descripción general del tutorial

Este tutorial se divide en 5 partes; son:

  1. Eigendecomposition de una Matriz
  2. Autovectores y Autovalores
  3. Cálculo de Eigendecomposition
  4. Confirmar un Autovector y Autovalor
  5. Reconstruir la Matriz Original

Necesito ayuda con Álgebra Lineal para el Aprendizaje de Máquina?

Tome mi curso intensivo de correo electrónico gratuito de 7 días ahora (con código de muestra).

Haga clic para inscribirse y también obtenga una versión gratuita en PDF del curso.

Descargue su Mini Curso GRATUITO

Composición propia de una matriz

Composición propia de una matriz es un tipo de descomposición que implica descomponer una matriz cuadrada en un conjunto de vectores y valores propios.

Uno de los tipos de descomposición de matrices más utilizados se llama composición propia, en la que descomponemos una matriz en un conjunto de vectores propios y valores propios.

— – Página 42, Aprendizaje profundo, 2016.

A vector is an eigenvector of a matrix if it satisfies the following equation.

1
A . v = lambda . v

Esto se llama la ecuación, donde a es la matriz matriz cuadrada que estamos en descomposición, v es el vector propio de la matriz, y lambda es la letra griega minúscula y representa el autovalor escalar.

O sin la notación de puntos.

1
Av = lambdav

A matrix could have one eigenvector and eigenvalue for each dimension of the parent matriz. No todas las matrices cuadradas pueden descomponerse en vectores propios y valores propios, y algunas solo pueden descomponerse de una manera que requiera números complejos. Se puede demostrar que la matriz padre es un producto de los vectores propios y los valores propios.

1
A = Q . diag(V) . Q^-1

Or, without the dot notation.

1
A = Qdiag(V)Q^-1

Where Q is a matrix comprised of the eigenvectors, diag(V) is a diagonal matrix compuesto por los valores propios a lo largo de la diagonal (a veces representados con una lambda mayúscula), y Q^-1 es el inverso de la matriz compuesta por los vectores propios.

Sin embargo, a menudo queremos descomponer matrices en sus valores propios y vectores propios. Hacerlo puede ayudarnos a analizar ciertas propiedades de la matriz, de la misma manera que descomponer un entero en sus factores primos puede ayudarnos a entender el comportamiento de ese entero.

— – Página 43, Aprendizaje profundo, 2016.

Eigen no es un nombre, por ejemplo, el método no lleva el nombre de»Eigen»; eigen (pronunciado eye-gan) es una palabra alemana que significa «propio» o «innato», como pertenecer a la matriz paterna.

Una operación de descomposición no resulta en una compresión de la matriz; en su lugar, la descompone en partes constituyentes para hacer que ciertas operaciones en la matriz sean más fáciles de realizar. Al igual que otros métodos de descomposición de matrices, Eigendecomposition se utiliza como un elemento para simplificar el cálculo de otras operaciones de matriz más complejas.

Casi todos los vectores cambian de dirección, cuando se multiplican por A. Ciertos vectores excepcionales x están en la misma dirección que Ax. Esos son los «vectores propios». Multiplica un vector propio por A, y el vector Ax es el número lambda multiplicado por el x original.El valor propio lambda indica si el vector especial x se estira, se encoge, se invierte o se deja sin cambios, cuando se multiplica por A.

– Página 289, Introducción al Álgebra Lineal, Quinta Edición, 2016.

La composición propia también se puede usar para calcular los componentes principales de una matriz en el método de Análisis de Componentes Principales o PCA que se puede usar para reducir la dimensionalidad de los datos en el aprendizaje automático.

Los vectores propios y los valores propios

Los vectores propios son vectores unitarios, lo que significa que su longitud o magnitud es igual a 1.0. A menudo se les conoce como vectores derechos, que simplemente significa un vector de columna (en lugar de un vector de fila o un vector izquierdo). Un vector derecho es un vector tal como lo entendemos.

Los valores propios son coeficientes aplicados a vectores propios que dan a los vectores su longitud o magnitud. Por ejemplo, un valor propio negativo puede invertir la dirección del vector propio como parte de escalarlo.

Una matriz que solo tiene valores propios positivos se denomina matriz definida positiva, mientras que si los valores propios son todos negativos, se denomina matriz definida negativa.

Descomponer una matriz en términos de sus valores propios y sus vectores propios proporciona información valiosa sobre las propiedades de la matriz. Ciertos cálculos de matrices, como calcular la potencia de la matriz, se vuelven mucho más fáciles cuando usamos la composición propia de la matriz.

– Página 262, No Bullshit Guide To Linear Algebra, 2017

Cálculo de la composición propia

Una composición propia se calcula en una matriz cuadrada utilizando un algoritmo iterativo eficiente, del cual no entraremos en detalles.

A menudo se encuentra primero un valor propio, luego se encuentra un vector propio para resolver la ecuación como un conjunto de coeficientes.

La composición propia se puede calcular en NumPy usando la función eig ().

El siguiente ejemplo define primero una matriz cuadrada de 3×3. La composición propia se calcula en la matriz que devuelve los valores propios y los vectores propios.

Al ejecutar el ejemplo, primero se imprime la matriz definida, seguida de los valores propios y los vectores propios. Más específicamente, los vectores propios son los vectores propios del lado derecho y están normalizados a una longitud unitaria.

Confirmar un Autovector y Autovalor

podemos confirmar que un vector es un vector propio de una matriz.

Hacemos esto multiplicando el vector propio del candidato por el vector propio y comparando el resultado con el valor propio.

Primero, definiremos una matriz, luego calcularemos los valores propios y los vectores propios. A continuación, probaremos si el primer vector y valor son de hecho un valor propio y un vector propio para la matriz. Sabemos que lo son, pero es un buen ejercicio.

Los vectores propios se devuelven como una matriz con las mismas dimensiones que la matriz padre, donde cada columna es un vector propio, por ejemplo, el primer vector propio es vectores. Los valores propios se devuelven como una lista, donde los índices de valor en la matriz devuelta se emparejan con los vectores propios por índice de columna, por ejemplo, el primer valor propio en los valores se empareja con el primer vector propio en los vectores.

El ejemplo multiplica la matriz original con el primer vector propio y la compara con el primer vector propio multiplicado por el primer valor propio.

Al ejecutar el ejemplo, se muestran los resultados de estas dos multiplicaciones que muestran el mismo vector resultante, como es de esperar.

1
2
3

Reconstruct Original Matrix

We puede revertir el proceso y reconstruir la matriz original con solo los vectores propios y los valores propios.

Primero, la lista de vectores propios debe convertirse en una matriz, donde cada vector se convierte en una fila. Los valores propios deben estar dispuestos en una matriz diagonal. La función NumPy diag() se puede usar para esto.

A continuación, necesitamos calcular la inversa de la matriz del vector propio, que podemos lograr con la función inv() NumPy. Finalmente, estos elementos deben multiplicarse junto con la función dot ().

El ejemplo calcula de nuevo los valores propios y los vectores propios y los utiliza para reconstruir la matriz original.

Ejecutar el ejemplo primero imprime la matriz original, luego la matriz reconstruida a partir de valores propios y vectores propios que coinciden con la matriz original.

1
2
3
4
5
6
7

]
]

Extensiones

Esta sección enumera algunas ideas para ampliar el tutorial que tal vez desee explorar.

  • Cree 5 ejemplos usando cada operación con sus propios datos.
  • Implemente cada operación de matriz manualmente para matrices definidas como listas de listas.
  • Busque documentos de aprendizaje automático y encuentre 1 ejemplo de cada operación que se está utilizando.

Si explora alguna de estas extensiones, me encantaría saberlo.

Lectura adicional

Esta sección proporciona más recursos sobre el tema si desea profundizar más.

Libros

  • Sección 6.1 Valores propios y vectores propios. Guía De Álgebra Lineal Sin Mentiras, 2017.
  • Capítulo 6 Valores Propios y Vectores Propios, Introducción al Álgebra Lineal, Quinta Edición, 2016.
  • Sección 2.7 Composición propia, Aprendizaje profundo, 2016.
  • Capítulo 5 Valores Propios, Vectores Propios y Subespacios Invariantes, Álgebra Lineal Hecha a la Derecha, Tercera Edición, 2015.
  • Conferencia 24, Problemas de Valores propios, Álgebra Lineal Numérica, 1997.

API

  • numpy.linalg.API eig ()
  • numpy.API diag ()
  • numpy.API de punto ()
  • numpy.linalg.inv() de la API

Artículos

  • eigen en Wikcionario
  • Autovalores y autovectores
  • Eigendecomposition de una matriz
  • Autovalor algoritmo
  • Matriz de descomposición

Resumen

En este tutorial, usted descubrió el eigendecomposition, vectores propios, y autovalores de álgebra lineal.

Específicamente, aprendiste:

  • Qué es una composición propia y el papel de los vectores propios y los valores propios.
  • Cómo calcular una composición propia en Python con NumPy.
  • Cómo confirmar que un vector es un vector propio y cómo reconstruir una matriz a partir de vectores propios y valores propios.

¿Tiene alguna pregunta?Haga sus preguntas en los comentarios a continuación y haré todo lo posible para responder.

Conseguir una Manija en Álgebra Lineal para el Aprendizaje de Máquina!

Desarrolle una comprensión funcional del álgebra lineal

writing escribiendo líneas de código en python

Descubra cómo hacerlo en mi nuevo libro electrónico:
Álgebra Lineal para Aprendizaje automático

Proporciona tutoriales de autoaprendizaje sobre temas como:
Normas Vectoriales, Multiplicación de matrices, Tensores, Composición propia, SVD, PCA y mucho más…

Finalmente Comprender las Matemáticas de los Datos

Omitir los aspectos Académicos. Sólo Resultados.

Ver Lo que está Dentro de

Tweet Compartir Compartir

Deja una respuesta

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