🧮 Computational Mathematics

Inicio · Parte 13 — Teoría de la información, señales y series

272 — Correlación de señales

avanzado clase 12 de 20 4 horas demostración cross_correlation

La correlación cruzada localiza dónde aparece un patrón dentro de una señal.

Fórmulas

(f ⋆ g)[n] = Σₖ f[k]·g[n+k]
sin inversión del núcleo
el máximo indica la posición de mejor coincidencia

Desarrollo

La correlación cruzada mide el parecido entre una señal y un patrón desplazado. Es idéntica a la convolución salvo que no invierte el núcleo, y su interpretación es directa: en cada posición calcula el producto escalar entre el patrón y el trozo de señal que hay allí.

Ese producto escalar es exactamente la medida de alineación de la parte 05: grande cuando los vectores apuntan en la misma dirección. Por eso el máximo de la correlación indica dónde está el patrón, y su valor mide cuán buena es la coincidencia. Es la base del emparejamiento de plantillas.

Hay una precaución importante: la correlación sin normalizar favorece las zonas de mayor energía. Un tramo de señal con valores grandes puede dar más correlación que una coincidencia perfecta con valores pequeños. Por eso en la práctica se usa la correlación normalizada, que divide por las normas y es invariante a la escala.

La conexión con la inteligencia artificial actual es directa: el mecanismo de atención calcula productos escalares entre consultas y claves, los normaliza y los pasa por softmax. Es una correlación entre representaciones, con el mismo principio de que el producto escalar mide alineación. Reconocerlo hace mucho más legible la fórmula de la atención.

Ejemplo trabajado

Localización de un patrón dentro de una señal más larga.

patrón buscado: [1, 2, 1]
señal: [0, 0, 1, 2, 1, 0, 0,5, 1, 0,5, 0]

correlación: [1,0 ; 4,0 ; 6,0 ; 4,0 ; 1,5 ; 2,0 ; 3,0 ; 2,0]

pico en la posición 2, con valor 6,0

Comprobación: en la posición 2 la señal vale [1,2,1],
exactamente el patrón. Producto escalar = 1+4+1 = 6.     ✓

En la posición 6 hay el mismo patrón a mitad de escala:
correlación 3,0, la mitad. Sin normalizar, una copia
atenuada puntúa menos que la original.

Qué calcula el laboratorio

Correlación cruzada: convolución sin invertir el kernel.

python classes/part-13-teoria-de-la-informacion-senales-y-series/272-correlacion-de-senales/lab.py
compmath run 272

Salidas del laboratorio (9)

Muestra de la ejecución real

{
  "patron_buscado": [
    1.0,
    2.0,
    1.0
  ],
  "señal": [
    0.0,
    0.0,
    1.0,
    2.0,
    1.0,
    0.0,
    0.5,
    1.0,
    0.5,
    0.0
  ],
  "correlacion": [
    1.0,
    4.0,
    6.0,
    4.0,
    1.5,
    2.0,
    3.0,
    2.0
  ],
  "posicion_del_pico": 2,
  "valor_del_pico": 6.0,
  "coincidencia_exacta_en": 2
}

Errores comunes

Dónde se usa

Emparejamiento de plantillas, sincronización de señales, radar y sonar, alineación de series y mecanismo de atención.

Idea rectora de la parte

Minimizar cross-entropy equivale a maximizar verosimilitud.

Error a evitar

Muestrear por debajo de Nyquist y culpar al modelo del ruido resultante.

Conexión con IA

La función de pérdida de casi todo clasificador es entropía cruzada; el VAE optimiza un ELBO con un término KL; las CNN son convoluciones aprendidas.

Bibliografía de la clase

Archivos de la clase