En esta unidad estudiaremos cómo seleccionar y utilizar distintos modelos de Inteligencia Artificial para resolver problemas, teniendo en cuenta no solo su rendimiento, sino también aspectos como la incertidumbre, la automatización, la interpretabilidad o el coste de los errores.
Veremos modelos basados en reglas, razonamiento probabilístico, lógica difusa, árboles de decisión y redes neuronales, así como diferentes formas de evaluar cuál es el modelo más adecuado para cada problema.
Antes de elegir un algoritmo o entrenar un modelo, es necesario formular correctamente el problema que queremos resolver.
Debemos identificar aspectos como:
Una buena especificación evita desarrollar un modelo técnicamente avanzado que, sin embargo, no resuelva correctamente la necesidad real.
Por ejemplo, antes de crear un sistema de Inteligencia Artificial para detectar correos no deseados deberíamos determinar:
La elección del modelo dependerá en gran medida de estas decisiones iniciales.
Al diseñar un sistema de Inteligencia Artificial podemos distinguir diferentes tipos de requisitos.
| Tipo de requisito | Descripción | Ejemplos |
|---|---|---|
| Funcionales | Indican qué debe hacer el sistema | Clasificar, predecir, recomendar, planificar o explicar |
| No funcionales | Definen condiciones de funcionamiento | Latencia, disponibilidad, coste, privacidad, seguridad o consumo |
| De datos | Determinan las características que deben tener los datos | Esquema, unidades, valores ausentes, representatividad, licencia o actualización |
La variable objetivo debe corresponder con la decisión real que queremos tomar.
Esto es especialmente importante porque una etiqueta histórica no siempre representa una verdad objetiva.
Por ejemplo, imaginemos que queremos crear un modelo que determine si un cliente es rentable utilizando como etiqueta si anteriormente recibió o no un crédito.
En ese caso, el modelo no estaría aprendiendo únicamente qué clientes son rentables. También estaría aprendiendo las decisiones tomadas anteriormente por la entidad financiera.
Por tanto, los datos históricos pueden incorporar decisiones, criterios o sesgos existentes previamente.
Idea clave
La función de pérdida utilizada para entrenar un modelo, la métrica empleada para compararlo y el coste real del error no son necesariamente lo mismo.
Es necesario relacionar estos tres elementos para evitar optimizar una métrica que no represente correctamente el objetivo real del sistema.
Los sistemas de Inteligencia Artificial suelen formar parte de sistemas más grandes.
Podemos dividir un sistema complejo en varias etapas:
Por ejemplo, un sistema de detección automática de objetos mediante una cámara podría funcionar de la siguiente forma:
Antes de utilizar un modelo complejo conviene construir una línea base o baseline.
Una línea base es una solución sencilla que sirve como referencia para comprobar si el nuevo modelo aporta realmente una mejora.
Algunos ejemplos son:
* Elegir siempre la clase mayoritaria * Utilizar el promedio histórico * Aplicar una regla sencilla definida por un experto
El nuevo modelo únicamente se justifica si mejora esta referencia de una forma consistente y útil.
Los modelos de Inteligencia Artificial pueden clasificarse utilizando diferentes criterios.
Podemos distinguir tres grandes tipos.
| Tipo | Características |
|---|---|
| Basados en conocimiento | Utilizan reglas explícitas introducidas por especialistas |
| Basados en datos | Ajustan sus parámetros automáticamente a partir de ejemplos |
| Híbridos | Combinan aprendizaje basado en datos con reglas o conocimiento experto |
Por ejemplo, un sistema híbrido podría utilizar una red neuronal para reconocer patrones y posteriormente aplicar reglas para comprobar que la decisión cumple determinadas restricciones.
Un sistema de concesión de crédito podría funcionar de esta manera:
Otra forma de clasificar los modelos consiste en observar el tipo de problema que resuelven.
| Tipo de tarea | Objetivo | Ejemplo |
|---|---|---|
| Clasificación | Asignar una categoría | Determinar si un correo es spam |
| Regresión | Predecir un valor numérico | Estimar el precio de una vivienda |
| Agrupamiento | Descubrir grupos similares | Segmentar clientes |
| Detección de anomalías | Localizar casos atípicos | Detectar operaciones bancarias sospechosas |
| Recomendación | Ordenar o seleccionar opciones | Recomendar películas |
| Planificación | Elegir una secuencia de acciones | Calcular las acciones de un robot |
Un mismo conjunto de datos puede utilizarse para resolver diferentes tareas.
Sin embargo, cada tarea puede necesitar:
* Algoritmos diferentes * Métricas diferentes * Estrategias de validación diferentes
También podemos clasificar los sistemas según cómo aprenden.
| Tipo de aprendizaje | Características |
|---|---|
| Supervisado | Existen ejemplos formados por una entrada y su salida correcta |
| No supervisado | Los datos no disponen de una etiqueta objetivo |
| Semisupervisado | Combina pocos ejemplos etiquetados con muchos ejemplos sin etiquetar |
| Por refuerzo | Un agente aprende utilizando recompensas obtenidas al realizar acciones |
También podemos distinguir entre:
Aprendizaje en línea
El modelo se actualiza progresivamente a medida que recibe nuevos datos.
Aprendizaje por lotes
El modelo se entrena utilizando conjuntos de datos y posteriormente se generan versiones concretas del modelo.
El aprendizaje por lotes facilita aspectos como:
Utilizar Inteligencia Artificial para automatizar una tarea no implica necesariamente eliminar la intervención humana.
Existen diferentes niveles de automatización.
| Estrategia | Funcionamiento |
|---|---|
| Human-in-the-loop | Una persona valida las decisiones realizadas por el sistema |
| Human-on-the-loop | El sistema actúa automáticamente, pero una persona supervisa y puede intervenir |
| Automatización limitada | Solo se automatizan los casos considerados suficientemente seguros |
Los modelos también pueden utilizar umbrales de confianza.
Por ejemplo:
Esto permite que el modelo pueda abstenerse cuando no tiene suficiente confianza.
Podemos distinguir dos tipos de procesos.
Procesos deterministas
Una misma entrada produce siempre el mismo resultado.
Por ejemplo:
SI edad < 18
ENTONCES acceso = denegado
Procesos probabilísticos
El sistema devuelve una probabilidad o puntuación.
Por ejemplo:
Probabilidad de fraude = 0.87
En los sistemas reales suelen combinarse ambos enfoques.
Por ejemplo:
No todos los errores tienen necesariamente el mismo coste.
En un problema de clasificación binaria podemos distinguir:
Si cada error tiene un coste diferente, podemos calcular el coste esperado mediante:
C(τ) = C_FP · FP(τ) + C_FN · FN(τ)
donde:
No existe un umbral universalmente correcto.
Su valor dependerá de factores como:
Muchos problemas de Inteligencia Artificial contienen incertidumbre.
El razonamiento probabilístico permite representar y trabajar con esta incertidumbre de forma matemática.
La regla de Bayes permite actualizar una probabilidad utilizando nueva evidencia.
Se expresa mediante:
P(c | x) = P(x | c) · P(c) / P(x)
donde:
Un algoritmo basado en este principio es Naive Bayes.
Naive Bayes supone que las características son condicionalmente independientes entre sí cuando conocemos la clase.
Esta suposición puede ser poco realista, pero permite crear modelos:
En Gaussian Naive Bayes, las características numéricas se modelan utilizando una distribución normal para cada clase.
Una puntuación producida por un modelo no siempre puede interpretarse directamente como una probabilidad fiable.
Por ejemplo, imaginemos que un modelo asigna una probabilidad de:
P = 0.8
a muchos casos.
Si posteriormente observamos que únicamente el 60 % de esos casos son realmente positivos, el modelo está mostrando una confianza excesiva.
Para analizar este comportamiento pueden utilizarse herramientas como:
También debemos recordar que:
Una probabilidad alta no demuestra causalidad.
Además, una probabilidad alta tampoco elimina la incertidumbre cuando aparecen nuevos datos diferentes a los utilizados durante el entrenamiento.
La lógica clásica trabaja normalmente con dos valores:
Verdadero Falso
Sin embargo, muchos conceptos del mundo real no tienen límites claramente definidos.
Por ejemplo:
La lógica difusa permite representar estos conceptos utilizando diferentes grados de pertenencia.
Una función de pertenencia puede expresarse como:
μA(x) ∈ [0,1]
Por ejemplo:
μAlta(30 °C) = 0.8
significa que una temperatura de 30 °C tiene un grado de pertenencia de 0,8 al concepto “temperatura alta”.
Esto no significa que exista un 80 % de probabilidad de que la temperatura sea alta.
La lógica difusa y la probabilidad representan conceptos diferentes.
| Probabilidad | Lógica difusa |
|---|---|
| Representa incertidumbre sobre un hecho | Representa el grado en el que algo pertenece a un concepto |
| Ejemplo: 80 % de probabilidad de lluvia | Ejemplo: temperatura con grado 0,8 de pertenencia a “alta” |
Un sistema de lógica difusa suele funcionar en tres etapas.
Las entradas numéricas se transforman en grados de pertenencia.
Por ejemplo, una temperatura puede pertenecer simultáneamente a varios conjuntos:
Temperatura = 28 °C Media = 0.4 Alta = 0.7
Se evalúan reglas del tipo SI-ENTONCES.
Por ejemplo:
SI temperatura es alta Y carga es elevada ENTONCES ventilación es muy alta
Para combinar condiciones pueden utilizarse operadores como:
El resultado difuso se transforma nuevamente en un valor numérico.
Uno de los métodos utilizados es el centroide.
Ejemplo razonado
Un sistema de climatización podría utilizar la regla:
SI temperatura es alta Y carga es elevada ENTONCES ventilación es muy alta
Las funciones de pertenencia pueden solaparse.
Gracias a ello, el sistema puede modificar gradualmente la ventilación en lugar de producir cambios bruscos cuando se supera un determinado umbral.
Los elementos de un sistema difuso deben diseñarse cuidadosamente:
Estos elementos pueden proceder de:
Durante la validación deben comprobarse aspectos como:
Los sistemas basados en reglas representan el conocimiento mediante reglas de producción.
Una regla contiene:
Ejemplo:
SI temperatura > 80 Y presión > 5 ENTONCES activar alarma
Un sistema basado en reglas suele incluir varios componentes.
| Componente | Función |
|---|---|
| Base de hechos | Contiene la información conocida actualmente |
| Base de reglas | Contiene las reglas del sistema |
| Motor de inferencia | Determina qué reglas deben ejecutarse |
| Módulo de explicación | Registra o explica la cadena de razonamiento |
Existen dos estrategias principales para aplicar las reglas.
Parte de los hechos conocidos y aplica reglas hasta obtener nuevas conclusiones.
Podemos representarlo como:
HECHOS → REGLAS → NUEVOS HECHOS → CONCLUSIÓN
Es especialmente adecuado para tareas de:
Parte de una hipótesis e intenta comprobar si los hechos disponibles permiten demostrarla.
HIPÓTESIS → REGLAS NECESARIAS → HECHOS
Resulta útil en tareas como:
En ocasiones varias reglas pueden ejecutarse simultáneamente.
En ese caso aparece un conflicto.
El sistema puede decidir qué regla ejecutar utilizando criterios como:
Si esta política no se define explícitamente, el resultado podría depender accidentalmente del orden en el que estén programadas las reglas.
Los árboles de decisión dividen progresivamente el espacio de variables mediante preguntas.
Por ejemplo:
¿Edad < 30?
/ \
Sí No
/ \
¿Ingresos altos? ...
/ \
Sí No
Una de sus principales ventajas es que pueden ser relativamente fáciles de interpretar.
Además, un árbol puede transformarse en reglas.
Por ejemplo:
SI edad < 30 Y ingresos = altos ENTONCES clase = A
Sin embargo, los árboles demasiado profundos pueden memorizar los datos de entrenamiento, produciendo sobreajuste.
Este problema puede controlarse mediante parámetros como:
Una neurona artificial realiza una combinación ponderada de sus entradas.
Puede expresarse mediante:
z = wᵀx + b
donde:
Posteriormente se aplica una función de activación.
Una red neuronal multicapa conecta múltiples neuronas formando diferentes capas.
De forma simplificada:
Entrada → Capa oculta → Capa oculta → Salida
Durante el entrenamiento los pesos se modifican mediante técnicas como:
Las redes neuronales pueden representar relaciones complejas y no lineales.
Sin embargo, normalmente requieren:
El rendimiento del modelo debe evaluarse utilizando datos que no hayan sido utilizados durante el entrenamiento.
Un único resultado puede depender de cómo se hayan dividido aleatoriamente los datos.
Por este motivo es habitual:
El objetivo final no consiste simplemente en encontrar el modelo con mayor precisión.
Debemos seleccionar el modelo más adecuado para resolver el problema completo.
En un problema de clasificación binaria podemos obtener cuatro tipos de resultados.
| Predicción positiva | Predicción negativa | |
|---|---|---|
| Real positivo | Verdadero positivo (TP) | Falso negativo (FN) |
| Real negativo | Falso positivo (FP) | Verdadero negativo (TN) |
A partir de ellos pueden calcularse diferentes métricas.
Indica qué proporción de las predicciones positivas era realmente positiva.
precision = TP / (TP + FP)
Indica qué proporción de los casos positivos reales ha detectado el modelo.
recall = TP / (TP + FN)
La medida F1 combina precisión y recall mediante su media armónica.
En problemas multiclase pueden calcularse métricas:
La matriz de confusión permite observar qué clases está confundiendo el modelo.
Esto proporciona información que una única medida global de exactitud puede ocultar.
Un modelo no debe evaluarse únicamente utilizando datos ideales.
También debemos analizar su robustez ante situaciones como:
Otro aspecto importante es la interpretabilidad.
Algunos modelos son interpretables por su propia estructura.
Por ejemplo:
Otros modelos necesitan técnicas adicionales para intentar explicar sus decisiones.
Sin embargo, una explicación local de una predicción concreta no convierte automáticamente un modelo complejo en un modelo seguro o completamente interpretable.
Las explicaciones deben analizarse teniendo en cuenta:
| Modelo | Fortaleza | Principal limitación | Cantidad de datos | Uso típico |
|---|---|---|---|---|
| Naive Bayes | Rápido | Suposición fuerte de independencia | Pocos-medios | Línea base |
| Árbol de decisión | Legible | Sobreajuste | Pocos-medios | Reglas segmentadas |
| Lógica difusa | Suavidad y lenguaje natural | Requiere diseño experto | Conocimiento | Sistemas de control |
| Red neuronal | Modela relaciones no lineales | Opacidad y necesidad de ajuste | Medios-muchos | Patrones complejos |
La elección final de un modelo debe considerar conjuntamente:
En muchos proyectos, la solución más adecuada consiste en una arquitectura híbrida en la que se combinan:
Seleccionar un modelo de Inteligencia Artificial es fundamentalmente una decisión de ingeniería.
El proceso puede resumirse de la siguiente forma:
Definir el problema
↓
Establecer requisitos
↓
Crear una línea base
↓
Seleccionar modelos candidatos
↓
Entrenar y validar
↓
Comparar métricas y costes
↓
Analizar robustez e interpretabilidad
↓
Seleccionar el modelo
↓
Desplegar y mantener
No debemos elegir un modelo únicamente porque obtenga la mejor métrica durante un experimento.
El modelo más preciso no siempre es el modelo más adecuado para utilizar en producción.
La decisión final debe considerar tanto el rendimiento técnico como las restricciones, los riesgos y las necesidades reales del sistema.