lunes, 5 de agosto de 2024

Sobre el machine learning y las predicciones

Una de las aportaciones comunes de los algoritmos de inteligencia artificial, y particularmente, los de machine learning, es su capacidad de hacer predicciones.

El término predictivo se ha convertido de hecho, no del todo pero casi, en sinónimo de inteligencia artificial o, al menos, indicador del uso de la misma. Así, por ejemplo, si hablando de analítica nos encontramos el término 'predictiva', casi podemos estar seguros de que es una forma de analítica que se basa en algoritmos de machine learning.  


El funcionamiento de los algoritmos de machine learning


En algunas ocasiones, especialmente cuando razonamos acerca de sesgos, es importante, recordar no obstante, cómo operan los algoritmos de machine learning y cómo realizan esas predicciones.

En esencia, la secuencia de actuación vendría a ser la siguiente:


  • Existe un problema del mundo real sobre el que deseamos hacer predicciones, por ejemplo, nuestras ventas.
  • Para ese fenómeno, disponemos de datos de cómo se han comportado en el pasado esas ventas y de muchas variables posibles que las pueden explicar (inversión en marketing, número de vendedores, número de visitas, número de nuevos productos en el porfolio, indicadores macroeconómicos, etc)
  • Seleccionamos un tipo de modelo de machine learning, por ejemplo, una regresión lineal, y las variables o características de entrada y la variable de o variables de salida.
  • Con los datos de ventas y otras variables de contexto del pasado, entrenamos el modelo, que va ajustando sus parámetros en el proceso
  • Una vez entrenado y ajustados esos parámetros, el modelo de machine learning se convierte en un 'modelo del mundo', donde el mundo en este caso son las ventas de nuestra compañía
  • Y ahora que ya hemos modelado 'el mundo', ahora que, de alguna forma, en el modelo hemos capturado la esencia de cómo se comporta ese mundo, cómo se comportan esas ventas, podemos hacer predicciones: ante unas nuevas variables de entrada podemos predecir qué valor de salida cabe esperar.


Así de sencillo.


Una afirmación cierta y falsa a la vez


De forma un poco casual me he vuelto a topar con una afirmación hecha en el excelente libro 'Design Machine Learning Systems' de Chip Huyen. Dice así


ML algorithms don’t predict the future, but encode the past, thus perpetuating the biases in the data and more


Esta afirmación parece recoger, de manera compacta, justo lo que acabo de explicar y, a su vez, advertir de la posibilidad de existencia de sesgos.

La frase parece muy razonable, incluso parece reafirmar lo que acabo de explicar. Debo decir, además, que la autora es una autoridad reconocida en materia de machine learning y que el libro, repito, es excelente y muy, muy recomendable. 

Y, sin embargo, me atrevo a decir que esta afirmación es equívoca y no del todo correcta


Sobre las predicciones


Diría que es incorrecto afirmar que los algoritmos de machine learning no hacen predicciones. Claro que hacen predicciones.

Lo que la autora quiere resaltar, en el fondo, es que esas predicciones se apoyan en unos datos del pasado. Y, efectivamente, así es.

Pero eso no supone que los algoritmos no sean capaces de hacer predicciones. Sí que son capaces. Claro que son capaces. En buena parte los queremos por eso y para eso. El hecho de que se apoyen en un modelo determinado por datos del pasado supone sí, una advertencia sobre algunos aspectos como los sesgos a los cuales me referiré luego o supone, también, una advertencia, y esta no la recoge la afirmación de Huyen, en el sentido de que un modelo no podrá predecir un fenómeno completamente novedoso y disruptivo, simplemente, porque no ha recibido datos sobre ello. 

Pero afirmar que no hacen predicciones es confundir y creo que es falso.

Llamo la atención además sobre el hecho de que no parece que en eso los algoritmos sean tan diferentes de las personas o los seres vivos. Aunque no comprendemos completamente los mecanismos cognitivos y de aprendizaje de los seres vivos, y en especial los humanos, parece que también aprendemos con base a experiencias, unas experiencias que en el fondo siempre son pasadas y que recibimos, o por nuestra propia experiencia directa, o por transmisión de padres u tras figuras similares, o mediante la educación o, probablemente, también, en cierto modo como 'experiencia ancestral de especie codificada en nuestros genes. 

Parece que, de alguna manera,  también los seres vivos, incluyendo los humanos, hacemos predicciones y tomamos decisiones con base en datos del pasado, datos de nuestras experiencias directas o recibidas de manera indirecta por transmisión externamente o por herencia. Y tampoco los seres humanos, por ejemplo, somos capaces de predecir los así llamados 'cisnes negros', precisamente porque son situaciones novedosas de las cuales no teníamos experiencias similares. Y también tenemos nuestros propios sesgos, nuestros sesgos cognitivos.

Por tanto, el que los algoritmos de machine learning abstraigan un modelo con base en datos del pasado, no los descalifica, por decirlo de alguna manera, para hacer predicciones. Y en eso es donde creo que Huyen se equivoca o al menos no elige de manera acertada la frase.


Los cambios de valores


Otra advertencia que hago con cierta frecuencia en cursos o charlas que tienen que ver con la ética de la inteligencia artificial y en que abordo la temática de los sesgos, es que en muchos casos en que 'se acusa' a los algoritmos de estar sesgados en materias como el género, y parece incluso latir una acusación velada a desarrolladores y empresas por ese sesgo, en el fondo no existe, estrictamente hablando un sesgo. Si se analiza correctamente, no existe, como digo, un verdadero sesgo en el algoritmo, que técnica y metodológicamente puede ser perfecto.

Lo que ocurre es que, de manera reciente, han cambiado los valores de la sociedad, y han cambiado los criterios que los usamos para tomar algunas decisiones, precisamente en el campo para el que queremos utilizar un algoritmo. Pero como los datos de que disponemos para entrenar a ese algoritmo son previos a ese cambio de valores sociales, no 'nos gusta', por decirlo de alguna forma, la decisión que nos propone el algoritmo. Y la consideramos sesgada.

Aunque a efectos prácticos podemos percibir eso como un sesgo, desde el punto de vista técnico y metodológico no lo es y, por tanto, la forma de tratarlo y resolver ese resultado que 'no nos gusta'. es también diferente.

Estrictamente hablando, un algoritmo podría no perpetuar esos mal llamados sesgos si realmente hubiera un cambio social que modificase la forma de decidir, y se fuese periódicamente reentrenando el modelo con esos nuevos datos basados en la nueva forma de decisión. 

Así y todo, la advertencia de Huyen es muy relevante si las decisiones que propone un algoritmo entrenado con datos del pasado, se adoptan sin revisión y siempre  se usan algoritmos para decidir, porque entonces, se producirá una especie de círculo vicioso en que el algoritmo decide con base en información del pasado pero sus decisiones pasan a engrosar el acervo de nuevas experiencias, los nuevos datos con los que el algoritmo es re-entrenado, reforzando más y más ese tipo de decisión que consideramos desacertada.


Conclusión


Los algoritmos de machine learning, por supuesto que son capaces de hacer predicciones. 

Para ello se entrenan con datos del pasado y construyen un modelo de funcionamiento que les sirve como base para hacer esas predicciones. 

El hecho de que se usen datos del pasado para el entrenamiento es perfectamente lógico y parece guardar paralelismos con la forma de funcionar de los seres vivos. Y eso no les resta capacidad predictiva, pero sí nos advierte ante la posibilidad de existencia de sesgos, o de perpetuación de valores obsoletos, así como la imposibilidad de predecir acontecimientos completamente novedosos y disruptivos.


No hay comentarios:

Publicar un comentario