En la lección anterior vimos que la inteligencia artificial tiene setenta años de historia y que su significado ha ido cambiando: primero fue "razonar con símbolos", luego "capturar el conocimiento de un experto", más tarde "aprender de los datos" y hoy "generar texto e imágenes". Con tanta variedad, es fácil que el término se use de forma confusa. En esta lección vamos a poner orden: veremos qué es (y qué no es) la IA, cómo se relaciona con el machine learning y el deep learning, y trazaremos un mapa de sus grandes áreas. Ese mapa es importante porque, cuando NovaMarket se plantea "usar IA", en realidad está eligiendo entre técnicas muy distintas, cada una adecuada para un tipo de problema.
Contenido
- ¿Qué es la inteligencia artificial? Definiciones clásicas
- Las cuatro visiones de Russell y Norvig
- IA frente a automatización y programación tradicional
- IA, machine learning y deep learning: círculos concéntricos
- Ejemplo en Python: regla escrita a mano frente a regla aprendida
- Mapa de áreas de la IA
- Qué necesitaría NovaMarket de cada área
- ¿Qué es la inteligencia artificial? Definiciones clásicas
No existe una definición única y aceptada por todos. Algunas de las más citadas:
- John McCarthy (1956, 2007): "La ciencia y la ingeniería de crear máquinas inteligentes, especialmente programas de ordenador inteligentes." Es circular (¿qué es "inteligente"?), pero fija el objetivo.
- Marvin Minsky (1968): "La ciencia de hacer que las máquinas hagan cosas que requerirían inteligencia si las hiciera un humano." Pone el foco en la tarea, no en el mecanismo.
- Elaine Rich (1983): "El estudio de cómo hacer que los ordenadores hagan cosas que, por el momento, los humanos hacen mejor." Muy honesta: la frontera de "lo que es IA" se mueve con el tiempo.
- Nils Nilsson (2010): "La actividad dedicada a hacer que las máquinas sean inteligentes, y la inteligencia es la cualidad que permite a una entidad funcionar apropiadamente y con previsión en su entorno."
De estas definiciones se desprenden dos ideas útiles:
- La IA se define por lo que consigue (comportamiento) más que por cómo lo hace.
- Existe el llamado efecto IA: en cuanto un problema se resuelve, deja de considerarse "inteligencia artificial" y pasa a ser "simplemente software". El reconocimiento de caracteres, el corrector ortográfico o el GPS fueron IA en su día; hoy nadie los llama así.
- Las cuatro visiones de Russell y Norvig
El libro de referencia del campo, Artificial Intelligence: A Modern Approach de Stuart Russell y Peter Norvig, organiza las definiciones históricas en una tabla de dos ejes: ¿queremos que la máquina piense o que actúe? ¿Queremos que lo haga como un humano o racionalmente (de la mejor manera posible)?
| Como un humano | Racionalmente | |
|---|---|---|
| Pensar | Pensar como humanos: modelar los procesos mentales humanos (ciencia cognitiva) | Pensar racionalmente: razonar mediante lógica formal (las "leyes del pensamiento") |
| Actuar | Actuar como humanos: comportarse de forma indistinguible de una persona (test de Turing) | Actuar racionalmente: hacer lo mejor posible dado lo que se sabe (agente racional) |
Veámoslas una a una:
- Actuar como humanos es la visión del test de Turing que vimos en 01-01. Requeriría procesamiento del lenguaje, representación del conocimiento, razonamiento, aprendizaje, y (en su versión "total") visión y robótica. Su pega: imitar a los humanos incluye imitar sus errores, y no siempre es lo que queremos.
- Pensar como humanos intenta reproducir cómo pensamos realmente (con experimentos psicológicos o neurociencia). Es más propio de la ciencia cognitiva que de la ingeniería.
- Pensar racionalmente hereda la tradición lógica de Aristóteles y Boole: si formalizamos el conocimiento, un programa puede deducir conclusiones correctas. Su pega: el mundo real está lleno de incertidumbre y de conocimiento difícil de formalizar.
- Actuar racionalmente es la visión que adoptan Russell y Norvig y la mayoría del campo actual: un sistema es inteligente si elige acciones que maximizan sus posibilidades de alcanzar un objetivo dada la información disponible. No hace falta que piense como nosotros ni que sea lógicamente perfecto; basta con que haga lo mejor posible. Esta visión es la que da lugar al concepto de agente racional, que estudiaremos en la lección 02-01.
Con esa visión, la definición de trabajo que usaremos en el curso es:
Inteligencia artificial es la disciplina que construye sistemas capaces de percibir su entorno, razonar o aprender a partir de datos y experiencia, y actuar de forma que alcancen objetivos, en tareas que tradicionalmente requerían inteligencia humana.
¿Y para NovaMarket? Un sistema de recomendación no "piensa" como Marta cuando sugiere un producto, ni imita a un vendedor humano; simplemente elige, dado el historial de un cliente, los productos con más probabilidad de interesarle. Es IA en el sentido de "actuar racionalmente".
Lo que la IA no es
Conviene desterrar algunos mitos desde el principio:
- No es un robot humanoide. La mayoría de sistemas de IA son software sin cuerpo (un filtro de spam, un recomendador).
- No es magia ni conciencia. Los sistemas actuales optimizan objetivos concretos; no "quieren" nada ni comprenden en el sentido humano. Los distintos niveles de capacidad (IA débil, fuerte, etc.) se tratan en la lección 02-02.
- No es una única tecnología. Es un paraguas que agrupa técnicas muy diferentes; algunas aprenden de datos, otras razonan con reglas, otras buscan soluciones en un espacio de posibilidades.
- No es sinónimo de "programa complejo". Un ERP con miles de líneas de código no es IA; una regresión de 20 líneas que aprende de datos sí puede serlo.
- IA frente a automatización y programación tradicional
Una confusión frecuente en empresas es llamar "IA" a cualquier automatización. Diego, en NovaMarket, tiene un script que cada noche marca como "retrasado" todo pedido que lleve más de 5 días sin entregarse. ¿Es IA? No: es una regla fija escrita por una persona. La diferencia está en de dónde sale la lógica y en cómo se comporta ante situaciones nuevas.
| Aspecto | Programación tradicional / automatización | Inteligencia artificial |
|---|---|---|
| Origen de la lógica | La escribe explícitamente el programador | Se deduce de datos, ejemplos o de un proceso de búsqueda/razonamiento |
| Entradas | Estructuradas y previstas de antemano | Pueden ser no estructuradas (texto, imágenes, voz) o situaciones no previstas |
| Comportamiento ante casos nuevos | Falla o ignora lo que no está contemplado | Generaliza (con mayor o menor acierto) |
| Salida | Determinista: misma entrada, misma salida | A menudo probabilística: "85 % de probabilidad de fraude" |
| Mantenimiento | Cambiar el código a mano | Reentrenar con nuevos datos, ajustar objetivos |
| Explicabilidad | Alta: se puede leer el código | Variable: desde reglas legibles hasta "cajas negras" |
| Ejemplo NovaMarket | "Si el pedido supera 50 €, envío gratis" | "Predecir cuántas unidades del producto X se venderán la semana que viene" |
La forma clásica de expresarlo, popularizada por Andrew Ng y otros, es esta:
flowchart LR
subgraph T[Programación tradicional]
A1[Datos] --> P1[Programa escrito a mano] --> R1[Resultados]
end
subgraph M[Machine learning]
A2[Datos] --> P2[Algoritmo de aprendizaje]
R2[Resultados conocidos] --> P2
P2 --> P3[Programa aprendido = modelo]
end
En la programación tradicional metemos datos y un programa y obtenemos resultados. En el aprendizaje automático metemos datos y resultados conocidos (ejemplos), y el algoritmo produce el programa (el modelo), que luego usaremos con datos nuevos. Ojo: el machine learning es solo una parte de la IA, como veremos ahora, pero es la parte que más ha crecido.
Un matiz importante: no toda IA aprende de datos. Un planificador de rutas que encuentra el camino más corto por búsqueda, o un sistema experto que aplica reglas de garantía, son IA sin machine learning. Y no toda automatización es IA, aunque muchos departamentos de marketing quieran que lo parezca.
- IA, machine learning y deep learning: círculos concéntricos
Tres términos que se usan como sinónimos y no lo son:
- Inteligencia artificial (IA): el campo completo. Incluye búsqueda, planificación, lógica, sistemas expertos, robótica, aprendizaje, etc.
- Machine learning (ML, aprendizaje automático): el subconjunto de la IA en el que el sistema mejora su rendimiento a partir de datos, en lugar de ser programado explícitamente. Incluye desde la regresión lineal hasta los árboles de decisión.
- Deep learning (DL, aprendizaje profundo): el subconjunto del ML que usa redes neuronales con muchas capas. Es responsable de los grandes avances desde 2012 (visión, voz, lenguaje, generación).
flowchart TB
subgraph IA[Inteligencia Artificial]
direction TB
S[Búsqueda y planificación]
L[Lógica y sistemas expertos]
R[Robótica]
subgraph ML[Machine Learning]
direction TB
C[Regresión, árboles, k-vecinos...]
subgraph DL[Deep Learning]
N[Redes neuronales profundas]
G[Transformers / IA generativa]
end
end
end
Algunas consecuencias prácticas de este esquema:
| Afirmación | ¿Correcta? | Por qué |
|---|---|---|
| "Todo deep learning es machine learning" | Sí | DL ⊂ ML |
| "Todo machine learning es IA" | Sí | ML ⊂ IA |
| "Toda IA es machine learning" | No | La búsqueda A*, minimax o un sistema experto no aprenden de datos |
| "La IA generativa es deep learning" | Sí (en la práctica actual) | Los modelos generativos modernos son redes profundas, casi siempre transformers o modelos de difusión |
| "Un chatbot de reglas es deep learning" | No | Es IA simbólica (reglas), como ELIZA |
En NovaMarket, este esquema ayuda a Marta a hablar con precisión: la previsión de demanda será probablemente ML clásico; la clasificación de reseñas podría hacerse con ML clásico o con deep learning; las rutas de reparto son búsqueda (IA sin aprendizaje); las reglas de devoluciones son un sistema experto.
- Ejemplo en Python: regla escrita a mano frente a regla aprendida
Vamos a hacer tangible la diferencia entre "programar la lógica" y "aprender la lógica" con un ejemplo minúsculo y sin librerías. Situación: NovaMarket quiere marcar los pedidos con riesgo de devolución para que Diego los revise antes de enviarlos. Disponemos de unos pocos pedidos históricos de pedidos.csv, con el importe y si finalmente se devolvieron o no.
5.1 La regla escrita a mano
Diego, por experiencia, cree que los pedidos caros se devuelven más. Escribe:
def riesgo_manual(importe):
"""Regla escrita a mano por Diego: umbral fijo en 300 euros."""
return importe > 300 # True = riesgo de devoluciónSencilla, legible... y basada en una intuición. ¿Es 300 el umbral correcto? Nadie lo sabe.
5.2 La regla aprendida de los datos
Marta propone otra cosa: dejar que los datos elijan el umbral. La forma más simple posible de "aprender" es probar muchos umbrales y quedarnos con el que mejor separa los pedidos devueltos de los no devueltos en los datos históricos.
# Datos históricos: (importe en euros, se_devolvio)
historico = [
(25, False), (40, False), (60, False), (95, False), (120, False),
(150, True), (180, True), (210, True), (260, True), (320, True),
(450, True), (80, True), (500, False),
]
def aciertos(umbral, datos):
"""Cuenta cuántos pedidos clasifica bien la regla 'importe > umbral'."""
correctos = 0
for importe, se_devolvio in datos:
prediccion = importe > umbral
if prediccion == se_devolvio:
correctos += 1
return correctos
def aprender_umbral(datos):
"""Prueba todos los importes como posibles umbrales y devuelve el mejor."""
mejor_umbral = None
mejor_aciertos = -1
for importe, _ in datos: # cada importe es un umbral candidato
n = aciertos(importe, datos)
if n > mejor_aciertos:
mejor_aciertos = n
mejor_umbral = importe
return mejor_umbral, mejor_aciertos
umbral, n = aprender_umbral(historico)
print("Umbral aprendido:", umbral, "-> acierta", n, "de", len(historico))
print("Umbral de Diego (300) -> acierta", aciertos(300, historico), "de", len(historico))
def riesgo_aprendido(importe):
return importe > umbral
print(riesgo_aprendido(200)) # ¿tiene riesgo un pedido de 200 euros?Salida:
Vamos paso a paso:
historicoson nuestros datos de entrenamiento: ejemplos con la respuesta correcta conocida (Truesi el pedido se devolvió).aciertos(umbral, datos)mide lo bien que funciona una regla concreta: recorre los ejemplos, aplica la reglaimporte > umbraly cuenta cuántas veces coincide con la realidad. Esto es, en miniatura, una métrica de evaluación.aprender_umbral(datos)es nuestro algoritmo de aprendizaje: prueba como umbral cada importe que aparece en los datos y se queda con el que más aciertos consigue. Aquí no hay intuición: el umbral lo eligen los datos.riesgo_aprendidoes el modelo resultante: tiene la misma forma que la regla de Diego (importe > algo), pero el "algo" se ha aprendido.
Observaciones:
- Con este histórico, el umbral aprendido (120 €) acierta 11 de 13, y el de Diego, 7 de 13. Los datos han corregido la intuición.
- Hay dos ejemplos que ninguna regla de umbral clasificaría bien: un pedido de 80 € que se devolvió y uno de 500 € que no. Es una pista de que el importe solo no basta: haría falta añadir más información (categoría del producto, cliente nuevo o habitual...). Elegir esas variables es la "preparación de características" del módulo 4.
- Si mañana llegan más pedidos, basta con reentrenar (volver a ejecutar
aprender_umbral) en lugar de convencer a Diego de que cambie el 300 por otro número. - Con 13 ejemplos el umbral es poco fiable; con miles sería otra cosa. Cómo saber si un modelo es fiable se trata en la lección 04-05.
Este ejemplo es machine learning en su forma más rudimentaria (un "árbol de decisión" de una sola pregunta). Todo lo que veremos en los módulos 4 y 5 es una versión más sofisticada de la misma idea: definir una familia de reglas posibles, medir cómo de bien funcionan y buscar la mejor.
- Mapa de áreas de la IA
La IA se organiza en áreas que se solapan pero tienen problemas, técnicas y comunidades propias. Aquí presentamos las ocho más relevantes; algunas se desarrollan en módulos posteriores y aquí solo se ubican.
6.1 Aprendizaje automático (machine learning)
- Qué resuelve: encontrar patrones en datos para predecir (¿cuánto venderemos?), clasificar (¿es fraude?), agrupar (¿qué tipos de clientes tenemos?) o recomendar.
- Ejemplo cotidiano: el filtro de spam de tu correo, que aprende de los mensajes que marcas.
- Se estudia en: módulo 4 (y su versión profunda, módulo 5).
6.2 Procesamiento del lenguaje natural (PLN / NLP)
- Qué resuelve: que las máquinas trabajen con texto y habla humanos: entender, clasificar, traducir, resumir, responder, generar.
- Ejemplo cotidiano: el traductor del móvil, el autocompletado del teclado, un asistente de voz.
- Se estudia en: lecciones 05-04 y 05-05 (hoy el PLN se basa sobre todo en deep learning y transformers).
6.3 Visión por computador
- Qué resuelve: interpretar imágenes y vídeo: reconocer objetos, caras, texto, defectos; segmentar; estimar movimiento.
- Ejemplo cotidiano: desbloquear el móvil con la cara; la cámara que detecta matrículas en un parking.
- Se estudia en: lección 05-04.
6.4 Robótica
- Qué resuelve: que máquinas físicas perciban su entorno y actúen en él (moverse, manipular objetos), integrando sensores, control y planificación.
- Ejemplo cotidiano: un robot aspirador que mapea la casa; los brazos robóticos de una fábrica de coches.
- Se estudia en: transversalmente (usa búsqueda, visión y aprendizaje).
6.5 Sistemas expertos y representación del conocimiento
- Qué resuelve: capturar el conocimiento de expertos en forma de reglas, hechos y relaciones (ontologías) para razonar sobre ellos y explicar las conclusiones.
- Ejemplo cotidiano: el asistente de un banco que decide si concede una tarjeta aplicando la normativa; los sistemas de ayuda al diagnóstico médico.
- Se estudia en: módulo 6.
6.6 Búsqueda y planificación
- Qué resuelve: encontrar una secuencia de acciones (o una configuración) que lleve de una situación inicial a un objetivo, a menudo minimizando un coste: rutas, horarios, asignaciones, jugadas.
- Ejemplo cotidiano: el navegador GPS que calcula la ruta más rápida; el ajedrez del ordenador.
- Se estudia en: módulo 3.
6.7 Agentes inteligentes
- Qué resuelve: organizar un sistema como una entidad que percibe, decide y actúa de forma autónoma en un entorno, posiblemente colaborando con otros agentes.
- Ejemplo cotidiano: un termostato inteligente que aprende tus horarios; los personajes no jugadores de un videojuego; los agentes de software que ejecutan tareas por ti.
- Se estudia en: lección 02-01 (aquí solo lo ubicamos).
6.8 IA generativa
- Qué resuelve: crear contenido nuevo (texto, imágenes, audio, código, vídeo) a partir de instrucciones, aprendiendo la distribución de grandes colecciones de ejemplos.
- Ejemplo cotidiano: un asistente conversacional que redacta un correo; una herramienta que genera una imagen a partir de una descripción.
- Se estudia en: lección 05-05.
Tabla resumen
| Área | Pregunta típica | Entrada | Salida | Técnica principal hoy |
|---|---|---|---|---|
| Machine learning | ¿Qué pasará / a qué clase pertenece? | Tablas de datos | Predicción, clase, grupo | Modelos estadísticos, árboles, redes |
| PLN | ¿Qué dice este texto? | Texto, voz | Clase, resumen, traducción, respuesta | Transformers |
| Visión | ¿Qué hay en esta imagen? | Píxeles | Etiquetas, cajas, segmentos | Redes convolucionales, transformers |
| Robótica | ¿Cómo me muevo y actúo? | Sensores | Movimientos | Control + búsqueda + aprendizaje |
| Sistemas expertos | ¿Qué concluye la normativa/el experto? | Hechos | Diagnóstico, decisión explicada | Reglas, lógica, ontologías |
| Búsqueda y planificación | ¿Qué camino/plan es mejor? | Estado inicial, objetivo | Secuencia de acciones | A*, minimax, heurísticas, optimización |
| Agentes | ¿Qué hago ahora? | Percepciones | Acciones | Arquitecturas de agente, refuerzo |
| IA generativa | Crea X a partir de Y | Instrucción (prompt) | Texto, imagen, código | Transformers, difusión |
- Qué necesitaría NovaMarket de cada área
Bajemos el mapa a tierra. Para cada área, ¿qué problema de NovaMarket resolvería y qué haría falta para abordarlo? (En la lección siguiente, 01-03, convertiremos esto en un plan de casos de uso; aquí solo conectamos áreas con necesidades).
| Área | Problema de NovaMarket | Qué necesitaría |
|---|---|---|
| Machine learning | Prever la demanda semanal por producto; detectar pedidos fraudulentos o con alta probabilidad de devolución | Histórico limpio de pedidos.csv y productos.csv; definir qué es "fraude" o "devolución" para etiquetar |
| PLN | Clasificar automáticamente resenas.csv (positiva/negativa, tema: envío, calidad, precio); entender las consultas de clientes |
Reseñas etiquetadas para entrenar o un modelo preentrenado; ejemplos de conversaciones reales |
| Visión | Detectar productos dañados a partir de las fotos que envían los clientes en las incidencias; leer etiquetas en el almacén | Fotos suficientes de productos dañados y no dañados; cámaras en el almacén |
| Robótica | A medio plazo, robots de picking en los almacenes de Zaragoza y Getafe | Inversión en hardware; hoy no es prioritario |
| Sistemas expertos | Automatizar las reglas de devoluciones y garantías; diagnóstico guiado de incidencias de pedidos | Que Diego y el equipo legal formalicen las reglas por escrito; incidencias.csv para validar |
| Búsqueda y planificación | Planificar las rutas de reparto en la ciudad; asignar pedidos a repartidores y almacenes | El grafo de la ciudad (calles, tiempos), restricciones de capacidad y horarios |
| Agentes | Un asistente de atención al cliente que consulte el estado del pedido y actúe (reenviar, tramitar devolución) | Integración con los sistemas internos; políticas claras sobre qué puede hacer solo |
| IA generativa | Redactar descripciones de productos, resumir reseñas, responder en lenguaje natural | Acceso a un modelo de lenguaje; revisión humana; cuidado con datos personales |
Fíjate en una cosa: una misma necesidad de negocio puede tocar varias áreas. El "asistente de atención al cliente" combina PLN (entender la pregunta), IA generativa (redactar la respuesta), un agente (decidir qué acción tomar) y quizá un sistema experto (aplicar la política de devoluciones). Por eso el mapa es una herramienta de análisis, no cajones estancos.
Errores Comunes y Consejos
- Llamar IA a cualquier automatización. Un
ifno es IA. Pregúntate: ¿la lógica la escribió una persona o se ha obtenido de datos/búsqueda/razonamiento? ¿Cómo se comporta ante casos no previstos? - Usar IA, machine learning y deep learning como sinónimos. Son círculos concéntricos: DL ⊂ ML ⊂ IA. Decir "vamos a hacer deep learning" cuando tienes 200 filas en una tabla suele ser un error; decir "esto no es IA porque no usa redes neuronales" también.
- Creer que hace falta machine learning para todo. Las rutas de reparto o las reglas de garantía de NovaMarket se resuelven mejor con búsqueda y reglas que con un modelo entrenado. Elegir el área adecuada es la mitad del trabajo.
- Fiarse de una "regla aprendida" con pocos datos. En el ejemplo, 13 pedidos bastan para ilustrar la idea, no para tomar decisiones. La cantidad y calidad de los datos importan (lección 02-03).
- Consejo: cuando alguien te proponga "usar IA" para algo, tradúcelo mentalmente a una fila de la tabla de áreas: ¿qué pregunta responde, con qué entrada, qué salida y con qué técnica? Si no puedes rellenar la fila, el problema aún no está bien definido.
Ejercicios
Ejercicio 1: ¿IA o no IA?
Para cada sistema, indica si lo considerarías IA (y en qué área encajaría) o programación tradicional, justificando en una frase:
a) Un programa que envía un correo automático cuando un pedido cambia a "enviado". b) Un programa que, a partir de las fotos de un cliente, decide si el paquete llegó dañado. c) Un programa que calcula el IVA de cada línea del pedido. d) Un programa que ordena las visitas de un repartidor para minimizar los kilómetros. e) Un programa que aplica la política escrita de devoluciones (plazos, estado del producto) y explica por qué acepta o rechaza. f) Un programa que sugiere "otros clientes también compraron..." a partir del historial de compras.
Ejercicio 2: Círculos concéntricos
Clasifica en el diagrama IA / ML / DL: (1) minimax para jugar a las damas; (2) un modelo que predice el precio de una vivienda con una recta ajustada a los datos; (3) un transformer que traduce reseñas del catalán al español; (4) el motor de reglas de una compañía de seguros; (5) una red neuronal de 30 capas que reconoce productos en fotos.
Ejercicio 3: Mejorar la regla aprendida
En el ejemplo de la sección 5, el modelo solo puede aprender reglas de la forma importe > umbral. Amplía el código para que también pruebe reglas de la forma importe < umbral y elija la mejor de todas (indicando la dirección). Ejecuta con los mismos datos y comprueba si cambia el resultado. Después, sustituye el histórico por este otro y observa qué ocurre:
historico2 = [(20, True), (35, True), (50, True), (90, False), (150, False), (300, False), (30, False)]Soluciones
Solución 1
| Sistema | ¿IA? | Área / justificación |
|---|---|---|
| a) Correo al cambiar estado | No | Regla fija escrita a mano; automatización clásica |
| b) Detectar daños en fotos | Sí | Visión por computador; la lógica se aprende de ejemplos, entrada no estructurada |
| c) Calcular el IVA | No | Fórmula determinista, sin incertidumbre ni aprendizaje |
| d) Ordenar visitas del repartidor | Sí | Búsqueda y planificación (optimización de rutas), aunque no aprende de datos |
| e) Aplicar la política de devoluciones con explicación | Sí (frontera) | Sistema experto: reglas escritas por humanos pero con motor de razonamiento y explicación; muchos lo considerarían IA simbólica clásica |
| f) "Otros clientes también compraron" | Sí | Machine learning (recomendación): los patrones salen de los datos |
Nota sobre (e): es el caso más discutible. Un solo if no es IA; un motor que encadena decenas de reglas, resuelve conflictos y explica sus conclusiones es lo que históricamente se llamó sistema experto. La frontera es difusa, y eso también es una lección.
Solución 2
- (1) Minimax: IA, pero no ML (búsqueda con adversario).
- (2) Recta ajustada a datos (regresión lineal): ML, pero no DL.
- (3) Transformer traductor: DL (y por tanto ML e IA).
- (4) Motor de reglas de seguros: IA simbólica, no ML (sistema experto).
- (5) Red de 30 capas: DL.
Solución 3
def aciertos_dir(umbral, direccion, datos):
correctos = 0
for importe, se_devolvio in datos:
if direccion == ">":
prediccion = importe > umbral
else:
prediccion = importe < umbral
if prediccion == se_devolvio:
correctos += 1
return correctos
def aprender_regla(datos):
mejor = (None, None, -1) # (umbral, direccion, aciertos)
for importe, _ in datos:
for direccion in (">", "<"):
n = aciertos_dir(importe, direccion, datos)
if n > mejor[2]:
mejor = (importe, direccion, n)
return mejor
print(aprender_regla(historico)) # -> (120, '>', 11)
print(aprender_regla(historico2)) # -> (90, '<', 6)Con el histórico original, la mejor regla sigue siendo importe > 120 (11 aciertos): añadir la dirección < no ayuda porque los pedidos caros son los que se devuelven. Con historico2 la situación se invierte: son los pedidos baratos los que se devuelven, y el algoritmo lo descubre solo, aprendiendo importe < 90 con 6 aciertos de 7. Ese es el punto clave de la lección: la misma pieza de código aprende reglas distintas según los datos, sin que nadie tenga que reescribir la lógica. Diego, con su regla manual, habría necesitado darse cuenta del cambio y modificar el código.
Conclusión
En esta lección hemos dado una definición de trabajo de la inteligencia artificial (sistemas que perciben, razonan o aprenden y actúan para alcanzar objetivos), hemos situado las cuatro visiones de Russell y Norvig y adoptado la de "actuar racionalmente", hemos distinguido la IA de la automatización tradicional (la lógica se aprende o se busca en lugar de escribirse) y hemos aclarado que el deep learning es un subconjunto del machine learning, que a su vez es un subconjunto de la IA. Con un ejemplo mínimo en Python hemos visto la diferencia entre una regla escrita a mano y una regla aprendida de los datos, y hemos trazado un mapa de ocho áreas (aprendizaje automático, PLN, visión, robótica, sistemas expertos, búsqueda y planificación, agentes e IA generativa), conectando cada una con las necesidades de NovaMarket.
Ya tenemos el vocabulario y el mapa. En la siguiente lección, Aplicaciones de la IA en la Vida Real, recorreremos sector por sector cómo se usan estas áreas hoy (salud, transporte, finanzas, comercio, industria...) y, sobre todo, fijaremos la lista de casos de uso candidatos de NovaMarket que guiará el resto del curso.
Fundamentos de Inteligencia Artificial (IA)
Módulo 1: Introducción a la Inteligencia Artificial
Módulo 2: Principios Básicos de la IA
- Conceptos Fundamentales: Agentes, Entornos y Racionalidad
- Tipos de Inteligencia Artificial
- Los Datos como Materia Prima de la IA
- Ética y Consideraciones en IA
Módulo 3: Algoritmos en IA
- Introducción a los Algoritmos
- Algoritmos de Búsqueda
- Búsqueda con Adversario: Juegos y Minimax
- Algoritmos de Optimización
Módulo 4: Aprendizaje Automático (Machine Learning)
- Conceptos Básicos de Machine Learning
- Tipos de Aprendizaje Automático
- Preparación de Datos y Características
- Algoritmos de Machine Learning
- Evaluación y Validación de Modelos
- Sobreajuste, Regularización y Ajuste de Hiperparámetros
Módulo 5: Redes Neuronales y Deep Learning
- Introducción a las Redes Neuronales
- Arquitectura de Redes Neuronales
- Cómo Aprende una Red: Descenso del Gradiente y Retropropagación
- Deep Learning y sus Aplicaciones
- Transformers, Grandes Modelos de Lenguaje e IA Generativa
Módulo 6: Lógica y Sistemas Expertos
- Lógica en IA
- Sistemas Expertos
- Razonamiento con Incertidumbre: Probabilidad y Redes Bayesianas
- Aplicaciones de Sistemas Expertos
Módulo 7: Herramientas y Lenguajes de Programación en IA
- Lenguajes de Programación para IA
- Python Científico: NumPy, pandas y Matplotlib
- Herramientas y Librerías Populares
- Entornos de Desarrollo
Módulo 8: Proyectos y Casos de Estudio
Módulo 9: Ejercicios y Prácticas
- Ejercicios de Algoritmos
- Prácticas de Machine Learning
- Proyectos de Redes Neuronales
- Proyecto Integrador: de la Idea al Prototipo
