Machine Learning y relaciones de pareja

Machine Learning, uno de los campos de Inteligencia Artificial de los que más se habla últimamente en Internet, es capaz de elaborar predicciones sobre tendencias financieras, crear sistemas de navegación inteligentes para coches, detectar spam, diagnosticar enfermedades o detectar emociones, ¿por qué no usarlo para prevenir o evitar los enfrentamientos de pareja?

Machine Learning para predecir peleas conyugales. Parece una broma pero, ¿por qué no? Danor Aharon, en un divertido post de Data Science Central y recogido por el blog de LUCA, nos plantea cómo sería una hipotética i-Relation app capaz de enviarnos alertas:

Esta hipotética app podría:

  • Advertirnos del riesgo de tener un enfrentamiento con nuestra pareja.
  • Analizar posibles motivos: “cumpleaños/aniversario/cita importante olvidada”.
  • Proponer posibles salidas: “envío urgente de flores, bombones, tarjeta con corazones…”.
  • Advertir sobre el uso/abuso de las “salidas”: “cuidado, en el último mes has enviado ya cuatro cajas de bombones a tu novia”.

Y así, gracias a esta estupenda aplicación evita-peleas, las parejas usuarias podrían ser “felices y comer perdices”. ¿Puede existir algo así? Vamos a ver cómo funcionaría la app i-Relation propuesta por Aharon.

¿Cómo aprende el programa?

Tenemos un programa que “aprende” a partir de un conjunto de datos (lo que llamamos “training dataset”) que recogen determinadas características o “features”, seleccionadas por su relevancia. Estas características se pueden combinar de muchas formas posibles, pero lo importante es que se “clasifiquen” de forma adecuada.

El programa, “entrenado” con un gran número de casos que le hemos ido facilitando, “aprende” a clasificar una determinada combinación de características “nueva”, basándose en lo aprendido con el “training dataset”.

Por ejemplo, en una aplicación médica, si para cada paciente tenemos una serie de características (temperatura corporal, presión sanguínea, ritmo cardíaco, dolor, inflamación…) y hemos entrenado nuestro sistema etiquetando distintas combinaciones de estas variables como “probable infección” o “riesgo de infarto”, cuando le planteamos un nuevo caso, sería capaz de diagnosticar «infección», si las características (o variables) fueran:

  • Fiebre alta = SI
  • Inflamación = SI
  • Dolor = SI

Es decir, asignar (predecir) la etiqueta que encaja mejor con esa determinada combinación de variables. Este sería un buen ejemplo de aprendizaje supervisado, en el que tenemos un objetivo definido (target), que en este caso es el diagnóstico. Una vez “Machine” (el programa) ha “aprendido” todos los datos de síntomas de pacientes (features) que le hemos facilitado, y el diagnóstico (target) correspondiente a cada combinación de esos síntomas o características, usará un clasificador (por ejemplo, un árbol de decisión, o un bosque aleatorio) para asignar el diagnóstico que encaje mejor con el conjunto de síntomas, basado en lo aprendido de casos anteriores.

Está claro que habría que llevar a cabo otros procesos de depuración/filtrado de los datos y una prevención del sobreajuste (overfitting) para mejorar la precisión de la predicción, pero en este caso los vamos a obviar por simplicidad.

El problema es claro: si las parejas supieran cómo evitar las discusiones, sin duda alguna, lo harían. Sin embargo, no es tan fácil detectar los detonantes de una buena bronca. ¿Cuáles son las causas más habituales? ¿Cuáles van a ser las “características” cuya combinación nos conduce a un target pelea=SI?

Características/Features:

Para poder reaccionar prácticamente en tiempo real, vamos a tener que manejar muchos datos en poco tiempo. Estos datos, según sus posibles combinaciones, le darán a la app la pista sobre si se avecina (o no) un conflicto.

Se trata de datos sobre:

  • Comportamiento humano
  • Estado de ánimo
  • Causas externas

Y otras causas genéricas como:

  • Distintos criterios de gasto
  • Problemas con los niños etc.

¿Cuál sería la base de la App?

Como cualquier app estándar, sabría de nosotros mucho más de lo que nos imaginamos. Recibiría información de los distintos dispositivos y sensores que nos acompañan en nuestra vida diaria y podría saber desde lo que comemos, hasta cuánto hemos dormido, cuándo son tus días fértiles o qué enfermedad tuviste la semana pasada. También debería recoger toda esta información sobre nuestra media naranja.

¿Cómo aprendería?

  • Primero, tendríamos que recoger datos para entrenar el sistema, pongamos que durante dos o tres meses.
  • Después habría que seleccionar las características más significativas para cada caso, eliminando así información redundante o irrelevante.
  • A continuación, habría que decidir qué algoritmo aplicar. Se trata de una tarea de clasificación, en el que la respuesta buscada es binaria: “se avecina tormenta” o “todo OK”. En versiones posteriores se podrían incluir las «recomendaciones» de mitigación en forma de bombones, flores, etc., ampliando así el rango de posibles respuestas.

Obviando procesos de pre-procesamiento de datos, validaciones, técnicas de Deep Learning y análisis estadísticos, ésta app podría basarse en un algoritmo de regresión logística. Así, podría predecir el valor de una variable categórica (el target) en función de variables independientes o predictivas (las características).

Está claro que no se podría garantizar un 100% de precisión en la predicción. Aunque ésta se ha incrementado notablemente en algunos campos de aplicación de Inteligencia Artificial (por ejemplo, el reconocimiento de caras), todavía hay muchas áreas de mejora.

¿Qué os parecería levantaros por la mañana y poder recibir una notificación como ésta?

Bromas aparte, esta app imaginaria es un ejemplo más de cómo podemos aplicar el Machine Learning a la elaboración de predicciones sobre casi cualquier cosa. Aunque si tu pareja necesita un app para saber cómo te sientes ¡cambia de pareja!

RELACIONADOS

GPTs Custom

Cómo hacer GPTs Custom

Hace unos meses, OpenAI presentó una nueva función para ChatGPT, el popular chatbot de la compañía que funciona gracias a GPT-4, su modelo de...