Los cursos de python con álgebra lineal y este tienen mucho potencial, y eso es por que este hombre es un muy bueno explicando, sin duda uno de los mejores profesores en platzi
Transformaciones lineales y descomposición de matrices
Lo que aprenderás sobre álgebra lineal aplicada
Podemos y debemos pensar a las matrices como transformaciones lineales
Autovalores y Autovectores
Cómo calcular los autovalores y autovectores
Descomposición de matrices
¿Cómo descompongo una matriz no cuadrada (SVD)?
Las tres transformaciones
Aplicación de las matrices D y V y U y su efecto en la transformación
¿Cómo interpretar los valores singulares?
Aplicaciones de SVD a una imagen
Una imagen es una matriz
Apliquemos la descomposición SVD a una imagen
Buscando la cantidad de valores singulares que nos sirvan
¿Qué es una pseudoinversa de Moore Penrose y cómo calcularla?
Usando la pseudo inversa para resolver un sistema sobredeterminando
Aplicando Álgebra Lineal: Análisis de Componentes Principales (PCA)
¿Qué es PCA?
Preparando el conjunto de imágenes para aplicar PCA
Apliquemos PCA a un conjunto de imágenes
Cierre del curso
Crea una cuenta o inicia sesión
¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera
Aportes 19
Preguntas 4
Los cursos de python con álgebra lineal y este tienen mucho potencial, y eso es por que este hombre es un muy bueno explicando, sin duda uno de los mejores profesores en platzi
🤔🤔 Si toman el primer autovector que arrojó numpy, resulta que es ortogonal a los demas que calculamos 🤔🤔
"Los autovectores son los mismos. Pueden cambiar en amplitud o sentido, pero su dirección se mantiene"
El Eigen Vector se usa mucho en el análisis de redes sociales por medio de grafos. Este identifica la importancia de un nodo sobre la misma red.
# Importamos las bibliotecas
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
# Creamos una matriz
X = np.array([[3, 2], [4, 1]])
print(X)
# Vemos la biblioteca para calcular los autovectores y autovalores de Numpy
print(np.linalg.eig(X))
# Pedimos que muestre los autovalores
autovalores, autovectores = np.linalg.eig(X)
print(autovalores)
# Pedimos cual es el autovalor asociado a cada autovector
print(autovectores[:, 0])
# Mostramos el autovector numero 1
print(autovectores[:, 1])
# Importamos nuestra función para graficar.
%run ".\\Funciones auxiliares\graficarVectores.ipynb"
# Definamos un array
v = np.array([[-1], [2]])
# Calculamos la tranformacion con el calculo del producto interno
Xv = X.dot(v)
# Y lo comparamos con el autovector anterior
v_np = autovectores[:, 1]
print(Xv)
print(v_np)
# Graficamos al que calculamos con el producto interno, el vector original y el que nos devolvió el método de Numpy
graficarVectores([Xv.flatten(), v.flatten(), v_np], cols = ['green','orange','blue'])
plt.ylim(-4,2)
plt.xlim(-7,3)
Entonces, podemos ver que el autovector encontrado por Numpy es un múltiplo del autovector que nosotros propusimos. Eso quiere decir que los autovectores son lo mismo, solo que pueden variar en amplitud o en sentido, pero la dirección se mantiene. Si tenemos un autovector, menos ese autovector también es autovector.
Que buen curso definitivamente uno de los mejores de esta carrera , excelente explicación .
Escribo esta respuesta que le di a un compañero porque es una pregunta frecuente y puede que sirva y servirá para varios:
Lo que sucede en la combinación lineal de una matriz con un vector es que se transforma el espacio, de ahí su nombre “transformación lineal”. Entonces, los ejes que conocemos como “x” e “y” se modifican y van a cambiar dependiendo de la matriz que esté describiendo ese espacio, en este caso, la matriz “x”. Lo que sucede con los autovectores es que son vectores que, durante la transformación del espacio, se mantienen en el subespacio generado por el vector “original” en el espacio “original”. No necesariamente todos los autovectores del nuevo espacio estan dentro del mismo subespacio generado, por eso, este otro vecto ortgonal es también un autovector que se mantiene en el subesapcio generado de otro vector “original”.
Si nosotros quisiéramos averiguar cual es ese vector “original” tendríamos que tratar el problema como un sistema de ecuaciones lineales donde “x” e “y” son las incógnitas de ese vector. Les dejo acá la captura de como se podría solucionar en python.
Lo que pasa con el vector [[0.14142136] , [0.14142136]] es que al transformarse el espacio, se mantiene dentro de su subespacio generado escalándose en 5 (que es su autovalor o el lambda, como arroja la función de Eigenvalues de numpy).
Si este profe si sabe de lo que habla y lo hace con código . Genial !!
que curso debo ver antes que este? no he entendido nada 😦
Por si necesitan comprender un poco mejor los conceptos
Autovalores y Autovectores
matriz=np.array([[3,2],[4,1]])
autovalores,autovectores=np.linalg.eig(matriz)
print(autovalores)
print(autovectores)
print(np.linalg.norm(autovectores[:,1]))
print(np.rad2deg(np.arccos(np.abs(autovectores[:,1].dot(np.array([1,0]))))))
print(np.rad2deg(np.arccos(np.abs(np.array([1,-2]).dot(np.array([1,0])/np.linalg.norm(np.array([1,-2])))))))```
Los autovectores son los mismos. Pueden cambiar en amplitud o sentido, pero su dirección se mantiene!
Cálculo de autovalores y autovectores en python
Usamos el método np.linalg,eig(<matriz>)
que nos devuelve una tupla con los arreglos de autovalores y autovectores. Ejemplo:
autovalores, autovectores = no.linalg.eig(A)
Totalmente de acuerdo, de los mejores profesores
Me pueden explicar por qué elige v = np.array([[-1],[2]])?
Por qué no tomó un valor aleatorio para evaluar la transformada
Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.