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.

Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

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

22/28
Recursos

Aportes 21

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

  • 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.

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

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

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

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

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

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.

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

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)

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

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