Conceptos básicos de álgebra lineal y configuración del entorno de trabajo

1

Presentación del curso y la necesidad del Álgebra Lineal

2

Anaconda + Python, Creación de un entorno y actualización de paquetes

3

Uso de Jupyter Notebook

4

Creando las bases, escalares, vectores y matrices. ¿Qué es un tensor? ¿Cómo se representa?

Realiza operaciones básicas

5

Dimensión de un escalar, vector, matriz o tensor

6

Transposición, suma de matrices y escalares

7

Suma de matrices y vectores (broadcasting)

Operaciones con matrices

8

Producto interno entre una matriz y un vector

9

Producto interno entre dos matrices

10

Propiedades de las matrices: la multiplicación de matrices es asociativa y distributiva, no es conmutativa

11

Transposición de un producto de matrices

12

Cómo comprobar la solución de un sistema de ecuaciones lineal

13

Tipos especiales de matrices: Identidad, Inversa, Singulares

14

Aplicación de la inversa de una matriz para resolver un sistema de ecuaciones lineales

Sistema de ecuaciones lineales

15

Ejemplos de sistemas sin solución, con una solución y con infinitas soluciones

16

Graficar vectores

17

¿Qué es una combinación líneal?

18

¿Qué es un espacio y un subespacio?

19

Vectores linealmente independientes

20

Validar que una matriz tenga inversa

Normas

21

Qué es una norma y para qué se usa. Desigualdad Triangular

22

Tipos de normas: norma 0, norma 1, norma 2, norma infinito y norma L2 al cuadrado

23

El producto interno como función de una norma y su visualización

Matrices y vectores especiales

24

La matriz diagonal y la matriz simétrica: sus propiedades

25

Vectores ortogonales, matrices ortogonales y sus propiedades

26

Matrices ortogonales y sus propiedades

Otras funciones de álgebra lineal

27

El determinante y la traza

28

Cierre del curso. Continua con el Curso de Álgebra Lineal Aplicada a Machine Learning.

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Tipos de normas: norma 0, norma 1, norma 2, norma infinito y norma L2 al cuadrado

22/28
Recursos

Aportes 27

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

  • La norma se usa en machine learning para encontrar errores.
  • La norma L0: devuelve la cantidad de elementos diferentes de 0 del vector.
  • La norma L1: devuelve la suma de los valores absolutos de los elementos del vector.
  • La norma L2: La magnitud del vector desde su origen.
  • La norma infinito: devuelve el valor absoluto más grande del vector

Un aporte adicional que nohe visto se explique de forma amplia en Platzi, las normas se usan para determinar el modulo de regularización en la construcción de un modelo. La regularización se usa para castigar la complejidad de un modelo y evitar overfitting, las más comunes son L2 para simplicidad y L1 para esparcidad. Para más información se puede consultar aca en el crash course de Machine Learning de Google:

https://developers.google.com/machine-learning/crash-course/regularization-for-simplicity/l2-regularization

Aca se puede ver el cambio de los pesos de un modelo luego de utilizar regularización:

Excelente clase, aquí las notas que tomé

# Las normas generalmente se llaman por la letra 'L'
# L0: Cantidad de elementos de nuestro vector distintos de 0
# L1: La suma de los valores absolutos de los componentes de
# nuestro vector
# L2: 'La norma que conocemos', La magnitud de un vector, o distancia al origen.

# En machine learning se usa mucho la norma L2 pero elevada al cuadrado
# es decir, L2^2. La ventaja de esto es computacional.
# Podríamos reunir muchos vectores en una matriz X, calcular X.dot(x_t)
# y tendríamos allí el cuadrado de las normas de todos esos vectores.

#L_infinito: Nos devuelve el mayor valor dentro de los valores absolutos 
# de los componentes de nuestro vector```

Tipos de Normas

  • L0: Devuelve el número de elementos distintos de cero del vector.
  • L1: Devuelve la sumatoria de los valores absolutos del vector.
  • L2: Distancia euclidiana (raíz de la suma de cuadrados de los elementos)
  • L2**2: Distancia euclidiana al cuadrado, es computacionalmente la más fácil de hacer puesto que es el producto interno de un vector por sí mismo
  • Linfinito: Devuelve el mayor valor absoluto de los elementos

Sintaxis:

np.linalg.norm(vect, ord=a)
  • a representa el orden de la norma (0,1,2 o infinito)
  • para representar infinito en python usamos np.inf

Nota:
Una de las utilidades de la norma es la medición del error

Lo que menciona aperdomo1988 , se ve en el curso profesional de scikit learn. Basicamente la regularización se hace para evitar el overfitting agregando bias esperando disminuir la varianza. Se habla de la regresión Lasso y Ridge , ElasticNet donde alpha nos define el rango de reguarización.

Algo que puede servir en el futuro es
para L2 | L3 | L(infinito), con un negativo antes

print(np.linalg.norm(v1,ord=-1))

Puedes obtener lo contrario
-L1= mínimo del valor absoluto
-L2 = Valor mínimo, pero la verdad no entiendo como sale
-L(inf) = Devuelve el valor absoluto mínimo

alguno podria aclarame una duda bastante simple, por que siempre al hacer el prducto interno lo hace del vector transpuesto?

Supongo que las normas se nombran L por la palabra en inglés Law 😮

Alguien sabe porque el profesor mencionó estas 5 normas, pero en la anterior clase mencionó normas diferentes?
Gracias

Existen varios tipos de normas utilizadas para medir la magnitud de un vector en diferentes contextos. A continuación, se explican algunos tipos comunes de normas y su aplicación:

Norma 0 (Norma del conteo):

  • La norma 0 cuenta el número de elementos no nulos en un vector. Es el número de elementos distintos de cero. No es una norma en el sentido estricto, pero se utiliza como medida de la “esparsidad” de un vector.

Norma 1 (Norma de Manhattan o norma del valor absoluto):

  • La norma 1 se calcula sumando el valor absoluto de cada componente del vector. Representa la distancia entre los puntos en un espacio en el que solo se permite moverse en línea recta horizontal o verticalmente. Se utiliza en problemas de regularización, compresión de imágenes y procesamiento de señales.

Norma 2 (Norma Euclidiana o norma del valor cuadrado):

  • La norma 2, también conocida como norma Euclidiana, se calcula como la raíz cuadrada de la suma de los cuadrados de los elementos del vector. Representa la longitud euclidiana o la distancia entre dos puntos en un espacio multidimensional. Es la norma más común y se utiliza ampliamente en álgebra lineal, análisis numérico y machine learning.

Norma infinito (Norma máxima):

  • La norma infinito se calcula como el valor absoluto máximo de los elementos del vector. Representa el máximo impacto de cualquier componente del vector y se utiliza para medir la “magnitud máxima” en un conjunto de datos.

Norma L2 al cuadrado:

  • La norma L2 al cuadrado se calcula como la suma de los cuadrados de los elementos del vector, sin tomar la raíz cuadrada. Aunque no es una norma en sí misma, a menudo se utiliza en algoritmos de optimización que requieren la minimización de la norma L2 al cuadrado.

Estos diferentes tipos de normas se utilizan en diversos campos, como el procesamiento de señales, el análisis de datos, el aprendizaje automático y la optimización, para medir la magnitud, la distancia, la esparsidad y otros aspectos de los vectores.

Un aporte adicional del calculo y aplicación de las normas
https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.5-Norms/

L0

vector = np.array([1,2,0,5,6,0])
print(np.linalg.norm(vector, ord=0))
4.0

L1

vector1 = np.array([1,-1,1,-1,1])
print(np.linalg.norm(vector1, ord=1))
5.0

L2

vector2 = np.array([1,1])
print(np.linalg.norm(vector2))
print(np.linalg.norm(vector2, ord=2))
1.4142135623730951
1.4142135623730951
vector3 = np.array([1,2,3,4,5,6])
print(vector3)
print(np.linalg.norm(vector3))
print(np.linalg.norm(vector3, ord=2))
print(np.linalg.norm(vector3, ord=2)**2)
print(vector3.T.dot(vector3))

L infinito

vector4 = np.array([1,2,3,-100])
print(vector4)
print(np.linalg.norm(vector4, ord=np.inf))

[   1    2    3 -100]
100.0

la norma al cuadrado de una resta de dos vectores sirve cuando se quiere dar peso a las distancias más separadas (cuando se elevan numeros al cuadrado, los más pequeños dejan de tener peso en comparación con los más grandes)

Que buen profesor y que buen curso. Hasta ahora de los mejores que he hecho en platzi

Estoy sorprendida con todo lo que sabe el profesor, se ve que le gusta mucho enseñar.

Esta clase me gustó mucho porque nunca había pensado en alguna aplicación de la norma hasta que dijo lo de los clientes.

Muy buena clase, sobre todo porque ya se le ve por lo menos a este tema un mayor uso en machine learning

Tipos de normas: norma 0, norma 1, norma 2, norma infinito y norma L2 al cuadrado

Hay distintos tipos de normas que son usadas para el machine learning, principalmente para el manejo de errores, estaremos llamando estar normas por **L..**, vamos a ver algunas de estas y como calcularlas con Python:

L0: Esta norma nos devuelve la cantidad de elementos de nuestro vector, distintos de 0, esto es útil por ejemplo, para saber cuantos de nuestros usuarios hicieron una compra, para esto nos alcanzaría con calcular la norma 0 a este vector:

# Calcular L0
vector = np.array([1,2,0,5,6,0])
L0 = np.linalg.norm(vector, ord=0)

print(L0) # Output = 4.0

L1: Nos devolverá la suma sobre i de los valores absolutos de los componentes de nuestro vector **v= [v1, v2, v3, … vn]**.

# Calcular L1
vector = np.array([1,-1,1,-1,1])
L1 = np.linalg.norm(vector, ord=1)

print(L1) # Output = 5.0

L2: Es la distancia euclidiana, que es la que hemos estado viendo a lo largo de este curso la distancia entre dos puntos del plano cartesiano.

# Calcular L2
vector = np.array([1,1])
L2 = np.linalg.norm(vector, ord=2)

print(L2) # Output = 1.4142135623730951

(L2)^2: Esta es la misma distancia euclidiana pero sin calcularle la raíz cuadrada, la ventaja de esto es por ejemplo, calcular la norma de un vector directamente aplicando el producto interno del vector contra si mismo **x.dot(x^t)** (comúnmente usado en el Machine Learning).

# Calcular (L2)^2
vector = np.array([1,2,3,4,5,6])

# Podemos hacerlo de las siguientes 2 formas
L2c = np.linalg.norm(vector, ord=2) ** 2
L2c2 = vector.T.dot(vector)

print(L2c) # Output = 91.0
print(L2c2) # Output = 91

L∞: Esta es el valor mayor dentro de los valores absolutos de nuestro vector.

# Calcular L∞
vector = np.array([1,2,3,-100])

# Podemos hacerlo de las siguientes 2 formas
Linf = np.linalg.norm(vector, ord=np.inf) # usamos el infinitp de numpy

print(Linf) # Output = 100.0

Ahora hemos aprendido a calcular cada uno de estos casos.

Logré entender este gracias a este video, aunque tenga algunos detalles matemáticos. La interpretación geométrica creo que es lo más valioso e interesante:
Existen BOLAS CUADRADAS | Cuando π ≠ 3,14…

  • Norma al infinito Lo que nos devuelve es el mayor valor dentro de los valores absolutos de nuestro vector.

Hay muchos tipos de normas que se utilizan en aprendizaje automático Machine Learning para medir diversas cosas, algunas de ellas son los errores.

  • L0 A las normas las vamos a estar llamando por la letra L. Entonces L0 nos devuelve la cantidad de elementos de nuestro vector distintos de 0.

  • L1 Nos va a devolver la suma sobre i de los valores absolutos de los componentes de nuestro vector.

  • L2 Es la distancia euclidiana, la distancia que calculamos para saber cuánto mide un vector al origen.

  • Por otra parte se utiliza en aprendizaje automático la distancia L2 pero elevada al cuadrado esto es la misma distancia que esta allá arriba pero sin calcularle la raíz cuadrada.

Vengo a dar una curiosidad para que la busquen y es que la norma L1 tambien es llamada distancia manhattan o norma manhattan.

Aw, ame esta clase

Excelente clase!

Muy buena la clase, mientras jugaba, descubri que existen normas de ordenes superiores, pero creo que en la practica nunca se usaran.
Eso espero

Muy buena esta clase, es interesante ver las aplicaciones de la norrma.