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?

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?

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 馃槷

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

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)

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

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 鈥渆sparsidad鈥 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 鈥渕agnitud 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.

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.

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鈥

L0: lo que hace la funci贸n es elevar todos los valores a 0 y todo numero elevado a 0 es 1 y despu茅s suma todos los 1 y L0 = a la longitud del vector sin contar los 0 ya que 0 elevado a 0 es 0,

L1: devuelve los valores absolutos sumados, devuelve un escalar,

L2: teorema de Pit谩goras, devuelve la norma del vector con la formula de la hipotenusa en el triangulo rect谩ngulo, donde el resultado es la ra铆z de la suma de los cuadrados de los catetos,

L2^2: mismo que L2 pero sin despejar la ra铆z,

L infinito: obtiene el valor mas grande del vector en su forma absoluta

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

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