Algebra Lineal: Vectores

Vectores en Machine Learning: Una introducción básica. Explora el concepto de vectores desde cero, su representación en Python.
Profundizaremos en los fundamentos del álgebra lineal. En este post, comenzaremos por los vectores, un concepto clave para entender muchas de las técnicas utilizadas en este campo. Si aún no has leído mi primer post sobre los primeros pasos en Machine Learning, te recomiendo echarle un vistazo.

Info!
Nota: En varios artículos estaré agregando código en python que funcionan en colab de Google, no te preocupes sino sabes python, lo iremos entendiendo con el tiempo.


vector

¿Qué es un vector'

Hay diferentes maneras de entender que es un vector, lo podemos imaginar como una flecha en el espacio. Esta flecha tiene una dirección y una magnitud (longitud).  En programación lo podemos entender como una lista de numero sea de manera vertical u horizontal; [0, 1, 2, 3, ...].

En python podemos crear un vector de la siguiente manera:
import numpy as np  #Es no official pero si recomendado abreviar numpy como np

vector = np.array([1, 2, 3])

vector

Operaciones con vectores (suma, resta, multiplicación por escalar)

Suma de vectores

  • Se suman componente a componente. Ejemplo tenemos el vector a = [1, 2, 3] y b = [ 9, 8, 7] el resultado de esta suma es; a + b = [1+9. 2+8, 3+7].

Resta de vectores

  • Similar a la suma pero restando. Ejemplo tenemos el vector a = [1, 2, 3] y b = [ 9, 8, 7] el resultado de esta suma es; a - b = [1-9. 2-8, 3-7].
En python podemos verlo de la siguiente manera:

import numpy as np

a = np.array([1, 2, 3])

b = np.array([9, 8, 7])

suma = a + b

print(suma)

resta = a - b

print(resta)

Transposición de un vector

  • Imagina un vector como una fila de números. La transposición de un vector consiste simplemente en convertir esa fila en una columna. 
Vector T
En python podemos verlo de la siguiente manera:

import numpy as np

a = np.array([[1, 2, 3]])

print(a)

print(a.shape)

transpo = a.T

print(transpo)

print(tran.shape)

Multiplicación por escalar

  • Se multiplica cada componente del vector por el escalar, un escalar puede ser cualquier numero real ejemplo 1, -5, 1.32, etc. Ejemplo escalar = 3, a= [1, 2, 3], el resultado es b = [3, 6, 9].

En python podemos verlo de la siguiente manera:

import numpy as np

a = np.array([1, 2, 3])

escalar = 3

multi = a * b

multi

Producto punto

También conocido como producto escalar o producto interno, es una operación algebraica que combina dos vectores y devuelve un escalar al multiplicar componente a componente y sumar los resultados. Ejemplo vector a = [1, 2, 3], b = [7, 8, 9] el resultado es 50.

En python podemos verlo de la siguiente manera:

import numpy as np

a = np.array([1, 2, 3])

b = np.array([7, 8, 9])

punto = np.dot(a, b)

punto

Normas de vectores

En muchos algoritmos de Machine Learning, la norma se utiliza para calcular distancias entre puntos en un espacio vectorial.

Norma L2 (Euclidiana): 

  • Es la más común y corresponde a la longitud de la hipotenusa de un triángulo rectángulo formado por las componentes del vector. Se calcula como la raíz cuadrada de la suma de los cuadrados de las componentes. Ejemplo: Para el vector [3, 4], la norma L2 es sqrt(3^2 + 4^2) = 5.

En python podemos verlo de la siguiente manera:

import numpy as np

a = np.array([25, 2, 5])

# La operación matematica sería:

# (25**2 + 2**2 + 5**2)**(1/2)

np.linalg.norm(x)

Norma L1: 

  • Es la suma de los valores absolutos de las componentes. Ejemplo: Para el vector [3, -4], la norma L1 es |3| + |-4| = 7.

En python podemos verlo de la siguiente manera:

import numpy as np

a = np.array([25, -2, 5])

np.abs(25) + np.abs(-2) + np.abs(5)

Norma infinito: 

  • Representa la distancia máxima en cualquier dirección desde el origen.

Recursos

Si quieres entender un poco más con respecto a los vectores, te recomiendo que veas este video que dejo a continuación, que te ayudará de manera visual a comprenderlo:

Los vectores son la base de muchos conceptos más avanzados en álgebra lineal y machine learning. En los próximos artículos, exploraremos otros temas como matrices, espacios vectoriales y transformaciones lineales. 

Sobre el autor

Cris
Hola, mi nombre es Cristian Aranda, buscando hacer mi vida un poco más fácil.

Publicar un comentario