bloque2:utilizacion
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Próxima revisión | Revisión previa | ||
| bloque2:utilizacion [2026/09/15 10:52] – creado fernando | bloque2: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**, | ||
| + | |||
| + | Veremos modelos basados en reglas, razonamiento probabilístico, | ||
| + | |||
| + | |||
| + | |||
| + | ===== 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, | ||
| + | | **De datos** | Determinan las características que deben tener los datos | Esquema, unidades, valores ausentes, representatividad, | ||
| + | |||
| + | 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 // | ||
| + | |||
| + | 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, | ||
| + | | **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: | ||
| + | |||
| + | < | ||
| + | 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: | ||
| + | |||
| + | * 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: | ||
| + | |||
| + | < | ||
| + | C(τ) = C_FP · FP(τ) + C_FN · FN(τ) | ||
| + | </ | ||
| + | |||
| + | 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: | ||
| + | |||
| + | < | ||
| + | P(c | x) = P(x | c) · P(c) / P(x) | ||
| + | </ | ||
| + | |||
| + | 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: | ||
| + | |||
| + | < | ||
| + | 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: | ||
| + | |||
| + | * 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: | ||
| + | |||
| + | < | ||
| + | Verdadero | ||
| + | Falso | ||
| + | </ | ||
| + | |||
| + | 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: | ||
| + | |||
| + | < | ||
| + | μ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 " | ||
| + | |||
| + | 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 " | ||
| + | |||
| + | ==== Fusificació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: | ||
| + | |||
| + | < | ||
| + | Temperatura = 28 °C | ||
| + | |||
| + | Media = 0.4 | ||
| + | Alta = 0.7 </ | ||
| + | |||
| + | === Inferencia === | ||
| + | |||
| + | 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: | ||
| + | |||
| + | * **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: | ||
| + | |||
| + | < | ||
| + | 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. | ||
| + | |||
| + | ==== 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: | ||
| + | * **Consecuentes: | ||
| + | |||
| + | 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 | | ||
| + | |||
| + | ==== 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: | ||
| + | |||
| + | < | ||
| + | HECHOS → REGLAS → NUEVOS HECHOS → CONCLUSIÓN | ||
| + | </ | ||
| + | |||
| + | 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. | ||
| + | |||
| + | < | ||
| + | HIPÓTESIS → REGLAS NECESARIAS → HECHOS | ||
| + | </ | ||
| + | |||
| + | 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, | ||
| + | |||
| + | ==== Árboles de decisión y reglas aprendidas ==== | ||
| + | |||
| + | Los **árboles de decisión** dividen progresivamente el espacio de variables mediante preguntas. | ||
| + | |||
| + | Por ejemplo: | ||
| + | |||
| + | < | ||
| + | ¿Edad < 30? | ||
| + | / | ||
| + | | ||
| + | / \ | ||
| + | ¿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**, | ||
| + | |||
| + | 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: | ||
| + | |||
| + | < | ||
| + | z = wᵀx + b | ||
| + | </ | ||
| + | |||
| + | 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: | ||
| + | |||
| + | < | ||
| + | Entrada → Capa oculta → Capa oculta → Salida | ||
| + | </ | ||
| + | |||
| + | 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. | ||
| + | |||
| + | < | ||
| + | precision = TP / (TP + FP) | ||
| + | </ | ||
| + | |||
| + | === Sensibilidad o Recall === | ||
| + | |||
| + | Indica qué proporción de los casos positivos reales ha detectado el modelo. | ||
| + | |||
| + | < | ||
| + | recall = TP / (TP + FN) | ||
| + | </ | ||
| + | |||
| + | === 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: | ||
| + | |||
| + | < | ||
| + | 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, | ||
| + | |||
| + | ---- | ||
| + | |||
bloque2/utilizacion.1789462349.txt.gz · Última modificación: por fernando
