Bienvenido al Curso de Inteligencia Artificial

¡Explora el fascinante mundo de la IA! Este curso te guiará desde los conceptos básicos hasta la creación de proyectos prácticos. Aprenderás a usar herramientas como Python, scikit-learn y TensorFlow para resolver problemas reales.

La IA permite a las máquinas realizar tareas que requieren inteligencia humana, como aprender de datos, reconocer patrones o tomar decisiones. Este curso está diseñado para principiantes y entusiastas de la tecnología.

¿Qué aprenderás?

  • Conceptos fundamentales de IA y sus aplicaciones.
  • Técnicas de machine learning y data mining.
  • Construcción de redes neuronales con TensorFlow.
  • Consideraciones éticas en el desarrollo de IA.
  • Proyectos prácticos para aplicar tus conocimientos.

Aprendizaje

Machine Learning

Redes

Neuronales

Datos

Data Mining

Módulo 1: ¿Qué es la Inteligencia Artificial?

La IA es una rama de la informática que desarrolla sistemas capaces de realizar tareas que normalmente requieren inteligencia humana, como el aprendizaje, la percepción, el razonamiento o la interacción.

Tipos de IA

  • IA Débil (Narrow AI): Diseñada para tareas específicas, como asistentes virtuales (Siri, Alexa) o sistemas de recomendación (Netflix).
  • IA General (AGI): Capaz de realizar cualquier tarea intelectual humana. Aún en investigación.
  • IA Fuerte (Superinteligencia): Supera la inteligencia humana en todas las áreas. Es un concepto teórico.

Aplicaciones de la IA

La IA está presente en:

  • Salud: Diagnósticos médicos basados en imágenes.
  • Finanzas: Detección de fraudes.
  • Transporte: Vehículos autónomos.
  • Entretenimiento: Generación de música o arte.
Ejemplo – Sistema Recomendador

Un sistema de recomendación usa filtrado colaborativo para sugerir películas basadas en las preferencias de usuarios similares.

Algoritmo de filtrado colaborativo

Usuario

Datos

Recomendaciones

Ejercicio 1: Identifica tres ejemplos de IA débil en tu vida diaria. Describe cómo funcionan.
Ejercicio 2: Investiga una aplicación de IA en la industria de tu interés (ej. agricultura, educación). Escribe un párrafo explicando su impacto.

Módulo 2: Machine Learning

El aprendizaje automático (ML) es una rama de la IA que permite a los sistemas aprender de datos sin programación explícita. Se basa en algoritmos que identifican patrones y hacen predicciones.

Tipos de Machine Learning

  1. Supervisado: Usa datos etiquetados para predecir resultados (ej. clasificación de correos como spam/no spam, regresión para precios de casas).
  2. No Supervisado: Encuentra patrones en datos sin etiquetas (ej. clustering de clientes, reducción de dimensionalidad).
  3. Por Refuerzo: Aprende mediante prueba y error, maximizando recompensas (ej. IA en juegos como AlphaGo).

Flujo de Trabajo en ML

  • Recolección de datos.
  • Preprocesamiento (limpieza, normalización).
  • Selección y entrenamiento de un modelo.
  • Evaluación con métricas (precisión, F1-score).
  • Optimización (ajuste de hiperparámetros).
Ejemplo – Clasificación con scikit-learn

Clasificamos flores del dataset Iris usando regresión logística:

# Importar bibliotecas
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_iris

# Cargar datos
iris = load_iris()
X, y = iris.data, iris.target

# Dividir en entrenamiento y prueba (80/20)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Crear y entrenar modelo
model = LogisticRegression(max_iter=200)
model.fit(X_train, y_train)

# Evaluar modelo
accuracy = model.score(X_test, y_test)
print(f»Precisión: {accuracy:.2f}»)
Ejercicio 1: Modifica el código anterior para usar un clasificador K-Nearest Neighbors (KNN). Compara la precisión.
Ejercicio 2: Usa el dataset de dígitos de scikit-learn (`load_digits`) para entrenar un modelo de clasificación. Reporta la precisión.

Módulo 3: Data Mining

Data mining es el proceso de descubrir patrones y conocimientos en grandes conjuntos de datos, combinando técnicas de ML, estadística y bases de datos.

Técnicas Comunes

  • Clasificación: Predecir categorías (ej. spam/no spam).
  • Clustering: Agrupar datos similares (ej. segmentación de clientes).
  • Asociación: Encontrar relaciones (ej. reglas de mercado como «pan → mantequilla»).
  • Regresión: Predecir valores numéricos (ej. precios).
  • Reducción de Dimensionalidad: Simplificar datos manteniendo información clave (ej. PCA).

Herramientas Populares

Herramientas como Python (pandas, scikit-learn), R, y plataformas como RapidMiner o KNIME son comunes en data mining.

Ejemplo – Clustering con K-Means

Agrupamos puntos de datos en dos clusters usando K-Means:

# Importar bibliotecas
from sklearn.cluster import KMeans
import numpy as np

# Crear datos de ejemplo
X = np.array([[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]])

# Aplicar K-Means con 2 clusters
kmeans = KMeans(n_clusters=2, random_state=0).fit(X)

# Resultados
print(«Centroides:», kmeans.cluster_centers_)
print(«Etiquetas de cluster:», kmeans.labels_)
Ejercicio 1: Usa el dataset de iris para aplicar K-Means. Visualiza los clusters con matplotlib.
Ejercicio 2: Implementa un análisis de reglas de asociación con el dataset «Market Basket» en Kaggle. Identifica al menos tres reglas interesantes.

Módulo 4: Redes Neuronales

Las redes neuronales son modelos computacionales inspirados en el cerebro humano, ideales para tareas complejas como reconocimiento de imágenes, procesamiento de lenguaje natural y más.

Componentes de una Red Neuronal

Neuronas

Unidades de cálculo

Capas

Entrada, oculta, salida

Pesos

Conexiones ajustables

Tipos de Redes Neuronales

  • Perceptrón Multicapa (MLP): Para tareas de clasificación/regresión.
  • Convolucionales (CNN): Para imágenes.
  • Recurrentes (RNN): Para secuencias (ej. texto).
Ejemplo – Red Neuronal con TensorFlow

Construimos una red para clasificar el dataset Iris:

# Importar bibliotecas
import tensorflow as tf
from tensorflow.keras import layers
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split

# Cargar y preparar datos
iris = load_iris()
X, y = iris.data, iris.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# Crear modelo
model = tf.keras.Sequential([
layers.Dense(64, activation=’relu’, input_shape=(4,)),
layers.Dense(32, activation=’relu’),
layers.Dense(3, activation=’softmax’)
])

# Compilar modelo
model.compile(optimizer=’adam’, loss=’sparse_categorical_crossentropy’, metrics=[‘accuracy’])

# Entrenar modelo
model.fit(X_train, y_train, epochs=50, batch_size=16, verbose=0)

# Evaluar
loss, accuracy = model.evaluate(X_test, y_test, verbose=0)
print(f»Precisión: {accuracy:.2f}»)
Ejercicio 1: Entrena la red neuronal anterior con diferentes hiperparámetros (ej. más capas, tasa de aprendizaje). Compara resultados.
Ejercicio 2: Usa TensorFlow para construir una CNN simple con el dataset MNIST. Reporta la precisión.

Módulo 5: Ética en Inteligencia Artificial

La IA plantea desafíos éticos que deben abordarse para garantizar su desarrollo responsable. Estos incluyen sesgos, privacidad, transparencia y el impacto social.

Principios Éticos

Equidad

Evitar sesgos

Privacidad

Proteger datos

Transparencia

Explicar decisiones

Desafíos Éticos

  • Sesgo: Modelos entrenados con datos sesgados pueden perpetuar desigualdades.
  • Privacidad: El uso de datos personales sin consentimiento es un riesgo.
  • Desempleo: La automatización puede desplazar trabajos.
  • Seguridad: IA maliciosa (deepfakes, ciberataques).
Ejemplo – Sesgo en IA

Un modelo de contratación entrenado con CVs históricos favoreció a hombres porque los datos reflejaban un sesgo de género pasado. Solución: usar datos balanceados y técnicas de auditoría.

Ejercicio 1: Investiga un caso real de sesgo en IA (ej. reconocimiento facial). Describe el problema y posibles soluciones.
Ejercicio 2: Escribe un ensayo corto sobre cómo garantizar la privacidad en aplicaciones de IA como chatbots.

Módulo 6: Proyectos Prácticos de IA

Aplica los conocimientos adquiridos para desarrollar proyectos de IA que resuelvan problemas reales. Los proyectos combinan ML, data mining y redes neuronales.

Proyectos Sugeridos

  • Clasificador de Imágenes: Identifica objetos en fotos usando CNN.
  • Chatbot: Crea un asistente conversacional con NLP.
  • Análisis de Sentimientos: Clasifica reseñas como positivas o negativas.
  • Predicción de Precios: Estima precios de productos con regresión.
  • Sistema de Recomendación: Sugiere productos basados en preferencias.
Ejemplo – Análisis de Sentimientos

Construimos un modelo LSTM para clasificar tweets:

# Importar bibliotecas
import tensorflow as tf
from tensorflow.keras import layers
from tensorflow.keras.preprocessing.text import Tokenizer
from tensorflow.keras.preprocessing.sequence import pad_sequences

# Datos de ejemplo (simulados)
texts = [«Me encanta este producto!», «Pésima experiencia, no lo recomiendo»]
labels = [1, 0] # 1: positivo, 0: negativo

# Preprocesar texto
tokenizer = Tokenizer(num_words=1000)
tokenizer.fit_on_texts(texts)
sequences = tokenizer.texts_to_sequences(texts)
padded = pad_sequences(sequences, maxlen=50)

# Crear modelo LSTM
model = tf.keras.Sequential([
layers.Embedding(1000, 16, input_length=50),
layers.LSTM(32),
layers.Dense(1, activation=’sigmoid’)
])

# Compilar modelo
model.compile(optimizer=’adam’, loss=’binary_crossentropy’, metrics=[‘accuracy’])
model.summary()
Ejercicio 1: Diseña un clasificador de spam para correos electrónicos. Describe los pasos, datos y modelo.
Ejercicio 2: Implementa un sistema de recomendación simple usando filtrado colaborativo con el dataset MovieLens.

Módulo 7: Temas Avanzados en IA

Explora técnicas y conceptos avanzados que están transformando la IA, desde modelos generativos hasta privacidad en el aprendizaje automático.

Temas Avanzados

  • Aprendizaje Profundo (Deep Learning): Redes neuronales complejas para tareas como visión computacional y NLP.
  • Procesamiento de Lenguaje Natural (NLP): Modelos como Transformers (BERT, GPT) para traducción, chatbots y más.
  • IA Explicativa (XAI): Métodos para interpretar decisiones de modelos complejos.
  • Federated Learning: Entrenamiento distribuido que respeta la privacidad de los datos.
  • Generación de Contenido: Modelos como GANs para crear imágenes, música o texto.

Aplicaciones Avanzadas

Estos avances se usan en:

  • Generación de deepfakes (con consideraciones éticas).
  • Traducción automática en tiempo real.
  • Diagnósticos médicos precisos con visión computacional.
  • Asistentes virtuales conversacionales avanzados.
Ejemplo – Generación de Imágenes con GAN

Construimos un generador simple para imágenes MNIST:

# Importar bibliotecas
import tensorflow as tf
from tensorflow.keras import layers

# Definir generador
generator = tf.keras.Sequential([
layers.Dense(256, activation=’relu’, input_dim=100),
layers.Dense(512, activation=’relu’),
layers.Dense(784, activation=’sigmoid’),
layers.Reshape((28, 28, 1))
])

# Resumen del modelo
generator.summary()
Ejercicio 1: Investiga cómo funcionan los Transformers en modelos como BERT. Describe una aplicación en NLP.
Ejercicio 2: Explora una biblioteca de XAI (ej. SHAP) y aplica un método para explicar un modelo de ML simple.

Módulo 8: Errores Comunes y Próximos Pasos

Evitar errores comunes en IA y planificar tu aprendizaje continuo te permitirá desarrollar modelos robustos y avanzar en este campo dinámico.

Errores Comunes

  • Sobreajustamiento (Overfitting): El modelo memoriza datos de entrenamiento y falla en datos nuevos.
  • Datos Desbalanceados: Clases desiguales afectan la precisión (ej. 90% clase A, 10% clase B).
  • Falta de Preprocesamiento: Datos con valores nulos, outliers o ruido generan resultados erróneos.
  • Mal Elección de Métricas: Usar precisión en problemas desbalanceados (mejor usar F1-score).
  • Hiperparámetros Incorrectos: Tasa de aprendizaje muy alta/baja afecta el entrenamiento.

Soluciones y Buenas Prácticas

  • Regularización: Usa dropout o penalización L1/L2 para evitar sobreajuste.
  • Balanceo de Datos: Técnicas como oversampling (SMOTE) o undersampling.
  • Validación Cruzada: Divide datos en k-folds para evaluar modelos robustos.
  • Análisis Exploratorio: Visualiza datos antes de entrenar (ej. con pandas, seaborn).
  • Monitoreo: Usa herramientas como TensorBoard para rastrear el entrenamiento.
Ejemplo – Solución de Sobreajustamiento

Aplicamos dropout a una red neuronal para reducir sobreajuste:

# Importar bibliotecas
import tensorflow as tf
from tensorflow.keras import layers

# Crear modelo con dropout
model = tf.keras.Sequential([
layers.Dense(64, activation=’relu’, input_shape=(4,)),
layers.Dropout(0.3), # Desactiva 30% de neuronas
layers.Dense(32, activation=’relu’),
layers.Dropout(0.3),
layers.Dense(3, activation=’softmax’)
])

# Compilar modelo
model.compile(optimizer=’adam’, loss=’sparse_categorical_crossentropy’, metrics=[‘accuracy’])
model.summary()

Próximos Pasos

Para avanzar en IA:

  • Participa en competiciones en Kaggle.
  • Explora áreas específicas (visión computacional, NLP).
  • Aprende frameworks avanzados (PyTorch, FastAI).
  • Contribuye a proyectos de código abierto en GitHub.
  • Sigue cursos avanzados (ej. Deep Learning Specialization en Coursera).
Ejercicio 1: Diseña un pipeline de ML para predecir precios de autos. Incluye preprocesamiento, modelo y evaluación.
Ejercicio 2: Identifica un problema de sobreajuste en un modelo que hayas entrenado. Aplica una técnica de regularización y reporta mejoras.

Quiz Final

1. ¿Qué distingue a la IA general de la IA débil?

La IA general (AGI) puede realizar cualquier tarea intelectual humana, mientras que la IA débil está limitada a tareas específicas.

2. ¿Qué tipo de ML usa datos sin etiquetas?

El aprendizaje no supervisado trabaja con datos sin etiquetas para encontrar patrones, como en clustering.

3. ¿Qué técnica de data mining agrupa datos similares?

Clustering agrupa datos similares sin etiquetas, como segmentar clientes.

4. ¿Qué biblioteca se usa para redes neuronales en Python?

TensorFlow es una biblioteca especializada para construir y entrenar redes neuronales.

5. ¿Qué principio ético evita sesgos en IA?

La equidad busca minimizar sesgos para garantizar resultados justos.

6. ¿Qué técnica evita el sobreajuste en ML?

La regularización (ej. dropout, L2) penaliza modelos complejos para evitar sobreajuste.

© 2025 Curso de Introducción a la Inteligencia Artificial | Todos los derechos reservados