Perfilado de sección

  • Curso de Inteligencia Artificial Aplicada con Python

    ¡Bienvenidos al Curso de Inteligencia Artificial Aplicada con Python!

    Es un placer para mí recibirles en este espacio de aprendizaje. Soy el Dr. Pedro Salcedo Lagos, profesor e investigador de la Universidad de Concepción, y tendré el honor de guiarlos durante este semestre a través de una de las disciplinas más fascinantes y disruptivas de nuestra era.

    En este curso no nos limitaremos únicamente a escribir líneas de código; nuestro objetivo es explorar y comprender la frontera de la cognición artificial. A lo largo de las próximas semanas, transitaremos desde los fundamentos del aprendizaje automático hasta las aplicaciones más avanzadas del procesamiento de lenguaje natural y la visión por computador. Además, proyectaremos nuestra mirada hacia el futuro de la disciplina, analizando cómo los sistemas actuales están evolucionando hacia arquitecturas cognitivas más complejas, como los Modelos del Mundo (World Models), capaces de simular, razonar y comprender la dinámica de su entorno.

    La Inteligencia Artificial ya no es ciencia ficción; es el motor tecnológico del presente. Los invito a participar activamente, a cuestionar los paradigmas establecidos y a construir soluciones innovadoras con un fuerte sentido ético y social.

    Dr. Pedro Salcedo Lagos

  • Bienvenidos a la primera semana de nuestra asignatura, donde estableceremos las bases de esta disciplina fundamental para nuestra facultad en la Universidad de Concepción. Comenzaremos analizando la evolución histórica de la IA, desde sus primeros modelos teóricos hasta su integración actual en diversas industrias. Es imperativo que, como futuros ingenieros, comprendan no solo la aplicación práctica, sino también la distinción clara entre los tipos de IA: débil, fuerte, general y específica. Esto nos permitirá dimensionar el verdadero alcance de las tecnologías actuales frente a la cognición humana. Finalmente, proyectaremos el curso hacia las fronteras más avanzadas, analizando cómo el paso de sistemas basados en reglas hacia arquitecturas cognitivas y Modelos del Mundo (World Models) está transformando el aprendizaje automático. Estos cimientos serán clave para todo nuestro semestre.

  • En esta segunda semana profundizaremos en el núcleo de la IA moderna: el aprendizaje automático. Analizaremos en detalle los tres paradigmas principales que guían el entrenamiento de los algoritmos: aprendizaje supervisado, no supervisado y por refuerzo. Cada problema en la industria requiere un enfoque distinto; etiquetar datos manualmente tiene un costo, por lo que elegir el paradigma correcto define el éxito de un proyecto. Veremos cómo diferenciar un escenario predictivo de uno de segmentación. Como académicos y desarrolladores, es crucial dominar la teoría detrás del refuerzo, donde los agentes aprenden mediante prueba y error en entornos simulados, una pieza clave en el desarrollo de arquitecturas más generalistas.

    •  Cómo crear un modelo de machine learning en Python (paso a paso)

      (En este video se implementa, desde cero y usando scikit-learn, un algoritmo supervisado de clasificación ideal para los conceptos de esta semana)

    • Descarga la base de datos "Titanic Survival" desde el siguiente enlace directo: Base de Datos Titanic (CSV). Utilizando Google Colab, crea un Notebook en Python que realice lo siguiente:

      1. Importa la librería pandas y carga el archivo CSV directamente desde la URL proporcionada.

      2. Imprime las primeras 15 filas del dataset.

      3. Escribe un comentario en el código identificando cuál sería la columna objetivo (target) si quisiéramos aplicar Aprendizaje Supervisado para predecir si un pasajero sobrevivió o no, y enumera tres columnas que usarías como variables predictoras (features).

    • Considerando los tres paradigmas revisados en clase, plantea un caso de uso real en la industria de la salud donde sea estrictamente necesario utilizar aprendizaje no supervisado (sin datos etiquetados) en lugar de supervisado. Justifica tu elección.

  • Cualquier modelo inteligente es tan bueno como los datos con los que se entrena. Durante esta semana nos enfocaremos en la limpieza, normalización y feature engineering (ingeniería de características). Aprenderemos a tratar valores nulos, detectar datos atípicos y escalar variables numéricas, pasos que consumen la mayor parte del tiempo de un científico de datos.

    En la búsqueda de desarrollar sistemas de Vida Artificial y ecosistemas digitales robustos, la calidad de los datos actúa como el entorno basal. Si queremos que nuestros agentes algorítmicos aprendan de forma autónoma, el preprocesamiento es la primera regla para evitar simulaciones erráticas.

    En mis trabajos sobre Modelos del Mundo, he comprobado que la generación de nuevas características (feature engineering) es donde verdaderamente se inyecta el conocimiento experto del dominio humano hacia la máquina, permitiendo que el modelo extraiga correlaciones que de otro modo pasarían desapercibidas.

    • Preprocesamiento de Datos en Machine Learning (Código Máquina)

    • LIMPIEZA DE DATOS con Python y Pandas

    • Descarga la base de datos de Diabetes de los Indios Pima desde este enlace directo: Pima Indians Diabetes Dataset (CSV). Utilizando Google Colab y Python, carga el CSV. Identifica cuántos valores iguales a 0 existen en las columnas de "Presión Sanguínea" y "Grosor del Pliegue Cutáneo" (que representan valores nulos biológicos) y aplica un método de imputación para reemplazarlos por la mediana de la columna.

    • Descarga la base de datos de Pingüinos (Palmer Penguins), ideal para limpieza, desde este enlace directo: Palmer Penguins Dataset (CSV). Utilizando Google Colab y Python, carga el CSV con Pandas. La base de datos tiene valores nulos (NaN) en varias columnas como la masa corporal. Tu tarea es:

      1. Identificar cuántos valores nulos hay por columna.

      2. Aplicar un método de imputación para reemplazar los nulos numéricos por el promedio de su respectiva columna.

      3. Eliminar las filas que tengan texto nulo (ej. la isla o el sexo).

    • ¿Qué impacto tiene en un modelo predictivo la decisión de rellenar valores nulos con el promedio vs. eliminar la fila completa?

  • Con los datos limpios, introduciremos las métricas de evaluación de modelos y el uso de bibliotecas fundamentales como NumPy, Pandas y Matplotlib. No basta con que un algoritmo ejecute una predicción; como ingenieros de la Universidad de Concepción, debemos cuantificar rigurosamente su eficacia.

    Abordaremos las principales métricas de evaluación de modelos: precisión, recall (sensibilidad) y F1-score. Entender cuándo priorizar la reducción de falsos positivos frente a los falsos negativos es crítico.

    Estas herramientas nos permitirán construir los cimientos de arquitecturas predictivas sólidas. Solo un modelo que puede ser medido con exactitud puede ser mejorado y eventualmente integrado en una arquitectura de IA general o de Vida Artificial.

    Video MATRIZ DE CONFUSIÓN y MÉTRICAS DE CLASIFICACIÓN con Scikit-Learn

    •  Introducción a MATPLOTLIB | Lección 1 curso "Matplotlib para Ciencia de Datos y Machine Learning"

    • Descarga el conjunto de datos de Supervivientes del Titanic: Titanic Dataset (CSV). En Google Colab, utiliza Pandas para cargar los datos y scikit-learn para dividir el set en entrenamiento y prueba. Entrena un modelo básico de clasificación (ej. Regresión Logística) para predecir la supervivencia y utiliza Matplotlib o Seaborn para graficar la Matriz de Confusión resultante.

    • Si estás desarrollando un software para diagnosticar una enfermedad altamente contagiosa, ¿prefieres optimizar la Precisión (Precision) o la Sensibilidad (Recall)? Justifica tu respuesta.

  • Profundizaremos en el aprendizaje supervisado aplicando algoritmos clásicos y robustos: Árboles de decisión, Random Forest y Máquinas de Soporte Vectorial (SVM). Estos modelos representan distintos enfoques matemáticos para separar y categorizar la información.

    Analizaremos la lógica jerárquica de los árboles de decisión y cómo el algoritmo Random Forest los combina para formar "ensambles", estabilizando la predicción y reduciendo el margen de error. Por otro lado, evaluaremos las SVM para trazar hiperplanos óptimos en espacios multidimensionales.

    La capacidad de clasificar estímulos con alta precisión es un requisito base para desarrollar sistemas que interactúen con su entorno. Cuando un agente reconoce variables discretas de forma autónoma, da el primer paso cognitivo hacia la comprensión estructural de su mundo.

    Video: ¿Qué es Random Forest? Explicación sencilla (Aprende IA)

    BOSQUES ALEATORIOS: Clasificación y Regresión

    • Descarga la base de datos de Diagnóstico de Cáncer de Mama: Breast Cancer Wisconsin (CSV). Utilizando scikit-learn en Colab, entrena un modelo de Random Forest y un modelo SVM sobre estos datos. Imprime un reporte de clasificación (classification_report) para comparar cuál de los dos obtuvo mejor F1-Score global.

    • Compara la interpretabilidad de un Árbol de Decisión simple (donde puedes leer las reglas) frente a la complejidad matemática de caja negra de un modelo Random Forest. ¿En qué industrias sacrificarías interpretabilidad por precisión?

  • A diferencia de la clasificación, donde predecimos etiquetas o categorías discretas, esta semana estudiaremos los algoritmos de regresión: lineal, polinomial y logística. Estos algoritmos nos permiten predecir variables numéricas continuas y establecer tendencias a futuro.

    Comprenderemos la regresión lineal como la base estadística del aprendizaje automático. Luego, ampliaremos esta lógica con la regresión polinomial para mapear relaciones no lineales, un paso crucial cuando los fenómenos estudiados (como el crecimiento de poblaciones en ecosistemas sintéticos) poseen fluctuaciones complejas.

    Curiosamente, analizaremos cómo la regresión logística utiliza una función sigmoide para predecir probabilidades y, por ende, resolver problemas de clasificación binaria. Esta función matemática es el corazón de las redes neuronales modernas.

    •  Regresión Múltiple explicada con Python paso a paso

    • Descarga el conjunto de datos de Precios de Viviendas: Boston Housing Dataset (CSV). En Google Colab, entrena un modelo de Regresión Lineal utilizando scikit-learn para predecir el valor mediano de las casas (medv) en función del número de habitaciones (rm) y el índice de criminalidad (crim). Calcula y muestra en pantalla el Error Cuadrático Medio (MSE) de tu predicción.

    • ¿Por qué intentar ajustar una regresión polinomial de un grado demasiado alto (ej. grado 20) a nuestros datos de entrenamiento puede resultar contraproducente para el modelo a largo plazo?

  • Ingresamos al terreno de lo no supervisado mediante algoritmos de clustering como K-means y clustering jerárquico. Simultáneamente, daremos el salto evolutivo hacia las redes neuronales artificiales básicas y el deep learning.

    La agrupación de datos nos permite segmentar la información basándonos exclusivamente en sus características intrínsecas, sin intervención humana previa. Acto seguido, utilizaremos bibliotecas especializadas como TensorFlow y PyTorch para entender cómo los sistemas computacionales emulan biológicamente el procesamiento de información en capas.

    La conjunción de algoritmos de agrupamiento y redes profundas establece los fundamentos para el modelado cognitivo avanzado. Así es como la inteligencia y la vida artificial emergen: auto-organizando percepciones complejas del entorno.

    • Clustering con K-Means en Python paso a paso

    • Descarga el dataset clásico de las flores Iris (sin usar sus etiquetas para simular aprendizaje no supervisado): Iris Dataset (CSV). Utiliza Colab para implementar el algoritmo K-Means de scikit-learn configurando $k=3$. Usa un gráfico de dispersión de Matplotlib para visualizar cómo el algoritmo agrupó lógicamente los datos basándose únicamente en la longitud y ancho de los pétalos.

    • Considerando la emulación biológica y la vida artificial, ¿cuáles crees que son las principales diferencias entre la forma en que aprende un algoritmo estadístico (como K-means) frente a una red neuronal profunda que emula el cerebro humano?

  • En el cierre de nuestra Unidad 2, garantizaremos que los modelos construidos sean generalizables al mundo real. Estudiaremos la validación cruzada y técnicas de optimización. Un algoritmo sin una validación rigurosa es inservible en entornos productivos.

    Analizaremos en profundidad las causas y soluciones para el overfitting (sobreajuste) y underfitting (subajuste). La validación cruzada (k-fold cross validation) nos enseñará a particionar los datos dinámicamente para asegurar que el aprendizaje no sea una simple memorización de la muestra de entrenamiento.

    Optimizar hiperparámetros de manera metódica es la esencia de la ingeniería de software inteligente. Solo los modelos que han sido testeados frente a perturbaciones de datos logran sostenerse en arquitecturas de sistemas autónomos.

    • Validación Cruzada (Cross Validation) en Python con Scikit-Learn (Nota: Utiliza técnicas de GridSearchCV).

    • Descarga el dataset de Calidad de Vinos: Wine Quality (CSV). En Python, retoma el algoritmo Random Forest. En lugar de hacer una simple división de prueba y entrenamiento, aplica la función cross_val_score de scikit-learn utilizando 5 "folds" (particiones). Imprime el promedio de precisión (accuracy) obtenido a través de las 5 iteraciones.

    • Discute un escenario donde el overfitting (memorizar los datos en lugar de aprender el patrón) podría causar consecuencias fatales si el modelo se implementara en la industria automotriz (ej. conducción autónoma).

  • Iniciamos la Unidad 3 adentrándonos en el Procesamiento de Lenguaje Natural (PLN) y Modelos de Lenguaje Grandes (LLMs). Exploraremos cómo la IA logra codificar y descifrar el lenguaje humano, uno de los hitos más grandes de la emulación cognitiva.

    Estudiaremos técnicas fundacionales como la tokenización y el análisis de sentimientos, elementos cruciales para extraer semántica computacional a partir de textos no estructurados. Veremos cómo se transforman oraciones en arreglos vectoriales que la máquina puede procesar.

    Comprender los cimientos del PLN es el puente que nos lleva desde el análisis estadístico simple hacia la inteligencia general y la arquitectura de los Modelos del Mundo (Large World Models). Solo entendiendo el lenguaje, la máquina puede simular interacciones sociales complejas.

    • Descarga este conjunto de datos que contiene mensajes clasificados como Spam y No Spam (Ham): SMS Spam Dataset (TSV). En Colab, utiliza la biblioteca NLTK para:

      1. Extraer los primeros 10 mensajes.

      2. Aplicar tokenización (separar por palabras).

      3. Filtrar y eliminar las stop words (palabras vacías como "el", "de", "y") en inglés utilizando el corpus de NLTK.

    • Considerando la complejidad del lenguaje humano, ¿cuál es la principal limitación técnica de los modelos de PLN más antiguos (basados en contar palabras) frente a las arquitecturas vectoriales modernas?

  • El paradigma ha evolucionado drásticamente. Esta semana nos dedicamos a la Introducción a la IA Generativa de texto (como GPT) y al Prompt Engineering. Estudiaremos cómo estos modelos no solo predicen la siguiente palabra, sino que generan razonamientos emergentes y estructurados.

    Analizaremos cómo el diseño iterativo de prompts (instrucciones) altera radicalmente el comportamiento de la red. Desarrollar técnicas avanzadas de instrucción es una competencia ingenieril clave hoy en día para integrar estas herramientas en plataformas educativas y de investigación.

    La IA generativa de texto es el escalón natural hacia la formulación algorítmica de los Modelos del Mundo. Al comprender y generar lenguaje de manera contextual, las redes están simulando las lógicas subyacentes de la realidad humana. Mis propios trabajos académicos profundizan ampliamente sobre estas nuevas fronteras cognitivas y su potencial transformador.

    • Descarga este set de reseñas de películas: IMDB Movie Reviews (CSV). En Colab, no usaremos una API de pago, sino la librería transformers de HuggingFace (pipeline("text-generation") con un modelo ligero como gpt2). Construye un prompt en formato de texto concatenado (Prompt Engineering) que incluya una de las reseñas del CSV y le pida explícitamente a la IA que determine si la reseña es positiva o negativa.

    • ¿Cuáles son los riesgos estructurales de basar la evaluación de estudiantes universitarios utilizando LLMs que presentan "alucinaciones" sistemáticas o inventan bibliografía?

  • Transicionamos del procesamiento de texto al análisis de los píxeles. Exploraremos la Visión por Computador, enfocándonos en la representación matricial de las imágenes y los algoritmos de detección de objetos.

    Aprenderemos cómo las Redes Neuronales Convolucionales (CNN) aplican filtros matemáticos sobre las matrices de píxeles para identificar bordes, texturas y formas complejas. La capacidad de detectar objetos en tiempo real es una demanda constante en industrias de automatización y robótica.

    Cuando combinamos la visión computacional con la autonomía predictiva, estamos entregando los "ojos" necesarios a nuestros ecosistemas algorítmicos. La fusión sensorial es vital para aproximarnos a máquinas que realmente comprendan y naveguen por entornos tridimensionales.

    • Descarga una imagen de prueba alojada públicamente (por ejemplo, mediante la URL []()). Utilizando la biblioteca cv2 (OpenCV) y matplotlib en Google Colab:

      1. Lee la imagen desde la web utilizando urllib o requests.

      2. Conviértela a escala de grises.

      3. Aplica un filtro de detección de bordes (método de Canny) y muestra la imagen original junto a la imagen con los bordes detectados.

    • ¿Por qué las Redes Convolucionales (CNNs) desplazaron a las redes neuronales densas clásicas a la hora de procesar imágenes de alta resolución?

  • En el pináculo de la creación visual algorítmica, presentamos la Introducción a modelos de difusión para la generación de imágenes. Estas redes matemáticas han revolucionado la producción gráfica e industrial a nivel mundial en los últimos años.

    Desglosaremos el proceso estocástico por el cual la IA aprende a inyectar ruido gaussiano puro en las imágenes de entrenamiento para, posteriormente, aprender a limpiar ese ruido (denoising) de manera controlada por instrucciones textuales (prompts).

    El impacto de estas redes trasciende el arte. Se utilizan ampliamente para generar bases de datos sintéticas, entrenar otros modelos de visión y visualizar simulaciones matemáticas profundas, alterando definitivamente la manera en que modelamos nuestro mundo computacionalmente.

    • Cómo crear imágenes con IA desde Python | TUTORIAL de Stable Diffusion

    • Descarga la base de datos que contiene descripciones de objetos: COCO Captions Extract (CSV) (usaremos un CSV simplificado de texto para evitar cargas masivas, como el de reseñas de la semana 10, pero simulando descriptores visuales). En Google Colab, instala la librería diffusers de HuggingFace. Utiliza un modelo preentrenado muy ligero (ej. stable-diffusion-v1-5 si tienes GPU activa en Colab, o simplemente imprime el código funcional documentado si excede los recursos de RAM de Colab) que tome un texto como "Un robot futurista estudiando en la Universidad de Concepción" y genere la imagen correspondiente.

    • Debate ético y legal: Considerando que estos modelos de difusión fueron entrenados con millones de imágenes públicas de internet protegidas por copyright, ¿quién ostenta legítimamente los derechos de autor de la nueva obra generada?

  • En esta etapa final de herramientas, integramos la teoría semántica y la interfaz de usuario para construir aplicaciones conversacionales y de automatización, enfocándonos en Chatbots y asistentes virtuales. Estos agentes, hoy potenciados por la arquitectura de los LLMs, son la interfaz directa entre los algoritmos y la sociedad.

    Más allá del simple diálogo fluido, analizaremos cómo se inserta la IA en la automatización de procesos mediante la unión de RPA e IA (RPA+IA). Un asistente virtual moderno no solo procesa lenguaje, sino que desencadena acciones sistémicas: actualiza bases de datos y gestiona flujos de información sin requerir intervención humana.

    Imaginen aplicar estos asistentes dentro de nuestras propias plataformas en Educagratis: chatbots tutores que evalúen activamente el aprendizaje del estudiante, detectando falencias en su comprensión matemática y redirigiendo sus módulos de estudio en tiempo real.

    • Creo Un Asistente Virtual Que Hace Todo (Y Se Rebela)

    • No utilizaremos una base de datos pesada esta semana. Descarga el corpus de conversaciones en español alojado en GitHub: ChatterBot Spanish Corpus (YML). En Google Colab, implementa un código en Python que abra este archivo de texto (YAML o JSON), lo almacene en un diccionario de preguntas y respuestas, y ejecute un ciclo while donde la máquina reciba el input() del usuario y retorne la respuesta predefinida más adecuada.

    • ¿Qué impacto social y económico tendrá la integración de la Automatización Robótica de Procesos (RPA) potenciada por LLMs en el mercado laboral administrativo de Chile durante la próxima década?

  • Nuestra responsabilidad algorítmica culmina con un análisis profundo de la integración ética y social de soluciones con IA. Un ingeniero de ejecución en computación que despliega modelos predictivos sin medir su impacto social comete una negligencia estructural profunda.

    Revisaremos transversalmente los temas del curso, evaluando cómo los sesgos históricos se introducen en las bases de datos y son amplificados por modelos de PLN o Visión por Computador. Analizaremos casos reales de discriminación algorítmica y la necesidad imperativa de contar con Inteligencia Artificial Explicable (XAI).

    El diseño de un sistema basado en Inteligencia Artificial tiene repercusiones tangibles en diagnósticos médicos, accesos financieros y sistemas legales. Por ello, la ética y las métricas de equidad deben codificarse desde la primera línea de lógica en nuestros entornos de desarrollo.

    • Descarga el dataset público Adult Income (frecuentemente usado para estudiar sesgos demográficos en predicciones financieras): Adult Income Dataset (CSV). Utilizando Pandas en Google Colab, realiza una agrupación de datos (groupby) para analizar qué porcentaje de individuos, divididos por género y raza, son clasificados erróneamente si simuláramos un modelo básico. Escribe un comentario técnico argumentando por qué entrenar una red neuronal a ciegas con este dataset replicaría brechas salariales históricas.

    • ¿Debería el gobierno exigir que el código fuente de los algoritmos de "caja negra" utilizados en los servicios públicos (ej. evaluación de subsidios habitacionales) sea abierto y auditable por entes universitarios independientes?