¿Por qué una matriz equivale a una transformación lineal entre espacios vectoriales?
Sea T: V ->W una transformación lineal, y sean las bases de V y W las formadas por los vectores canónicos, existen escalares únicos aij ( i entre [1,m] , j entre [1,n]) pertenecientes a un campo tales que T(xi) = sigma (aij*yi)
Podemos expresar a T mediante una matriz A de mxn con elementos aij, donde la j-ésima columna de A es T(xj)
¿Cuál es el efecto de transformación lineal de una matriz diagonal y el de una matriz ortogonal?
La matriz diagonal expande o contrae los ejes, mientras que la matriz ortogonal rota los ejes
¿Qué es la descomposición en valores singulares de una matriz?
Es expresar una matriz de forma equivalente como el producto de tres matrices USigmaVt donde donde U y V son matrices ortogonales y Sigma es una matriz cuasi diagonal, a los valores de la diagonal de sigma se le llaman valores singulares y cumplen con aparecen de forma descendente, es decir, el primer valor siggular de la diagonal es el mayor de todos, y así sucesivamente
¿Qué es diagonalizar una matriz y que representan los eigenvectores?
Diagonalizar equivale a encontrar una base de eigenvectores
¿Intuitivamente qué son los eigenvectores?
Los eigenvectores son un sistema de las nuevas coordenadas
¿Cómo interpretas la descomposición en valores singulares como una composición de tres tipos de transformaciones lineales simples?
Se rotan los ejes -> se expanden o contraen los ejes ->nuevamente se rotan
¿Qué relación hay entre la descomposición en valores singulares y la diagonalización?
¿Cómo se usa la descomposición en valores singulares para dar una aproximación de rango menor a una matriz?
Por medio de los valores de la diagonal distintos de cero de la matriz cuasi diagonal
Describe el método de minimización por descenso gradiente
Menciona 4 ejemplo de problemas de optimización (dos con restricciones y dos sin restricciones) que te parezcan interesantes como Científico de Datos
In [5]:
#######################################################################
### Parte 2
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from PIL import Image
In [6]:
# Importar imagen
imagen = Image.open('C:/Users/Data Mining/Documents/ITAM/Propedeutico/Alumnos/PropedeuticoDataScience2017/Alumnos/Leonardo_Marin/black_and_white.jpg')
imagen_gris = imagen.convert('LA') ## Convertir a escala de grises
In [7]:
## Convertir la imagen a una matriz
imagen_mat = np.array(list(imagen_gris.getdata(band=0)), float)
imagen_mat.shape = (imagen_gris.size[1], imagen_gris.size[0])
imagen_mat = np.matrix(imagen_mat)
plt.imshow(imagen_mat, cmap='gray')
Out[7]:
In [8]:
imagen_gris
Out[8]:
In [9]:
## Desompoición singular
U, sigma, V = np.linalg.svd(imagen_mat)
In [12]:
# n= 1
j = 1
matriz_equivalente = np.matrix(U[:, :j]) * np.diag(sigma[:j]) * np.matrix(V[:j, :])
plt.imshow(matriz_equivalente, cmap='gray')
Out[12]:
In [13]:
# n = 5
j = 5
matriz_equivalente = np.matrix(U[:, :j]) * np.diag(sigma[:j]) * np.matrix(V[:j, :])
plt.imshow(matriz_equivalente, cmap='gray')
Out[13]:
In [14]:
# n = 25
j = 25
matriz_equivalente = np.matrix(U[:, :j]) * np.diag(sigma[:j]) * np.matrix(V[:j, :])
plt.imshow(matriz_equivalente, cmap='gray')
Out[14]:
In [15]:
# n = 50
j = 50
matriz_equivalente = np.matrix(U[:, :j]) * np.diag(sigma[:j]) * np.matrix(V[:j, :])
plt.imshow(matriz_equivalente, cmap='gray')
Out[15]:
In [17]:
A = np.array([[1,0],[1,2]])
A
Out[17]:
In [18]:
def pseudoinversa(A):
U,s,V=np.linalg.svd(A)
peudoinversa = V*(np.diag(1/s))*U.T
return peudoinversa
In [19]:
B = pseudoinversa(A)
B
Out[19]:
In [ ]: