Why this matters for ML
Un vector es la unidad atómica del ML: cada ejemplo de datos (una casa, un usuario, una imagen) es un vector de features. La similitud entre dos ejemplos, la distancia entre una predicción y la verdad, la magnitud de un error — todo son operaciones con vectores. Sin esto, nada.
Concepts covered
- Vector como punto, como flecha y como dato
- Suma de vectores y multiplicación por escalar (scaling)
- Dot product (producto punto / inner product)
- Norms: L2 (euclídea), L1 (Manhattan), L∞
- Unit vectors y normalización
- Distancia entre vectores
- Ángulo entre vectores y cosine similarity
Intuition first
🎬 3Blue1Brown Essence of Linear Algebra, cap. 1 ("Vectors, what even are they?") y cap. 2 (combinaciones lineales). Objetivo: ver el vector como flecha desde el origen y la suma como "poner flechas punta con cola".
Theory & key results
Un vector es una lista ordenada de números: . Tres lecturas: un punto en el espacio, una flecha desde el origen, o una fila de datos.
Operaciones:
- Suma (componente a componente): .
- Scaling: estira (), encoge () o voltea () la flecha.
Dot product (el más importante): Es un escalar. Geométricamente . Mide cuánto "apuntan en la misma dirección". Si es 0, son ortogonales (perpendiculares).
Norms (tamaño de un vector): La L2 es la longitud "de regla". En ML: L2 aparece en el error cuadrático y en regularización ridge; L1 en regularización lasso (induce sparsity).
Unit vector: tiene norma 1 (misma dirección, tamaño estandarizado).
Distancia: .
Cosine similarity (clave en NLP/embeddings): 1 = misma dirección, 0 = ortogonales, −1 = opuestos. Compara dirección ignorando magnitud — por eso se usa para medir similitud de significado entre embeddings.
Worked example
, .
- .
- , .
- .
- , con norma . ✓
- .
Notebook exercises (by hand)
- Con : calcula , , .
- Normaliza y verifica que la norma del resultado es 1.
- , : ¿ángulo entre ellos?
- Demuestra que .
- ¿Para qué valor de son y ortogonales?
- Da dos vectores con cosine similarity = 1 pero distinta norma. ¿Qué dice eso de la diferencia entre dirección y magnitud?
- Interpreta: si dos embeddings tienen cosine similarity 0.95, ¿qué significa "de negocio"?
Python lab
import numpy as np
def norm2(v): return np.sqrt(v @ v) # implementa L2 a mano
def cosine(u, v): return (u @ v) / (norm2(u) * norm2(v))
x = np.array([3.0, 4.0]); y = np.array([4.0, 0.0])
assert np.isclose(norm2(x), np.linalg.norm(x)) # verifica vs NumPy
print("dot:", x @ y, " cos:", cosine(x, y))
print("unit x:", x / np.linalg.norm(x))
print("dist:", np.linalg.norm(x - y))
# Tarea: dibuja x, y, x+y con matplotlib (plt.quiver) y confirma "punta con cola".
Reto: escribe l1, linf y una función angle_deg(u, v); compáralas con numpy.linalg.norm(v, 1) y np.inf.
Examen final 📝
Intenta cada nivel antes de abrir las soluciones.
🟡 Medio
- Para y : calcula , y la cosine similarity.
- Encuentra un vector unitario en la dirección de y otro en la dirección opuesta.
🟠 Medio-difícil
- Demuestra la ley del coseno vectorial: .
- Para : verifica numéricamente y argumenta por qué esas desigualdades siempre se cumplen.
🔴 Difícil
- Demuestra la desigualdad de Cauchy–Schwarz (pista: analiza como cuadrática en ).
- En un sistema de recomendación, dos usuarios se representan por vectores de ratings. Argumenta por qué la cosine similarity suele preferirse a la distancia euclídea, y da un ejemplo numérico de dos usuarios "iguales en gusto" pero lejanos en distancia.
✅ Soluciones
- ; ; ; .
- ; opuesto .
- .
- , , . El máximo componente ≤ raíz de la suma de cuadrados ≤ suma de valores absolutos (cada término aporta más al ir "acumulando").
- Sea para todo . Una cuadrática siempre ≥0 tiene discriminante ≤0: , i.e. .
- La cosine similarity mide dirección (patrón de gustos) ignorando magnitud (cuánto puntúa alguien en general). Ej.: y tienen cosine=1 (gustos idénticos) pero distancia ; el usuario 2 solo puntúa "más alto" en todo.