Inteligencia artificial Código:  M0.539    :  6
Consulta de los datos generales   Descripción   Información previa a la matrícula   Objetivos y competencias   Contenidos   Consulta de los recursos de aprendizaje de la UOC para la asignatura   Información adicional sobre los recursos de aprendizaje y herramientas de apoyo   Informaciones sobre la evaluación en la UOC   Consulta del modelo de evaluación  
Este es el plan docente de la asignatura para el segundo semestre del curso 2023-2024. Podéis consultar si la asignatura se ofrece este semestre en el espacio del campus Más UOC / La universidad / Planes de estudios). Una vez empiece la docencia, tenéis que consultarlo en el aula. El plan docente puede estar sujeto a cambios.

La motivación principal de esta asignatura es la de dar a conocer el aprendizaje automático y como se sitúa dentro del campo de la Inteligencia Artificial.

En Inteligencia Artificial (Grado en Ingeniería Informática) se dio una visión general de la Inteligencia Artificial y se presentaron algunos de los métodos y técnicas denominados clásicos, como son la resolución de problemas y búsqueda y los sistemas basados en el conocimiento, también se vieron técnicas más avanzadas como son las redes neurales y el razonamiento aproximado. En la asignatura de Aprendizaje computacional se introdujeron los problemas del aprendizaje (supervisado y no supervisado) y sistemas multi agente. En esta asignatura se profundizará en problemas avanzados de aprendizaje, introduciendo los sistemas de extracción de características, los sistemas no lineales basados en Kernels, los procesos de optimización o las técnicas de aprendizaje profundo, siempre desde una vertiente práctica tocando ejemplos de problemas reales.

Amunt

Es recomendable haber cursado las asignaturas de Inteligencia Artificial y Aprendizaje Computacional del grado en Ingeniería Informática. También es muy recomendable haber superado la asignatura de prácticas de programación o equivalente en algún programa de informática. Si bien la asignatura no está pensada para tener una alta carga de programación, se darán por sabidos los conceptos más básicos de algorísmica.

Amunt

Las competencias generales del Máster que se ponen de manifiesto en esta asignatura son:

  • Capacidad para proyectar, calcular y diseñar productos, procesos e instalaciones en todos los ámbitos de la ingeniería en informática.
  • Capacidad para el modelado matemático, cálculo y simulación en centros tecnológicos y de ingeniería de empresa, particularmente en tareas de investigación, desarrollo e innovación en todos los ámbitos relacionados con la ingeniería en informática
  • Capacidad para la aplicación de los conocimientos adquiridos y de solucionar problemas en entornos nuevos o poco conocidos dentro de contextos más amplios y multidisciplinares, siendo capaces de integrar estos conocimientos.
  • Poseer habilidades para el aprendizaje continuado, autodirigido y autónomo.
  • Capacidad para modelar, diseñar, definir la arquitectura, implantar, gestionar, operar, administrar y mantener aplicaciones, redes, sistemas, servicios y contenidos informáticos.
  • Capacidad por asegurar, gestionar, auditar y certificar la calidad de los desarrollos, procesos, sistemas, servicios, aplicaciones y productos informáticos.
  • Capacidad para comprender y poder aplicar conocimientos adelantados de computación de altas prestaciones y métodos numéricos o computacionales a problemas de ingeniería.



Las competencias específicas de esta asignatura son:

  • Entender que es el aprendizaje automático en el contexto de la Inteligencia Artificial.
  • Distinguir entre los diferentes tipos y métodos de aprendizaje.
  • Conocer los diferentes métodos de extracción de características sobre un conjunto de datos dado.
  • Conocer los diferentes paradigmas de clasificación y sus puntos fuertes y débiles.
  • Saber evaluar los algoritmos de clasificación y extraer conclusiones de su eficiencia, permitiendo seleccionar los más adecuados en cada caso.
  • Aplicar las técnicas de búsqueda a un caso concreto

 

Amunt

En esta asignatura los contenidos se han estructurado en dos módulos.

En el primer módulo se da una visión general del aprendizaje dentro de la Inteligencia Artificial. En principio se hace la distinción entre algoritmos dedicados a la agrupación (clustering) y recomendación de información, los algoritmos de extracción y selección de características, los algoritmos de clasificación, los métodos de optimización y las técnicas de aprendizaje profundo. La distinción entre aprendizaje supervisado y no supervisado es inherente al capítulos de clustering y clasificación, aunque se también presente en el capítulo de extracción de características.

El segundo módulo, mucho más breve, está dedicado al aprendizaje del lenguaje Python. Se pretende introducir al estudiante en algunas (de las muchas) características que tiene este lenguaje, de cara a una mejor comprensión de los módulos de teoría, y poder realizar prácticas de forma autónoma.

A continuación se da el contenido detallado de cada uno de estos módulos.

1. Introducción a la Inteligencia Artificial (IA)
1.1. Neuronas y transistores
1.2. Breve historia dela IA
1.3. Ámbitos de aplicación


2. recomendador y agrupamientos
2.1. Métricas y medidas de similitud
2.1.1. Ejemplo de aplicación
2.1.2. distancia euclidiana
2.1.3. Correlación de Pearson
2.2. sistemas recomendadores
2.2.1. conceptos generales
2.2.2. La biblioteca Surprise
2.2.3. Vecinos más cercanos
2.2.4. Descomposición en valores singulares
2.2.5. conclusiones
2.3. Algoritmos de agrupamiento (clustering)
2.3.1. Ejemplo de aplicación
2.3.2. conceptos generales
2.3.3. Agrupamiento jerárquico. dendrogramas
2.3.4. k-medios (k-means)
2.3.5. c-medios difuso (Fuzzy c-means)
2.3.6. Agrupamiento espectral (Spectral Clustering)
2.3.7. Recomendadores basados ¿¿en modelos

3. Extracción y selección de atributos
3.1. Técnicas de factorización matricial
3.1.1. Descomposición en valores singulares (SVD)
3.1.2. Análisis de componentes principales (PCA)
3.1.3. Análisis de componentes independientes (ICA)
3.1.4. Factorización de matrices no-negativas (NMF)
3.2. Discriminación de datos en clases
3.2.1. Análisis de discriminantes lineales (LDA)
3.3. Visualización de datos mutidimensionals
3.3.1. Escalamiento multidimensional (MDS)


4. Clasificación
4.1. Introducción
4.1.1. Categorización de textos
4.1.2. Aprendizaje automático para clasificación
4.1.3. Tipología de algoritmos para clasificación
4.2. Métodos basados ¿¿en modelos probabilísticos
4.2.1. Naïve Bayes
4.2.2. máxima Entropía
4.3. Métodos basados ¿¿en distancias
4.3.1. KNN
4.3.2. Clasificador lineal basado en distancias
4.3.3. Clustering dentro de clases
4.4. Métodos basados ¿¿en reglas
4.4.1. Árboles de decisión
4.4.2. Adaboost
4.5. Clasificadores lineales y métodos basados ¿¿en Kernels
4.5.1. Clasificador lineal basado en producto escalar
4.5.2. Clasificador lineal con Kernel
4.5.3. Kernels para tratamiento de textos
4.5.4. Máquinas de vectores de soporte
4.6. Protocolos de test
4.6.1. Protocolos de validación
4.6.2. Medidas de evaluación
4.6.3. tests estadísticos
4.6.4. Comparativa de clasificadores

5. Optimización
5.1. Introducción
5.1.1. Tipología de los métodos de optimización
5.1.2. Características de los metaheurísticos de optimización
5.2. Optimización mediante multiplicadores de Lagrange
5.2.1. Descripción del método
5.2.2. Ejemplo de aplicación
5.2.3. Análisis del método
5.3. Descenso de gradientes
5.3.1. Presentación de la idea
5.3.2. Ejemplo de aplicación
5.3.3. cuestiones adicionales
5.4. Salto de valles
5.4.1. Descripción del método
5.4.2. Ejemplo de aplicación
5.4.3. Análisis del método
5.5. algoritmos genéticos
5.5.1. Descripción del método
5.5.2. Ampliaciones y mejoras
5.5.3. Ejemplos de aplicación
5.5.4. Recopilación de estadísticas
5.5.5. problemas combinatorios
5.5.6. Problemas con restricciones
5.5.7. Análisis del método
5.6. Colonias de hormigas
5.6.1. Descripción del método
5.6.2. Ejemplo de aplicación
5.6.3. Análisis del método
5.6.4. Código fuente en Python
5.7. Optimización con enjambres de partículas
5.7.1. Descripción del método
5.7.2. Ejemplo de aplicación
5.7.3. Análisis del método
5.7.4. Código fuente en Python
5.8. Búsqueda tabú.
5.8.1. Descripción del método
5.8.2. Ejemplo de aplicación
5.8.3. Análisis del método
5.8.4. Código fuente en Python

 

6. Aprendizaje profundo
6.1. Introducción
6.1.1. logros recientes
6.1.2. causas
6.1.3. arquitecturas
6.1.4. Bibliotecas
6.2. redes neuronales
6.2.1. Componentes de una red neuronal
6.2.2. Funciones de activación
6.2.3. Entrenamiento de una red neuronal
6.2.4. Problemas de aprendizaje
6.2.5. algunas soluciones
6.2.6. aprendizaje profundo
6.3. perceptrón multicapa
6.3.1. idea6.3.2. Ejemplo de MLP
6.4. Clasificación de imágenes con redes neuronales convolucionales (CNN)
6.4.1. Implementación de las CNN en Python utilizando las librerías kerait
6.5. redes recurrentes
6.5.1. idea
6.5.2. programación
6.6. otras arquitecturas
6.6.1. Autocodificadors
6.6.2. Aprendizaje por refuerzo 
6.6.3. sistemas generadores


7. Anexo: conceptos básicos de estadística

Amunt

Classification Framework with Naïve Bayes Audiovisual
Support Vector Machines using Python and scikit-learn Audiovisual
Data Clustering with k-Means Audiovisual
Distances, similarities and normalization of data. Audiovisual
Introducción a la programación en Python Audiovisual
Inteligencia artificial en Python Audiovisual
La Librería matplotlib en Python Audiovisual
MovieLens-data Web
Código fuente. Ejemplos materiales Web
Inteligencia artificial avanzada PDF
Intel·ligència artificial avançada PDF
Advanced artificial intelligence PDF
Xarxes neuronals: fonaments i intuïcions (Notebook) Código fuente
Neuronal networks examples (Notebook) Código fuente
Python: introducción al lenguaje de programación Audiovisual
Python: introducció al llenguatge de programació Audiovisual
Ús de Google Colaboratory per a Machine Learning Audiovisual
Uso de Google Colaboratory para Machine Learning Audiovisual

Amunt

La asignatura se compone de los módulos didácticos en apoyo papel, que contienen ejercicios de autoevaluación con soluciones y actividades diversas.

Este material se complementará con aquel que los consultores pongan al alcance de los estudiantes al aula de la asignatura.

En la propia aula habrá un espacio para dar apoyo y resolver las dudas correspondientes al lenguaje Python.

Amunt

El proceso de evaluación se fundamenta en el trabajo personal de cada estudiante y presupone la autenticidad de la autoría y la originalidad de los ejercicios realizados.

La falta de autenticidad en la autoría o de originalidad de las pruebas de evaluación; la copia o el plagio; el intento fraudulento de obtener un resultado académico mejor; la colaboración, el encubrimiento o el favorecimiento de la copia, o la utilización de material o dispositivos no autorizados durante la evaluación, entre otras, son conductas irregulares que pueden tener consecuencias académicas y disciplinarias graves.

Por un lado, si se detecta alguna de estas conductas irregulares, puede comportar el suspenso (D/0) en las actividades evaluables que se definan en el plan docente - incluidas las pruebas finales - o en la calificación final de la asignatura, ya sea porque se han utilizado materiales o dispositivos no autorizados durante las pruebas, como redes sociales o buscadores de información en internet, porque se han copiado fragmentos de texto de una fuente externa (internet, apuntes, libros, artículos, trabajos o pruebas del resto de estudiantes, etc.) sin la correspondiente citación, o porque se ha practicado cualquier otra conducta irregular.

Por el otro, y de acuerdo con las normativas académicas, las conductas irregulares en la evaluación, además de comportar el suspenso de la asignatura, pueden dar lugar a la incoación de un procedimiento disciplinario y a la aplicación, si procede, de la sanción que corresponda.

La UOC se reserva la potestad de solicitar al estudiante que se identifique o que acredite la autoría de su trabajo a lo largo de todo el proceso de evaluación por los medios que establezca la universidad (síncronos o asíncronos). A estos efectos, la UOC puede exigir al estudiante el uso de un micrófono, una cámara u otras herramientas durante la evaluación y que este se asegure de que funcionan correctamente.

La verificación de los conocimientos para garantizar la autoría de la prueba no implicará en ningún caso una segunda evaluación.

Amunt

Esta asignatura solo puede superarse a partir de la evaluación continua (EC), nota que se combina con una nota de prácticas (Pr) para obtener la nota final de la asignatura. No se prevé hacer ninguna prueba de evaluación final. La fórmula de acreditación de la asignatura es la siguiente: EC + Pr.

 
 

Amunt