Herramientas de usuario

Herramientas del sitio


bloque2:utilizacion

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
bloque2:utilizacion [2026/09/15 10:52] – creado fernandobloque2:utilizacion [2026/09/23 00:47] (actual) – [Modelos de Inteligencia Artificial en la resolución de problemas] fernando
Línea 1: Línea 1:
 ====== Modelos de Inteligencia Artificial en la resolución de problemas ====== ====== Modelos de Inteligencia Artificial en la resolución de problemas ======
 +
 +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.
 +
 +
 +
 +===== 1. Resolver problemas con modelos de IA =====
 +
 +Antes de elegir un algoritmo o entrenar un modelo, es necesario **formular correctamente el problema que queremos resolver**.
 +
 +Debemos identificar aspectos como:
 +
 +  * El **objetivo** del sistema
 +  * Las **entradas** disponibles
 +  * La **salida esperada**
 +  * Las **restricciones**
 +  * Los usuarios que utilizarán el sistema
 +  * La frecuencia con la que será utilizado
 +  * El coste de los posibles errores
 +
 +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:
 +
 +  * Qué información podrá analizar el sistema
 +  * Qué consideramos exactamente //spam//
 +  * Qué ocurre cuando el sistema se equivoca
 +  * Si es peor dejar pasar un correo no deseado o bloquear por error un correo legítimo
 +
 +La elección del modelo dependerá en gran medida de estas decisiones iniciales.
 +
 +==== Requisitos básicos ====
 +
 +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.
 +
 +==== Descomposición y línea base ====
 +
 +Los sistemas de Inteligencia Artificial suelen formar parte de sistemas más grandes.
 +
 +Podemos dividir un sistema complejo en varias etapas:
 +
 +  * **Captación de datos**
 +  * **Preprocesamiento**
 +  * **Inferencia**
 +  * **Postprocesamiento**
 +  * **Actuación**
 +
 +Por ejemplo, un sistema de detección automática de objetos mediante una cámara podría funcionar de la siguiente forma:
 +
 +  * La cámara captura una imagen
 +  * La imagen se redimensiona y normaliza
 +  * El modelo identifica los objetos presentes
 +  * Se filtran detecciones poco fiables
 +  * El sistema realiza una acción
 +
 +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**.
 +
 +
 +===== 2. Clasificación de modelos =====
 +
 +Los modelos de Inteligencia Artificial pueden clasificarse utilizando diferentes criterios.
 +
 +==== Según la fuente del conocimiento ====
 +
 +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:
 +
 +  * Un modelo estima el riesgo del cliente
 +  * Un conjunto de reglas comprueba determinadas restricciones legales o empresariales
 +  * El resultado final combina ambas decisiones
 +
 +==== Según el tipo de tarea ====
 +
 +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
 +
 +==== Según la forma de aprender ====
 +
 +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:
 +
 +  * Reproducir experimentos
 +  * Comparar versiones
 +  * Auditar modelos
 +  * Controlar cuándo se actualiza un sistema
 +
 +
 +===== 3. Automatización de tareas =====
 +
 +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:
 +
 +  * Si la confianza del modelo es superior al 95 %, la decisión se realiza automáticamente
 +  * Si está entre el 70 % y el 95 %, se solicita revisión humana
 +  * Si es inferior al 70 %, el sistema puede rechazar la decisión automática
 +
 +Esto permite que el modelo pueda **abstenerse** cuando no tiene suficiente confianza.
 +
 +==== Flujos deterministas y probabilísticos ====
 +
 +Podemos distinguir dos tipos de procesos.
 +
 +**Procesos deterministas**
 +
 +Una misma entrada produce siempre el mismo resultado.
 +
 +Por ejemplo:
 +
 +<code>
 +SI edad < 18
 +    ENTONCES acceso = denegado
 +</code>
 +
 +**Procesos probabilísticos**
 +
 +El sistema devuelve una probabilidad o puntuación.
 +
 +Por ejemplo:
 +
 +<code>
 +Probabilidad de fraude = 0.87
 +</code>
 +
 +En los sistemas reales suelen combinarse ambos enfoques.
 +
 +Por ejemplo:
 +
 +  * Un modelo estima la probabilidad de fraude
 +  * Una regla comprueba si la probabilidad supera cierto valor
 +  * Otras reglas validan permisos, límites o restricciones
 +  * Finalmente se determina qué acción debe realizarse
 +
 +==== Selección por coste esperado ====
 +
 +No todos los errores tienen necesariamente el mismo coste.
 +
 +En un problema de clasificación binaria podemos distinguir:
 +
 +  * **FP — Falso positivo**
 +  * **FN — Falso negativo**
 +
 +Si cada error tiene un coste diferente, podemos calcular el coste esperado mediante:
 +
 +<code>
 +C(τ) = C_FP · FP(τ) + C_FN · FN(τ)
 +</code>
 +
 +donde:
 +
 +  * **τ** es el umbral utilizado para tomar la decisión
 +  * **C_FP** es el coste de un falso positivo
 +  * **C_FN** es el coste de un falso negativo
 +  * **FP(τ)** es el número de falsos positivos para ese umbral
 +  * **FN(τ)** es el número de falsos negativos para ese umbral
 +
 +No existe un **umbral universalmente correcto**.
 +
 +Su valor dependerá de factores como:
 +
 +  * El tipo de problema
 +  * Las consecuencias de cada error
 +  * La capacidad de revisión humana
 +  * Los recursos disponibles
 +
 +
 +
 +===== 4. Razonamiento probabilístico =====
 +
 +Muchos problemas de Inteligencia Artificial contienen incertidumbre.
 +
 +El razonamiento probabilístico permite representar y trabajar con esta incertidumbre de forma matemática.
 +
 +==== Regla de Bayes ====
 +
 +La **regla de Bayes** permite actualizar una probabilidad utilizando nueva evidencia.
 +
 +Se expresa mediante:
 +
 +<code>
 +P(c | x) = P(x | c) · P(c) / P(x)
 +</code>
 +
 +donde:
 +
 +  * **P(c | x)** es la probabilidad de la clase //c// después de observar //x//
 +  * **P(x | c)** es la probabilidad de observar //x// cuando pertenece a la clase //c//
 +  * **P(c)** es la probabilidad previa de la clase
 +  * **P(x)** es la probabilidad de observar //x//
 +
 +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:
 +
 +  * Rápidos
 +  * Sencillos
 +  * Estables
 +  * Útiles como línea base
 +
 +En **Gaussian Naive Bayes**, las características numéricas se modelan utilizando una distribución normal para cada clase.
 +
 +==== Interpretar probabilidades ====
 +
 +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:
 +
 +<code>
 +P = 0.8
 +</code>
 +
 +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:
 +
 +  * Curvas de calibración
 +  * Medida de Brier
 +
 +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.
 +
 +
 +
 +===== 5. Razonamiento impreciso y lógica difusa =====
 +
 +La lógica clásica trabaja normalmente con dos valores:
 +
 +<code>
 +Verdadero
 +Falso
 +</code>
 +
 +Sin embargo, muchos conceptos del mundo real no tienen límites claramente definidos.
 +
 +Por ejemplo:
 +
 +  * Temperatura alta
 +  * Velocidad rápida
 +  * Persona joven
 +  * Distancia cercana
 +
 +La **lógica difusa** permite representar estos conceptos utilizando diferentes grados de pertenencia.
 +
 +Una función de pertenencia puede expresarse como:
 +
 +<code>
 +μA(x) ∈ [0,1]
 +</code>
 +
 +Por ejemplo:
 +
 +<code>
 +μAlta(30 °C) = 0.8
 +</code>
 +
 +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" |
 +
 +==== Fusificación, inferencia y desfusificación ====
 +
 +Un sistema de lógica difusa suele funcionar en tres etapas.
 +
 +=== Fusificación ===
 +
 +Las entradas numéricas se transforman en grados de pertenencia.
 +
 +Por ejemplo, una temperatura puede pertenecer simultáneamente a varios conjuntos:
 +
 +<code>
 +Temperatura = 28 °C
 +
 +Media = 0.4
 +Alta  = 0.7 </code>
 +
 +=== Inferencia ===
 +
 +Se evalúan reglas del tipo **SI-ENTONCES**.
 +
 +Por ejemplo:
 +
 +<code>
 +SI temperatura es alta
 +Y carga es elevada
 +ENTONCES ventilación es muy alta
 +</code>
 +
 +Para combinar condiciones pueden utilizarse operadores como:
 +
 +  * **mínimo** para AND
 +  * **máximo** para OR
 +
 +=== Desfusificación ===
 +
 +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:
 +
 +<code>
 +SI temperatura es alta
 +Y carga es elevada
 +ENTONCES ventilación es muy alta
 +</code>
 +
 +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.
 +
 +==== Diseño y validación ====
 +
 +Los elementos de un sistema difuso deben diseñarse cuidadosamente:
 +
 +  * Etiquetas lingüísticas
 +  * Funciones de pertenencia
 +  * Reglas
 +  * Métodos de inferencia
 +  * Métodos de desfusificación
 +
 +Estos elementos pueden proceder de:
 +
 +  * Conocimiento experto
 +  * Datos
 +  * Una combinación de ambos
 +
 +Durante la validación deben comprobarse aspectos como:
 +
 +  * Cobertura del espacio de entrada
 +  * Existencia de reglas contradictorias
 +  * Zonas en las que ninguna regla se activa
 +  * Continuidad de la salida
 +  * Comportamiento ante valores extremos
 +
 +
 +
 +===== 6. Sistemas basados en reglas =====
 +
 +Los sistemas basados en reglas representan el conocimiento mediante reglas de producción.
 +
 +Una regla contiene:
 +
 +  * **Antecedentes:** condiciones que deben cumplirse
 +  * **Consecuentes:** acciones o conclusiones obtenidas
 +
 +Ejemplo:
 +
 +<code>
 +SI temperatura > 80
 +Y presión > 5
 +ENTONCES activar alarma
 +</code>
 +
 +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 |
 +
 +==== Encadenamiento hacia adelante y hacia atrás ====
 +
 +Existen dos estrategias principales para aplicar las reglas.
 +
 +=== Encadenamiento hacia adelante ===
 +
 +Parte de los **hechos conocidos** y aplica reglas hasta obtener nuevas conclusiones.
 +
 +Podemos representarlo como:
 +
 +<code>
 +HECHOS → REGLAS → NUEVOS HECHOS → CONCLUSIÓN
 +</code>
 +
 +Es especialmente adecuado para tareas de:
 +
 +  * Monitorización
 +  * Control
 +  * Sistemas reactivos
 +
 +=== Encadenamiento hacia atrás ===
 +
 +Parte de una **hipótesis** e intenta comprobar si los hechos disponibles permiten demostrarla.
 +
 +<code>
 +HIPÓTESIS → REGLAS NECESARIAS → HECHOS
 +</code>
 +
 +Resulta útil en tareas como:
 +
 +  * Diagnóstico
 +  * Consulta
 +  * Sistemas expertos
 +
 +=== Resolución de conflictos ===
 +
 +En ocasiones varias reglas pueden ejecutarse simultáneamente.
 +
 +En ese caso aparece un **conflicto**.
 +
 +El sistema puede decidir qué regla ejecutar utilizando criterios como:
 +
 +  * Prioridad
 +  * Especificidad
 +  * Novedad
 +  * Una estrategia de agenda
 +
 +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.
 +
 +==== Árboles de decisión y reglas aprendidas ====
 +
 +Los **árboles de decisión** dividen progresivamente el espacio de variables mediante preguntas.
 +
 +Por ejemplo:
 +
 +<code>
 +              ¿Edad < 30?
 +               /       \
 +             Sí         No
 +            /             \
 +    ¿Ingresos altos?     ...
 +       /      \
 +      Sí       No
 +</code>
 +
 +Una de sus principales ventajas es que pueden ser relativamente fáciles de interpretar.
 +
 +Además, un árbol puede transformarse en reglas.
 +
 +Por ejemplo:
 +
 +<code>
 +SI edad < 30
 +Y ingresos = altos
 +ENTONCES clase = A
 +</code>
 +
 +Sin embargo, los árboles demasiado profundos pueden **memorizar los datos de entrenamiento**, produciendo sobreajuste.
 +
 +Este problema puede controlarse mediante parámetros como:
 +
 +  * Profundidad máxima
 +  * Número mínimo de ejemplos por hoja
 +  * Poda del árbol
 +
 +
 +
 +===== 7. Redes neuronales como modelo alternativo =====
 +
 +Una **neurona artificial** realiza una combinación ponderada de sus entradas.
 +
 +Puede expresarse mediante:
 +
 +<code>
 +z = wᵀx + b
 +</code>
 +
 +donde:
 +
 +  * **x** representa las entradas
 +  * **w** representa los pesos
 +  * **b** es el sesgo o //bias//
 +
 +Posteriormente se aplica una **función de activación**.
 +
 +Una red neuronal multicapa conecta múltiples neuronas formando diferentes capas.
 +
 +De forma simplificada:
 +
 +<code>
 +Entrada → Capa oculta → Capa oculta → Salida
 +</code>
 +
 +Durante el entrenamiento los pesos se modifican mediante técnicas como:
 +
 +  * Descenso de gradiente
 +  * Retropropagación
 +
 +Las redes neuronales pueden representar relaciones complejas y no lineales.
 +
 +Sin embargo, normalmente requieren:
 +
 +  * Escalado de variables
 +  * Ajuste de hiperparámetros
 +  * Cantidades suficientes de datos
 +  * Control del sobreajuste
 +
 +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:
 +
 +  * Fijar semillas aleatorias
 +  * Mantener un conjunto de prueba
 +  * Utilizar validación cruzada cuando sea adecuado
 +
 +
 +
 +===== 8. Evaluación y elección del modelo =====
 +
 +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.
 +
 +==== Matriz de confusión y métricas ====
 +
 +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.
 +
 +=== Precisión ===
 +
 +Indica qué proporción de las predicciones positivas era realmente positiva.
 +
 +<code>
 +precision = TP / (TP + FP)
 +</code>
 +
 +=== Sensibilidad o Recall ===
 +
 +Indica qué proporción de los casos positivos reales ha detectado el modelo.
 +
 +<code>
 +recall = TP / (TP + FN)
 +</code>
 +
 +=== F1 ===
 +
 +La medida **F1** combina precisión y //recall// mediante su media armónica.
 +
 +En problemas multiclase pueden calcularse métricas:
 +
 +  * Para cada clase
 +  * Promedio macro
 +  * Promedio micro
 +  * Promedio ponderado
 +
 +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.
 +
 +==== Robustez, interpretabilidad y mantenimiento ====
 +
 +Un modelo no debe evaluarse únicamente utilizando datos ideales.
 +
 +También debemos analizar su **robustez** ante situaciones como:
 +
 +  * Ruido
 +  * Datos ausentes
 +  * Cambios de escala
 +  * Valores extremos
 +  * Datos fuera del rango habitual
 +
 +Otro aspecto importante es la **interpretabilidad**.
 +
 +Algunos modelos son interpretables por su propia estructura.
 +
 +Por ejemplo:
 +
 +  * Sistemas de reglas pequeños
 +  * Árboles de decisión poco profundos
 +
 +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:
 +
 +  * Fidelidad
 +  * Estabilidad
 +  * Utilidad para la persona que debe tomar la decisión
 +
 +==== Comparación de algunos modelos ====
 +
 +^ 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:
 +
 +  * Rendimiento
 +  * Coste de los errores
 +  * Latencia
 +  * Explicabilidad
 +  * Recursos disponibles
 +  * Facilidad de actualización
 +  * Riesgo
 +
 +En muchos proyectos, la solución más adecuada consiste en una **arquitectura híbrida** en la que se combinan:
 +
 +  * Un modelo estadístico o de aprendizaje automático
 +  * Validaciones deterministas
 +  * Reglas
 +  * Revisión humana
 +
 +
 +===== Síntesis de la unidad =====
 +
 +Seleccionar un modelo de Inteligencia Artificial es fundamentalmente una **decisión de ingeniería**.
 +
 +El proceso puede resumirse de la siguiente forma:
 +
 +<code>
 +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
 +</code>
 +
 +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.
 +
 +----
 +
bloque2/utilizacion.1789462349.txt.gz · Última modificación: por fernando