Los algoritmos son críticos en cómo interactúan con los datos. Y en la medida que el volumen y la variedad de los datos aumenta, del mismo modo lo hace nuestra confianza en los algoritmos para darnos las respuestas que buscamos. ¿Pero cuánta fe deberíamos de poner en esos algoritmos, y cómo podemos estar seguros de que no nos están engañando? No son preguntas sencillas, pero utilizando técnicas de diferenciación algorítmica los científicos de datos pueden obtener respuestas más precisas.

La diferenciación algorítmica (DA), a veces llamada diferenciación automática, es una técnica utilizda para determinar la precisión de los algoritmos basada en un cierto conjunto de datos, y para comprobar la susceptibilidad de los algoritmos a la volatilidad de los datos. Los conceptos detrás de DA se originaron hace décadas en los campos de la geología y la meteorología, y se utilizaron para ayudar a aumentar la eficacia de los código HPC utilizados para predecir el tiempo meteorológico o decir a las empresas petrolíferas dónde agujerear para encontrar petróleo.

DA ha demostrado su valía en varios usos dond la precisión de los datos es crítica para alcanzar los objetivos. Si los resultados del test DA muestran que un modelo de datos se rompe cuando se presenta con entradas de datos de la vida real, entonces el propietario puede desechar el modelo y empezar de nuevo. Por el contrario, si DA muestra que un modelo funciona incluso con los datos más sucios, entonces el propietario puede ser capaz de ahorrar dinero disminuyendo la precisión de la colección de datos, como por ejemplo en el sensor de un satélite meteorológico.

Hoy en día, DA se utiliza en varias industrias donde HPC es frecuente, inclyendo el sector aeroespacial y la industria automovilística, donde es utilizado para optimizar los algoritmos que determinan las formas de las alas y las carrocerías de los automóviles, y en finanzas, dond se utiliza para afinar los algotimos que, por ejemplo, componen modelos de valoración de opciones.

Pero como el fenómeno del análisis de datos masivos (big data) va hacia delante y las empresas más pequeñas empiezan a experimentar con la minería de datos, los defensores de DA están preocupados porque algunas de las lecciones duramente aprendidas sobre DA no están llegando tan rápidamente como podrían.

Según Uwe Naumann, Profesor de Ciencias de la Computación en RWTH Aachen University (Alemania) y experto en DA del Numerical Algorithms Group (NAG), la gente y las organizaciones que no comprenden los fundamentos matemáticos detrás de los algoritmos, corren el riesgo de poner demasiada fe en la precisión de los algoritmos y las respuestas que estos generan.

"Nuestro conocimiento en términos de modelado del mundo todavía es razonablemente limitado," dice Naumann a Datanami. "Para mi, solo almacenar una gran cantidad de datos, hacer minería, y obtener alguna clase de respuesta a cualquier prengunta que me haga sobre esos datos utilizando análisis estadístico tiene una componente aleatorio muy grande."

Mucho depende de los datos, incluyendo cuándo se midió, por quién, y con qué precisión. “También depende de los algoritmos que se utilicen para hacer minería de datos," dice Naumann. “Sí, por supuesto que podemos obtener patrones y sí, por supuesto que existen muchos casos prácticos donde los patrones realmente explican algo. Pero optimizando y calibrando estos modelo en ciertas situaciones va a ser, para el futuro inmediato, el componente central. Sin la diferenciación algorítmica será mucho más difícil."

El incumplimiento de las leyes matemáticas podría condenar a algunos proyectos de grandes volúmenes de datos que sean susceptibles al temido factor aleatorio. Si existe algo que ningún jefe ejecutivo quiere oir es que su empresa de minería de datos de 5 millones de dólares se ha convertido en un caro generador de números aleatorios.

Big data no es solo almacenar y procesar datos y moverlos desde A a B,” dice Naumann. “Yo creo que lo que también es importante, sin importar cuántos datos puedas manejar, es que también tengas una muy buena comprensión de la importancia de los datos, e importancia significa sensibilidades sobre lo que estás intentando hacer con los datos, respecto a los datos o potencialmente respecto a cómo esos datos fueron retenidos. Esto es algo que todavía requiere un modelado matemático sofisticado y simulación y, potencialmente, DA como técnica.”

Durante la reciente conferencia ISC en Alemania, NAG anunció una ampliación de su servicio DA. Como parte del servicio, NAG evaluará los algoritmos de un cliente y les dirá que tipos de sensibilidades tiene con los datos, lo que puede ser de gran utilidad para la calibración de parámetros. Es preferible tener acceso al código fuente, o como mínimo acceso al algoritmo o desarrolladores del modelo. NAG también formará a los desarrolladoes en cómo realizar su propio análisis DA, lo que será útil como parte del análisis de regresión en vistas.

NAG está en el negocio de DA desde hace décadas, principalmente con clientes HPC. Ahora que estamos en medio del gran auge del big data, el uso potencial de DA se está expandiendo y lo mismo pasa con el grupo de clientes que puede beneficiarse de él.

“Veo mucha gente que debería utilizarlo," dice Naumann. “Muchos de ellos se dan cuenta en cuanto hablo con ellos y se involucran en el tema. Pero también hay mucha gente que nunca han oido sobre DA. Estoy sorprendido cuando hablo con gente, de la cantidad de ellos que se asombran de lo que les hablo. No se conoce realmente bien todavía.”

Estamos en medio de una fase de transición, donde las organizaciones que están construyendo soluciones de minería de grandes volúmenes de datos sobre nuevas tecnologías, como Apache Hadoop y Apache Spark, están reaprendiendo algunas de las mismas lecciones que los expertos de HPC aprendieron hace años. Utilizando técnicas HPC como DA, los profesionales de big data tienen la oportunidad de impulsar sus proyectos, y potencialmente saltar por encima de sus competidores.

Pero solo hacer correr la voz sobre DA también ha demostrado ser un gran reto. “Al estar en esta fase de transición, vemos más y más gente que tan solo tiene una vaga idea de lo que su software hace, y de cuál es la matemática que hay detrás de su software,” dice Naumann. “Ellos tan solo quieren resolver el problema. No les importa demasiado cómo está hecho o qué pasa detrás. Sobre esta gente yo diría que no comprenden sufientemente. Por otro lado, yo diría que si puedes ocultar la metodología [DA] y solo proporcionarles un número, o una marca roja o verde, eso también funcionaría.”

A medida que los grandes volúmenes de datos se infiltran en nuestro mundo alrededor y los resultados de los algoritmos tienen un mayor impacto en nuestras vidas, nos corresponde a nosotros tener al menos un mínimo de comprensión de la matemática en juego, o al menos comprobarla con alguien que la tenga. Porque si hay una lección que podemos aprender en los grandes volúmenes de datos, es que todos los algoritmos no se han creado de igual forma.

Traducido del artículo "Can You Trust Your Algorithms?" por Alex Woodie en Datanami