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.
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.
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.
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).
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.
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í).
Estos días me he entretenido repasando el estado del arte en NLP y otras tecnologías que hace un tiempo no toco y que, la verdad sea dicha, cambian —muy a mejor— una barbaridad. A tal fin, descargué al disco duro el texto de todas las entradas de un blog que leía en tiempos, nadaesgratis.es —unas 4388 entradas, menos unas 30 que ya no existen, a lo largo de 13 años y que vienen a ocupar, en texto no comprimido, como treinta quijotes, unos 33 MB— para mis pruebas.
I. El experimento mental
Tienes una variable binaria y y 100 variables predictoras de las cuales 99 son puro ruido y la última es igual a y. En código,
n <- 1000 y <- as.factor(rbinom(n, 1, .4)) x <- matrix(rnorm(n*100), n, 100) x[,100] <- y El objetivo consiste, obviamente, en predecir y en función de x.
II. RRFF
Los RRFF, como es bien sabido, son conjuntos de n árboles construidos sobre los mismos datos.
IBM ha desarrollado una iniciativa, Uncertainty Quantification 360, que describe así:
Uncertainty quantification (UQ) gives AI the ability to express that it is unsure, adding critical transparency for the safe deployment and use of AI. This extensible open source toolkit can help you estimate, communicate and use uncertainty in machine learning model predictions through an AI application lifecyle. We invite you to use it and improve it.
En la página del proyecto hay documentación abundante pero recomiendo comenzar por la demo.
[Este artículo tiene una corrección —tachado en el texto que sigue— posterior a la fecha de publicación original. Véase la entrada "¿Cómo aleatorizan las columnas los RRFF?: un experimento mental y una coda histórica" para obtener más información al respecto.]
Si hacemos caso, por ejemplo, a la gente que estaba allí entonces, la que estaba al día de todo lo que se publicaba en la época, la que conocía personalmente a los presuntos implicados y la que seguramente había tenido constancia previa de la idea en alguna pizarra o en la servilleta de una cafetería, fue Leo Breiman en 2001.
Larguísimo, arriba, significa algo así como 10 o 20 años. Vamos, como cuando comencé con R allá por el 2001. R es, reconozcámoslo, un carajal. Pocas cosas mejores que esta para convencerse. No dejo de pensar en aquello que me dijo un profesor en 2001: que R no podría desplazar a SAS porque no tenía soporte modelos mixtos. Yo no sabía qué eran los modelos mixtos en esa época pero, desde entonces, vine a entender y considerar que “tener soporte para modelos mixtos” venía a ser como aquello que convertía a un lenguaje para el análisis de datos en una alternativa viable y seria a lo existente.
Contexto: Una empresa tiene una serie de técnicos repartidos por todas las provincias que tienen que hacer visitas y reparaciones in situ a una serie de clientes dispersos. La empresa cuenta con un departamento técnico central que asigna diariamente y, fundamentalmente, con herramientas ofimáticas las rutas a cada uno de los técnicos.
Alternativas tecnológicas:
Machín Lenin: Unos científicos de datos usan algoritmos de enrutamiento para crear una herramienta que ayuda (o reemplaza total o parcialmente) al equipo técnico de las hojas de cálculo para generar rutas óptimas que enviar diariamente a los técnicos.
Esta semana he descubierto el PCA robusto. En la frase anterior he conjugado el verbo en cursiva porque lo he pretendido usar con un significado que matiza el habitual: no es que haya tropezado con él fortuitamente, sino que el PCA robusto forma parte de esa inmensa masa de conocimiento estadístico que ignoro pero que, llegado el caso, con un par de clicks, una lectura en diagonal y la descarga del software adecuado, puedo incorporarlo y usarlo a voluntad.