Vectores: la brújula del álgebra lineal y la ciencia de datos

Imagina que los datos son como puntos en un mapa. Un vector es la flecha que describe dónde está ese punto y cómo llegar a él. En data science, los vectores son la forma más básica y poderosa de representar datos, desde características de un cliente hasta píxeles en una imagen.

El vector es el elemento fundamental y raíz de toda el algebra lineal.

Los vectores no son solo un concepto matemático para escribir ecuaciones de forma concisa.
También son herramientas fundamentales para codificar información compleja, desde posiciones y velocidades hasta fuerzas y movimientos en varias dimensiones.


¿Qué es un vector?

Más allá de ser una lista ordenada de números, un vector puede pensarse como: cualquier cosa que tenga una dirección y una magnitud.

Es una lista ordenada de números que describe una posición o característica en un espacio. En data science, cada vector representa un punto de datos y cada fila de tu dataset es un vector.

Esta definición es la que usan los físicos. Por ejemplo:

  • Dirección: hacia dónde apunta el vector.
  • Magnitud: qué tan grande es, también llamada norma del vector.

Ejemplos

Supongamos que describes a una persona por su edad y salario:

  • Vector: \([25, 50000]\)
    • 25: Edad (en años)
    • 50000: Salario (en euros)

Visualmente:

  • Un vector es una flecha en un plano:
    • Origen: \((0,0)\)
    • Punta: \((25, 50000)\)
  • En 2D, se ve como una línea desde el origen al punto.

Dimensiones

  • 2D: \([x, y]\) (ej: edad, salario)
  • 3D: \([x, y, z]\) (ej: edad, salario, experiencia)
  • n-D: \([x₁, x₂, …, xₙ]\) (datasets con muchas columnas)

De la Ecuación al Movimiento

Imaginemos una pelota lanzada desde el origen que en términos de vectores seria la posición \((0,0)\) en un espacio bidimensional. La posición de la pelota en cada instante se puede codificar como un vector \( \mathbf{p} = (p_1, p_2) \), donde:

  • \(p_1 = 5\) representa la posición horizontal \(x\)
  • \(p_2 = 4\) representa la posición vertical \(y\).

Así, en lugar de seguir las coordenadas de los ejes por separado, podemos usar un solo vector para describir la posición de la pelota.

$$ \vec{p} = \begin{bmatrix}5\\4\end{bmatrix}$$

Si representamos \(\vec{p}\)​ en un plano cartesiano, se vería como una flecha que parte del origen (0,0) y termina en (5,4). La flecha tiene una dirección (hacia dónde apunta) y una longitud, que nos dice qué tan lejos está el punto final del origen. Para graficar podemos utilizar ax.arrow() en Matplotlib.

Código de la grafica

Código en Python Matplotlib

import matplotlib.pyplot as plt

# Crear figura y ejes
fig, ax = plt.subplots(figsize=(8, 8))

# Dibujar el vector desde (0,0) hasta (5,4)
ax.arrow(0, 0, 5, 4, head_width=0.3, head_length=0.4, fc='blue', ec='blue', linewidth=2)

# Marcar el punto final del vector
ax.plot(5, 4, 'o', markersize=6, color='blue')
ax.plot(0, 0, 'o', markersize=6, color='blue')
ax.text(5.6, 4, r"$\vec{v} = [5,\, 4]$", fontsize=14, color='blue')

# Ejes centrados
ax.spines['left'].set_position('zero')
ax.spines['bottom'].set_position('zero')

# Quitar bordes superior y derecho
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)

# Color y grosor de los ejes
for spine in ['left', 'bottom']:
    ax.spines[spine].set_color('gray')
    ax.spines[spine].set_linewidth(1)

# Límites y cuadrícula
ax.set_xlim(-6, 8)
ax.set_ylim(-6, 8)
ax.grid(False)

# Tamaño de los números de los ejes
ax.tick_params(axis='both', which='major', labelsize=10)

# Etiquetas y título
ax.set_xlabel(r"$x$", fontsize=14, loc="right")
ax.set_ylabel(r"$y$", fontsize=14, loc="top", rotation=0)
ax.set_title("Vector", pad=20)

# Guardar y mostrar
plt.savefig("vector.png", transparent=True, dpi=300)
plt.show()

La norma (longitud del vector): cuánto ha viajado la pelota

Esa longitud, también llamada norma, nos dice qué tan grande es el vector.
Se denota con dos barras verticales, así: \( ||\mathbf{p}|| \) Para saber qué tan lejos está la pelota desde el origen, usamos la norma del vector:

$$||\mathbf{p}|| = \sqrt{p_1^2 + p_2^2}$$

Esta ecuación se deriva directamente del teorema de Pitágoras: la hipotenusa de un triángulo rectángulo es la raíz cuadrada de la suma de los cuadrados de sus catetos. Por ejemplo, si \(p_1 = 5\) y \(p_2 = 4\), la norma es:

$$||\mathbf{p}|| = \sqrt{5^2 + 4^2} \approx 6.40$$

La norma siempre da como resultado un número positivo: la distancia desde el origen hasta el punto final del vector.

Vectores en dimensiones superiores

Si la pelota se moviera en un espacio tridimensional, solo agregamos un componente más:

$$\mathbf{p} = (p_1, p_2, p_3), \quad $$

$$||\mathbf{p}|| = \sqrt{p_1^2 + p_2^2 + p_3^2}$$

Y si tuviéramos un vector en \(N\) dimensiones, simplemente añadimos cada componente al cálculo de la norma:

$$||\mathbf{p}|| = \sqrt{p_1^2 + p_2^2 + \dots + p_N^2}$$

Esto hace que los vectores sean muy poderosos para manejar información compleja de manera compacta.

Aplicaciones de los vectores en física

Los vectores nos permiten representar de manera eficiente:

  • Posición: dónde se encuentra un objeto.
  • Velocidad: dirección y rapidez del movimiento.
  • Fuerza: hacia dónde actúa y cuán intensa es.

Además, con operaciones como suma, resta, multiplicación por escalar o producto punto, podemos combinar vectores y calcular efectos resultantes de manera simple.

Por ejemplo, en nuestra pelota de béisbol, un vector nos permite:

  • Conocer simultáneamente su posición en \(x\) y \( y\) ,
  • Medir su distancia desde el punto de lanzamiento con la norma,
  • Y si quisiéramos incluir velocidad o aceleración, usar vectores de mayor dimensión para mantener todo compacto y manejable.

Dos propiedades clave de un vector

  1. Dirección: hacia dónde apunta.
  2. Magnitud: cuán grande es, calculable con la norma.

En cualquier número de dimensiones, esta regla sigue siendo válida, lo que convierte a los vectores en herramientas universales para describir información física y multidimensional.

Operaciones con Vectores

Los vectores son poderosos porque puedes operarlos para descubrir patrones. Aquí las operaciones más importantes:

Suma de Vectores

si tenemos dos vectores de la misma dimensión:

$$ \vec{u} = \begin{bmatrix}u_1\\u_2\\u_3\end{bmatrix}, \vec{v} = \begin{bmatrix}v_1\\v_2\\v_3\end{bmatrix}$$

La suma es simplemente sumar cada componente correspondiente:

$$ \vec{u} + \vec{v}= \begin{bmatrix}u_1+v_1\\u_2+v_2\\u_3+v_3\end{bmatrix}$$

Esto es útil porque cuando sumamos vectores estamos combinando información de manera ordenada, igual que antes combinábamos cantidades de manzanas, naranjas y pan. La suma de vectores es la primera forma de “agrupar información” en un vector.

Multiplicación por Escalar

Si tenemos un número \(k\) y un vector \(\vec{v}\), multiplicamos cada componente por ese número:

$$ k \cdot \vec{v}= k \cdot \begin{bmatrix}v_1\\v_2\\v_3\end{bmatrix} = \begin{bmatrix}kv_1\\kv_2\\kv_3\end{bmatrix}$$

Esto sirve para escalar vectores, como cuando queremos “duplicar” o “reducir” una cantidad.

Producto Escalar (Dot Product)

Dot Product: Mide la similitud entre dos vectores.

El producto escalar es una operación entre dos vectores que produce un número, a diferencia de la suma o resta de vectores, que produce otro vector.

Si tenemos dos vectores de la misma dimensión:

$$ \vec{a} = \begin{bmatrix}a_1\\a_2\\.\\.\\.\\a_n\end{bmatrix}, \vec{b} = \begin{bmatrix}b_1\\b_2\\.\\.\\.\\b_n\end{bmatrix}$$

el producto punto se define como:

$$ \vec{a} \cdot \vec{b} = a_1b_1 + a_2b_2 + . . . + a_nb_n$$

O, lo que es lo mismo:

$$ \vec{a} \cdot \vec{b} = \sum ^{n} _ {i=1} a_ib_i$$

Cada componente se multiplica componente por componente, y luego se suman los resultados.

Ejemplo:

Supongamos que tienes un presupuesto de $30 y quieres comprar: manzanas, naranjas y peras.

Definimos:

  • Vector de cantidades compradas

$$ \vec{g} = \begin{bmatrix}g_1\\g_2\\g_3\end{bmatrix} = \begin{bmatrix}4\\3\\2\end{bmatrix} $$

  • Vector de precios de productos:

$$ \vec{c} = \begin{bmatrix}c_1\\c_2\\c_3\end{bmatrix} = \begin{bmatrix}2\\3\\5\end{bmatrix}$$

Entonces, el total gastado se puede escribir como:

$$ Total= \vec{c} \cdot \vec{g} $$

$$ T= c_1g_1 + c_2g_2 + c_3g_3 $$

$$ T = 2⋅4+3⋅3+5⋅2$$

$$ T =8+9+10=27$$

Interpretación geométrica

Geométricamente, el producto punto mide cuánto se parecen o se alinean dos vectores en dirección:

$$\vec{a} \cdot \vec{b} = ||\vec{a}|| ||\vec{b}||cos⁡(θ)$$

  • Si \(θ=0°\): los vectores están en la misma dirección → producto punto positivo y máximo.
  • Si \(θ=90°\): son perpendiculares → producto punto = 0.
  • Si \(θ>90°\): apuntan en direcciones opuestas → producto punto negativo.

Esto significa que el producto punto mide cuánto “apuntan en la misma dirección” dos vectores.

Usos del producto escalar el data science

  • Similitud de vectores (cosine similarity): En NLP, sistemas de recomendación o embeddings de palabras. Cuanto mayor sea este valor, más similares son los vectores.
  • Regresión lineal / Neuronas : Calcula la combinación lineal de las variables
  • Similitud del coseno : Mide cuánto se parecen dos vectores
  • PCA / Proyecciones : Proyecta un vector sobre una dirección
  • Distancias : Base para métricas vectoriales
  • Álgebra de matrices : Operación elemental en multiplicación de matrices

Operaciones de vectores con Python

Los vectores en Python manejan con Numpy y se representan como listas:

A = np.array([1, 2, 3, 4])
B = np.arange(6, 10)

Suma de vectores

C = A + B
print(C)

Producto punto

np.dot(A, B)

Norma del vector

np.linalg.norm(A)

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *