SusoLabs - Cosmos

En SusoLabs - Cosmos: parámetros estelares

Guía de uso. Cómo usar Estrellas → Laboratorio → Parámetros para estimar Teff, log g y [Fe/H] a partir de un espectro (y al revés), con métodos clásicos y de aprendizaje automático entrenados en el propio navegador. La teoría de fondo está en «Los parámetros físicos de una estrella»; aquí nos centramos en qué hace cada herramienta, por qué funciona y cómo jugar con ella.

Esta sección del laboratorio es, en el fondo, un pequeño banco de pruebas: te deja tocar los mismos ingredientes con los que trabajan los astrofísicos —espectros, parámetros, librerías de referencia— y comprobar, con tus propias manos, cómo se pasa de uno a otro. No necesitas saber programar ni instalar nada: todo ocurre en el navegador, en tiempo real, sobre un puñado de estrellas reales bien medidas.

1. Antes de empezar: tres números y una rejilla

Conviene recordar el punto de partida (lo desarrolla la guía teórica). Casi toda una estrella «de catálogo» se resume en tres parámetros:

ParámetroQué esQué controla en el espectro
TeffTemperatura efectiva (en kelvin)El color global (pendiente del continuo) y qué líneas aparecen y con qué fuerza
log gGravedad superficial (en escala logarítmica)La anchura de las líneas y detalles que separan gigantes de enanas
[Fe/H]Metalicidad relativa al SolLa cantidad y profundidad de líneas metálicas

Los espectros con los que trabajamos están normalizados a su continuo (la curva suave de fondo se lleva a un valor de referencia ≈ 1) y remuestreados a una rejilla común en log‑λ (logaritmo de la longitud de onda). Esto es importante: que todos los espectros «vivan» sobre los mismos puntos de longitud de onda es lo que permite compararlos, restarlos y mezclarlos como si fueran vectores de números. Cada espectro es, para los algoritmos, simplemente una lista larga de valores de flujo, uno por cada punto de la rejilla.

Se trabaja con los juegos de datos cargados (MILES, SEGUE…), cuyos parámetros provienen de catálogos ya calibrados.

Nota importante a tener en cuenta. A lo largo de toda esta sección manejamos del orden de 160 estrellas. Es una cifra deliberadamente pequeña: suficiente para ilustrar cada idea y para que el entrenamiento sea instantáneo, pero muy lejos de los miles o millones de espectros con que se entrenan los sistemas profesionales. Tenlo presente al interpretar resultados: aquí buscamos comprender, no batir marcas de precisión.

2. Dos problemas: inverso y directo

Todo lo que hace esta herramienta gira en torno a dos preguntas simétricas.

2.1. Problema inverso (espectro → parámetros)

Dado un espectro, ¿qué Teff, log g y [Fe/H] tiene la estrella?

Es la pregunta del astrónomo observador: ha apuntado el telescopio a una estrella, ha obtenido su espectro y quiere ponerle etiquetas físicas. Es el problema de clasificar una estrella observada. La información va del dato medido (el espectro) a la conclusión (los tres números).

2.2. Problema directo (parámetros → espectro)

Dado un punto (Teff, log g, [Fe/H]), ¿qué aspecto tendría su espectro?

Es la pregunta del teórico o del curioso: «si tuviera una estrella de 5000 K, gravedad de gigante y la mitad de metales que el Sol, ¿cómo se vería su luz descompuesta?». Aquí no clasificamos nada; generamos un espectro plausible. Es enormemente útil para entender qué cambia cada parámetro: puedes mover Teff y ver cómo se reordenan las líneas, o bajar [Fe/H] y ver cómo se debilitan.

Ambos problemas usan los mismos datos, recorridos en sentidos opuestos. Y cada uno puede resolverse con un método clásico (k‑NN) o con una red neuronal. Veamos primero las ideas de fondo.

3. Dos ideas que conviene entender primero

Antes de tocar botones, merece la pena tener una intuición de las dos grandes familias de métodos que vas a usar. No hace falta matemática; basta con la idea.

3.1. ¿Qué es k‑NN (los «vecinos más próximos»)?

Imagina que llega un espectro nuevo y quieres ponerle parámetros. La estrategia más honesta y sencilla del mundo es: busca las estrellas de la librería que más se le parezcan y fíjate en sus parámetros.

Eso es k‑NN (k‑nearest neighbors, los k vecinos más próximos):

  1. Mides cuánto se parece tu espectro a cada espectro de la librería (su distancia: cuanto más pequeña, más se parecen punto a punto).
  2. Te quedas con los k más cercanos (sus «vecinos»).
  3. Promedias sus parámetros para obtener tu estimación, ponderando por cercanía: los vecinos más parecidos pesan más que los lejanos.

Es como estimar el precio de un piso mirando los pisos parecidos del mismo barrio y promediando, dando más peso a los más parecidos al tuyo. No hay teoría de mercado por debajo: solo comparación y promedio. Su gran virtud es la transparencia: siempre puedes preguntar «¿de qué vecinos sale este número?» y la respuesta es concreta.

3.2. ¿Qué es una red neuronal?

Una red neuronal no compara con ejemplos guardados: aprende una fórmula. Es una función flexible, con muchos «mandos» internos (los pesos), que transforma la entrada en la salida.

Piénsalo por capas:

Al principio los pesos son aleatorios y la red dice tonterías. Entrenar consiste en mostrarle ejemplos, medir cuánto se equivoca (la pérdida o loss) y ajustar un poquito los pesos en la dirección que reduce ese error. Repetido miles de veces sobre muchos ejemplos, los pesos se acomodan hasta que la fórmula «funciona». Una pasada completa por todos los ejemplos de entrenamiento es una época (epoch); cuánto se mueven los pesos en cada ajuste lo fija la tasa de aprendizaje (learning rate).

La diferencia esencial: el k‑NN guarda los ejemplos y compara en el momento; la red neuronal destila lo aprendido en una fórmula y luego responde sin volver a mirar los datos.

3.3. Interpolar frente a predecir

Estas dos palabras aparecerán a menudo y conviene no confundirlas:

El k‑NN, tanto en su versión directa como inversa, es siempre interpolación: nunca inventa nada que no esté ya contenido, mezclado, en la librería.

4. Métodos clásicos (k‑NN) en SusoLabs - Cosmos

Aquí el k‑NN resuelve los dos problemas, según en qué espacio midamos la distancia.

4.1. k‑NN para el problema inverso (espectro → parámetros)

Para el inverso, se buscan en la librería los espectros más parecidos (menor distancia) al que quieres clasificar y se promedian sus parámetros, ponderando por cercanía. El resultado es tu estimación de Teff, log g y [Fe/H].

Funciona porque estrellas de espectro parecido tienen, casi siempre, parámetros parecidos: el espectro es un reflejo muy fiel de la física que lo produce. Mientras tu estrella se parezca a algo que ya hay en la librería, el promedio de vecinos será una estimación sólida.

4.2. k‑NN para el problema directo (parámetros → espectro)

Para el directo, se hace lo mismo, pero la distancia se mide en el espacio de parámetros: dado tu punto (Teff, log g, [Fe/H]), se buscan las estrellas de la librería con parámetros próximos y se interpolan (promedian, ponderando por cercanía) sus espectros. El resultado es un espectro «sintético» construido a partir de espectros reales vecinos.

4.3. Lo que el k‑NN directo hace bien... y lo que no

Es interpolación, no una predicción física. Y eso tiene una consecuencia concreta que conviene ver con los propios ojos: al mezclar espectros cuyas líneas están en posiciones ligeramente distintas (porque ningún par de estrellas es idéntico), el promedio puede ensanchar o atenuar artificialmente las líneas. Donde una estrella tiene una línea profunda y estrecha y otra la tiene un pelín desplazada, el promedio produce una línea más ancha y menos honda que cualquiera de las dos. No es un fallo del programa: es la naturaleza de promediar.

Aun así, el k‑NN es transparente y sorprendentemente bueno. Es el método contra el que conviene comparar todo lo demás: si una red neuronal no lo supera, no estás ganando nada con la complejidad añadida.

5. Aprendizaje automático (desde cero, en el navegador)

Las redes de esta sección están implementadas sin librerías externas, con fines puramente didácticos: puedes verlas entrenar y entender cada pieza. Hay tres modelos, uno por cada manera de relacionar espectros y parámetros.

5.1. El regresor (espectro → parámetros)

Una red neuronal pequeña (una capa densa con activación ReLU) que toma el vector espectral y predice los tres números (Teff, log g, [Fe/H]). Es la versión «aprendida» del problema inverso: en lugar de comparar con vecinos guardados, aplica la fórmula que destiló durante el entrenamiento.

Para qué sirve verlo: comparar su error con el del k‑NN inverso. Si ambos aciertan parecido, has comprobado en directo que una red no es magia: con pocos datos, un buen método clásico le planta cara.

5.2. El generador (parámetros → espectro)

La red inversa: 3 entradas (los parámetros) que producen el espectro completo como salida. Es la versión «aprendida» del problema directo. Frente al k‑NN directo, que mezcla espectros reales, el generador intenta haber aprendido la forma que debe tener el espectro para cada combinación de parámetros.

5.3. El autoencoder

Un autoencoder comprime el espectro a unas pocas variables latentes y luego lo reconstruye a partir de ellas. Su tarea es «copiarse a sí mismo», pero obligado a pasar por un cuello de botella de muy pocas variables.

¿Para qué sirve forzar esa compresión? Para descubrir qué estructura captura el espectro. Si con apenas dos o tres números latentes la reconstrucción ya se parece bastante al original, eso revela que los espectros no son tan libres como parecen: están gobernados por unas pocas variables subyacentes (que, sin sorpresa, tienen que ver con Teff, log g y [Fe/H]). Es una forma preciosa de «ver» que detrás de cientos de valores de flujo hay, de verdad, solo unos pocos grados de libertad físicos.

Pero el autoencoder tiene una segunda utilidad, muy práctica: comprimir el espectro para alimentar a otro modelo. En lugar de dar a un regresor los cientos de valores del espectro, le damos solo el código latente (unos pocos números). Con muchas menos entradas, el regresor es más sencillo y rápido de entrenar. Esa idea —comprimir primero, predecir después— es exactamente lo que hace la opción Autoencoder → Regresor del constructor (sección 6.2).

6. Construye tu propio modelo

Esta es la parte más práctica, y vive en su propia pestaña. El apartado Parámetros se divide en dos: «Estimar parámetros» (lo visto hasta aquí: el k‑NN y el modelo ya entrenado) y «Monta tu modelo ML», donde construyes y entrenas tu propia red desde cero. Eliges la pieza y la entrenas en vivo.

Puedes elegir:

Y entonces entrenas en vivo, viendo cómo evolucionan:

Es, sin discusión, la mejor forma de notar el efecto de cada hiperparámetro con tus propias manos.

6.1. La arquitectura, a la vista

Al elegir un modelo, justo debajo verás su arquitectura: la lista de capas, con el número de neuronas de cada una, su activación y su papel. Esto desmitifica la red: una ANN no es una caja negra, sino una secuencia de capas con tamaños concretos. Por ejemplo:

donde N es el número de puntos del espectro, H las neuronas ocultas que elijas y L el tamaño del código latente (más pequeño que H). Si cambias las neuronas ocultas, verás los números de la arquitectura actualizarse al instante: es una forma directa de relacionar «un mando del panel» con «una capa de la red».

6.2. Encadenar: Autoencoder → Regresor

Esta opción ilustra una técnica utilísima y muy común: reducir la dimensión antes de predecir. Funciona en dos fases, y la curva de pérdida las muestra una tras otra:

  1. Fase 1 — Autoencoder. Se entrena un autoencoder para comprimir el espectro a su código latente.
  2. Fase 2 — Regresor. Se entrena un regresor pequeño que recibe el código latente como entrada (en lugar del espectro completo) y predice los tres parámetros.

Al regresor le llegan muchas menos entradas (el puñado de números del código, no los cientos del espectro), así que es más ligero. Es la idea que está detrás de muchísimos sistemas reales: primero comprimir, luego modelar. Compara su RMSE de validación con el del regresor «directo» sobre el espectro completo y saca tus conclusiones: ¿perder resolución al comprimir compensó la sencillez del modelo?

Nota importante a tener en cuenta. Con tan pocos datos, encadenar no tiene por qué ganar al regresor directo: el objetivo aquí es entender la técnica (compresión + modelo), no exprimir la precisión.

6.3. El sobreajuste, explicado al tocarlo

El sobreajuste (overfitting) es el problema central que esta herramienta te deja ver en vivo. Ocurre cuando un modelo, en lugar de aprender la regla general, memoriza los ejemplos concretos del entrenamiento, ruido incluido.

Lo reconocerás por una señal muy clara: la pérdida de entrenamiento sigue bajando mientras el RMSE de validación se estanca o empieza a subir. La red mejora con lo que ya conoce y empeora con lo nuevo: ha dejado de aprender física y ha empezado a aprender de memoria.

Con tan pocos datos (~160 estrellas), una sola capa oculta y sin defensas como la regularización o el early‑stopping, el sobreajuste aparece fácilmente, sobre todo si subes mucho las neuronas o las épocas. Eso no es un defecto a esconder: es justo lo que queremos que veas y comprendas.

7. Visualizar el problema directo

Para el espectro que generas (con k‑NN directo o con el generador), tienes dos controles de visualización y una comparación muy útil.

7.1. Normalizado o sin normalizar

Ver el mismo espectro en ambos modos ayuda a separar dos efectos que conviven: la forma del continuo (el color) y el bosque de líneas (la huella química y de gravedad).

7.2. Superponer la estrella real más parecida

Puedes superponer el espectro de la estrella real más parecida en (Teff, log g, [Fe/H]) a la que has pedido. Así comparas tu espectro generado con uno real de parámetros próximos.

Es la prueba de fuego: si tu espectro generado se pega bien al real, el método está capturando la física; si se separa (líneas en otro sitio, profundidades raras, ensanchamientos artificiales), estás viendo los límites de la interpolación o del modelo, en directo.

8. Ejercicios sugeridos

Para sacarle partido, prueba a hacer (y a explicarte a ti mismo el porqué de) lo siguiente:

  1. El efecto de cada parámetro. En el problema directo, fija dos parámetros y mueve solo Teff: observa cómo cambia la pendiente del continuo (en vista sin normalizar) y qué líneas aparecen o desaparecen. Repite moviendo solo [Fe/H] y fíjate en la profundidad de las líneas metálicas.
  2. k‑NN contra red neuronal. Resuelve el mismo problema inverso con el k‑NN y con el regresor. ¿Cuál da menos error de validación? ¿Te sorprende?
  3. Provoca el sobreajuste. Entrena un regresor con muchas neuronas y muchas épocas. Observa cómo la pérdida de entrenamiento se hunde mientras el RMSE de validación se estanca o sube. Luego reduce las neuronas y compara.
  4. Caza el ensanchamiento de líneas. En el k‑NN directo, genera un espectro y superpón la estrella real más parecida. Busca una línea profunda: ¿se ve más ancha y menos honda en el generado? Acabas de ver la interpolación «en acción».
  5. El cuello de botella del autoencoder. Entrena el autoencoder con muy pocas variables latentes y luego con alguna más. ¿Cuántas hacen falta para que la reconstrucción sea decente? Relaciónalo con que la estrella «cabe» en tres parámetros.
  6. Tasa de aprendizaje. Pon una tasa de aprendizaje muy alta y mira la curva de pérdida saltar; bájala mucho y mira lo lento que aprende. Encuentra un valor intermedio que converja bien.
Nota importante a tener en cuenta. Los parámetros de las librerías provienen de catálogos ya calibrados; aquí no se resuelven modelos de atmósferas. El k‑NN «directo» es interpolación, no síntesis física. Las redes son didácticas: pocos datos (~160 estrellas), una sola capa oculta, sin regularización ni early‑stopping, así que hay riesgo de sobreajuste y es esperable que el k‑NN las iguale. El objetivo es entender los métodos, no batir un pipeline profesional.

Para saber más

▶ Abrir esto en la herramienta interactiva (Estrellas)