No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Buscando la cantidad de valores singulares que nos sirvan

12/18
Recursos

Aportes 33

Preguntas 2

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Que onda, como es que esto es tan genial? osea es simplemente genial jajaja

  • la compresi贸n de im谩genes por SVD hace uso de que muy pocos de los valores singulares realmente representan informaci贸n.
  • Los valores singulares se guardan de forma ordenada.

Buen铆sima clase: el contenido y el mejor profesor!

Cadad vez esto me gusta mas

Excelente clase.

Simplemente alucinante

Para generar una 鈥渁nimaci贸n鈥 y ver la imagen con diferente n煤mero de valores singulares:

from IPython.display import clear_output

plt.figure()
for n in range(50):
    plt.imshow(U[:,:n]@np.diag(D[:n])@V[:n,:], cmap='gray')
    plt.title(f"SV's = {n}")
    plt.show()
    clear_output(wait=True)

驴Podr铆an decirme porque es importante esta linea, por favor?

titulo = 鈥渧alores singulares = %s鈥 % i

Que genial! Les comparto este link, lo comparti贸 un compa帽ero en anteriores clases, por si no lo leyeron se los comparto aqu铆 hace referencia al tema los valores singulares. Muy interesante.

http://www.ehu.eus/izaballa/Cursos/valores_singulares.pdf

Wow! Cuando finalmente el aprendizaje converge 馃槃

La compresi贸n de im谩genes por medio de la descomposici贸n SVD hace uso de que muy pocos de los valores singulares realmente est谩n representando informaci贸n, la mayor铆a de ellos apenas logran capturar un porcentaje muy peque帽o de su varianza.

Ahora que vi para que puede llegar a servir voy a volver a ver el video de la teor铆a.

import numpy as np
import matplotlib.pyplot as plt

# Crear una matriz de ejemplo
A = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# Aplicar la descomposici贸n SVD
U, s, Vt = np.linalg.svd(A)

# Matriz diagonal de valores singulares
S = np.diag(s)

# Reconstruir la matriz original
A_reconstructed = U.dot(S).dot(Vt)

# Imprimir los resultados
print("Matriz original:\n", A)
print("Matriz U:\n", U)
print("Matriz diagonal de valores singulares:\n", S)
print("Matriz V transpuesta:\n", Vt)
print("Matriz reconstruida:\n", A_reconstructed)

# Graficar los valores singulares
plt.plot(s, 'ro-')
plt.xlabel('脥ndice')
plt.ylabel('Valor singular')
plt.title('Valores singulares')
plt.show()

Maravillosa clase. Y el tema es muy interesante.

Simplemente alucinante, aqu铆 podemos observar c贸mo aumenta la precisi贸n a m谩s Vectores Singulares Considerados

Si usan este c贸digo pueden ver el avance:

for i in range(len(D)):
  image_reconstruction = np.matrix(U[:, :i])*np.diag(D[:i])*np.matrix(V[:i,:])
  plt.imshow(image_reconstruction, cmap='gray')
  title = '#Singular values %s' %i
  plt.title(title)
  plt.show()

Pero que genial esto y como lo explica Sebasti谩n 馃槏

ESTAS SON LAS CLASES QUE LE ENCANTAN A UNO Y LO MOTIVAN A NO DEJAR DE ESTUDIAR POR LO QUE UNO PUEDE APRENDER

Para ver mas clara la imagen, pueden hacer un ciclo for y subirlo de 5 en 5

for i in range(5,50, 5):
    matriz_reconstruida = np.matrix(U[:, :i]) * np.diag(D[:i]) * np.matrix(V[:i, :])
    plt.imshow(matriz_reconstruida, cmap='gray')
    titulo = "Valores singulares = %s" %i
    plt.title(titulo)
    plt.show()

Amo poder darle un fin a todo lo que se estudia, esto es brutal.

As铆 se pueden probar varias cantidades de valores singulares:

num_vals = (1, 10, 21, 50)

for i, x in enumerate(num_vals):
    computed_img = np.matrix(U[:, :x]) * np.diag(D[:x]) * np.matrix(V[:x, :])
    plt.subplot(2, 2, i + 1)
    plt.title('Image with {} singular value(s)'.format(x))
    plt.imshow(computed_img, cmap='gray')

plt.tight_layout()
plt.show()

Me gustar铆a saber si con esto mismo, en lugar de verlo como compresi贸n, podr铆a aplicarse para mejorar la resoluci贸n de la imagen.

Creo que es muy interesante cuando vemos casos pr谩cticos el uso de las matrices y los vectores en cosas reales

Que genialidad de clase !!

est谩 incre铆ble! 鈥 de verdad eso tiene una tremenda utilidad, porque permite hacer c谩lculos con muchos menos datos!.. ser谩 as铆 como funciona la compresi贸n de zip por ejemplo?

Excelente clase profe. Estamos en el punto donde la cabeza hace click y **une **lo puramente matematico con la aplicacion en la vida real y decis uhhhhh que piola bancarme tantas clases de matematica

Que buen estructurado esta este curso.

Me encanta cuando Sebastian plantea las dudas

Hola a todos! Aqu铆 mi aporte. Si quieren ver c贸mo cambia la figura en una 煤nica grid, pueden utilizar este c贸digo. Les adjunto una captura del resultado.

# Visualizando el cambio en una sola imagen. 

width=10
height=10
rows = 2
cols = 5
axes=[]
fig=plt.figure(figsize=(25, 8))

j = 1 
for a in range(rows*cols):
    i = j
    axes.append( fig.add_subplot(rows, cols, a+1) )
    image_reconstruction = np.matrix(U[:, :i])*np.diag(D[:i])*np.matrix(V[:i,:])
    plt.imshow(image_reconstruction, cmap='gray')
    title = '#Singular values %s' %i
    plt.title(title) 
    j = (a + 1) * 3
plt.show()

Que genial!!

Que interesante!