Ciencia De Datos

El discreto encanto de los árboles olvidadizos

I. A mediados de los ochenta, hubo un momento fundacional en la historia del aprendizaje automático: la aparición de los árboles de decisión. El artículo de Breiman sobre las dos culturas puede entenderse así: existe —o existía en esa época— la cultura de los que usan métodos estadísticos tradicionales y la de los que usan árboles de todo tipo. Herramientas de minería de datos de entonces, tales como las que vendían SAS o IBM, no encerraban debajo del capó otra cosa —u otra cosa novedosa— que árboles de decisión propietarios.

Casi todo sobre el ACOS

Alguien vende cachivaches en internet por, p.e., Amazon. El cachivache se vende, digamos, por 10 y Amazon se queda, por ejemplo, con 1. Se ha dado en llamar ACOS a la fracción 1 / 10; de otra manera, al cacho que Amazon se queda de cada compra. ¿A través de qué mecanismo detrae Amazon el ACOS? La cosa es, en términos resumidos, así: El vendedor entra en una puja. Puede decir algo así como que si alguien busca “cachivaches” en Amazon, está dispuesto a pagar hasta 20 céntimos para que Amazon muestre su producto.

Chocolatada informacional

Supongamos que el vector $u$ codifica cierta información A y el vector $v$ (de la misma dimensión), la información B. Hay quien sostiene que, entonces, el vector $u + v$ codifica simultáneamente A y B. En esta entrada voy a demostrar que la afirmación anterior es falsa. Luego, también, que es cierta. Terminaré explicando por qué el asunto es relevante. Que es falsa es obvio: si $u$ y $v$ tienen dimensión 1, $u = 2$ y $v = 3$, a partir de la suma $u + v = 5$ es imposible recomponer los vectores originales.

Organización de proyectos... ¿viejuna?

I. Este blog tiene muchos años. Cuando comencé a escribir en él, la gestión de proyectos de ciencia de datos era un carajal. Muchos de los que se dedicaban a esto organizaban los proyectos en plan TFG: ficheros y tablas con nombres de andar por casa, desorden, código que viajaba en correos electrónicos,… Muchos eran renuentes a utilizar herramientas de control de versiones. Por aquel entonces reinaba —cuando se utilizaba, que era la excepción más que la regla— subversion.

Aprendizaje por refuerzo: ¿Q o no Q?

Esta entrada está motivada por mis cavilaciones alrededor de un potencial futuro proyecto de Circiter. Es posible que por primera vez tengamos que recurrir a técnicas de aprendizaje por refuerzo y quiero aprovechar para dejar por escrito algunas cuestiones al respecto. En particular, algunas potenciales simplificaciones con respecto a la teoría general que, afortunadamente, aplicarían a nuestro caso particular. En lo que sigue voy a dar por sabidos conceptos básicos sobre el aprendizaje por refuerzo que casi nadie conoce pero que están a un click de distancia del cerebro de cualquiera.

LLMs: grados de libertad en la generación de texto

Me he entretenido dibujando que representa gráficamente los grados de libertad de un LLM según va generando texto. Brevemente, he arrancado con Never in the history of y he dejado que mi LLM fuese construyendo Never in the history of “The Bachelor” has a contestant been so hated by the viewing public. The “Bachelor” franchise has had its share of villains, but the one who has mientras registraba el vector de probabilidades en cada iteración, es decir, el vector que permite que el LLM elija, por ejemplo, villains en lugar de maples, vikings or frenchmen.

LLMs en perspectiva

I. Llevamos muchos años —muchos más de los que la mayoría de la gente piensa— detrás de mecanismos del tipo $$f(h) = x$$ donde $h$ es una historia y $x$ es una continuación suya coherente con $h$. El texto IN NO IST LAT WHEY CRATICT FROURE BIRS GROCID PONDENOME OF DEMONSTURES OF THE REPTAGIN IS REGOACTIONA OF CRE se construyó en 1948 usando un procedimiento básico: $h$ son dos caracteres y $x$ es otro caracter que se elige al azar de acuerdo cierta probabilidad condicional $P(x | h)$ que se estima a partir de frecuencias observadas en un determinado corpus.

Acciones "disparadas" por chatGPT (y sus verdaderos peligros)

Para la inmensa mayoría, chatGPT es lo que su nombre indica: un chat. Le preguntas y te responde. Pero lo siguiente es un ejemplo de algo perfectamente factible hoy. Creas un programa que monitorea tu bandeja de entrada. Cuando llega un correo nuevo, le pasa el texto a chatGTP (versión API) con un prompt adecuado. Dependiendo de la respuesta, se toma una determinada acción. Por ejemplo, enviar un aviso vía Telegram.

Siete problemas matemáticos que plantea el "deep learning"

La emergencia (y el éxito) del llamado aprendizaje profundo (deep learning) plantea innumerables cuestiones matemáticas. Algunos algoritmos funcionan (y otros muchos que han quedado en los cajones no, obviamente) y no está muy claro por qué. He aquí una lista de siete problemas que el aprendizaje profundo ha colocado enfrente de la comunidad matemática: ¿Cuál es el papel de la profundidad en las redes neuronales? (En el fondo, una red neuronal no deja de ser una función que aproxima otra desconocida; en matemáticas abundan los procedimientos y resultados para aproximaciones planas (p.

Autoencoders: una serie de lecciones aprendidas

Estos días pasados he tenido que usar autoencoders como mecanismos para reducir la dimensión de una serie de conjuntos de datos. El principal problema al que me he enfrentado —cómo no— ha sido el de diseñar una arquitectura adecuada para el problema en cuestión. El principal motivo es que la práctica totalidad de los tutoriales, ejemplos, etc. disponibles por ahí tienen como aplicación principal el tratamiento de imágenes y en mi caso no.

"Denoising diffusion" en una dimensión (entre otras simplificaciones)

I. Motivación e introducción Denoising diffusion —DD en lo que sigue— es uno de los principales ingredientes del archipopular stable diffusion. Es un algoritmo que se usa fundamentalmente para generar imágenes y que funciona, a grandes rasgos así: Se parte de un catálogo de imágenes, que son vectores en un espacio (de dimensión alta). Esos vectores se difuminan utilizando un proceso concreto —piénsese en una especie de movimiento Browniano— hasta que su distribución es aproximadamente una normal (en ese espacio de dimensión elevada).

Uso y abuso de los "embeddings"

La variable feota por excelencia de nuestra profesión es el código postal: es categórica, tiene miles de niveles, muchos son infrecuentes, etc. Así que cuando se inventaron los embeddings, hace la tira, se me ocurrió crear uno por defecto. Es decir, una representación en baja dimensión de esa variable que pudiera aplicarse a una variedad de modelos. Y así fue hasta que al cabo de unos minutos se me ocurrió que ya existía una, muy natural, en dos dimensiones, que difícilmente iba a poder ser batida por un constructo ciego a la realidad: latitud y longitud.

TF-IDF

Imaginemos que queremos categorizar textos (i.e., poder decir algo así como: el texto 1434 trata de biología). Una manera de afrontar el problema, no la única, es contar palabras (o más en general, términos: piénsese en bigramas, trigramas, etc.). Qué es Por fijar ideas, pensemos en textos sobre economía (sí, porque voy a referirme a parte del análisis de los textos del blog nadaesgratis.es al que ya me referí aquí).