Inteligencia artificial avanzada Código:  M1.304    Créditos:  6
Consulta de los datos generales   Descripción   Información previa a la matrícula   Objetivos y competencias   Contenidos   Consulta de los materiales que dispone la asignatura   Materiales y herramientas de apoyo   Metodología   Información sobre la evaluación en la UOC   Consulta del modelo de evaluación   Evaluación Contínua   Evaluación final   Feedback  
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 o los procesos de optimización, siempre desde una vertiente práctica tocando ejemplos de problemas reales.

Amunt

Se 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 muestra 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, y los algoritmos de clasificación. La distinción entre aprendizaje supervisado y no supervisado es inherente a los capítulos de clustering y clasificación, aun cuando se presente también 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 de la IA.

1.3. Ámbitos de aplicación

1.4. Organización del libro


2. Recomanadores y agrupamientos

2.1. Introducción

2.2. Métricas y medidas de similitud

2.2.1. Ejemplo de aplicación

2.2.2. Distancia euclídea

2.2.3. Correlación de Pearson

2.2.4. Procesamiento de datos reales

2.2.5. Conclusiones

2.3. Recomanadores basados en memoria

2.3.1. Conceptos generales

2.3.2. Aproximaciones simples

2.3.3. Recomendación ponderada

2.3.4. Conclusiones

2.4. Algoritmos de agrupamiento (clustering)

2.4.1. Ejemplo de aplicación

2.4.2. Conceptos generales

2.4.3. Agrupamiento jerárquico. Dendrogrames

2.4.4. k-medianos (k-means)

2.4.5. c-medianos difuso (Fuzzy c-means)

2.4.6. Agrupamiento espectral (Spectral Clustering)

2.4.7. Recomanadores basados en modelos


3. Extracción y selección de atributos

3.1. Introducción.

3.2. Técnicas de factorización matricial.

3.2.1. Descomposición en valores singulares (SVD)

3.2.2. Análisis de componentes principales (PCA)

3.2.3. Análisis de componentes independientes (ICA)

3.2.4. *Factorització de matrices no-negativas (NMF)

3.3. Discriminación de datos en clases

3.3.1. Análisis de discriminantes lineales (LDA)

3.4. Visualización de datos mutidimensionales

3.4.1. Escalamiento multidimensional (MDS)


4. Clasificación.

4.1. Introducción

4.1.1. Categorización de textos

4.1.2. Aprendizaje automático por clasificación

4.1.3. Tipología de algoritmos por 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. Recocción simulada (Simulated Annealing)

5.3.1. Descripción del método

5.3.2. Ejemplo de aplicación.

5.3.3. Análisis del método

5.3.4. Código fuente en Python. .

5.4. Algoritmos genéticos.

5.4.1. Descripción del método

5.4.2. Ampliaciones y mejoras.

5.4.3. Ejemplo de aplicación

5.4.4. Análisis del método

5.4.5. Código fuente en Python

5.5. Colonias de hormigas

5.5.1. Descripción del método

5.5.2. Ejemplo de aplicación

5.5.3. Análisis del método

5.5.4. Código fuente en Python

5.6. Optimización con enjambres de partículas

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. Búsqueda tabú.

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

Amunt

Material Soporte
Classification Framework with Naïve Bayes Audiovisual
Support Vector Machines using Python and scikit-learn Audiovisual
User-defined kernels for SVMs using scikit-learns Audiovisual
Data Clustering with k-Means Audiovisual
Distances, similarities and normalization of data. Audiovisual
Optimization with simulated annealing and genetic algorithms Audiovisual
Introducción a la programación en Python Audiovisual
Inteligencia artificial en Python Audiovisual
Principal component Analysis (PCA) Audiovisual
La Librería matplotlib en Python Audiovisual
MovieLens-data Web
Código fuente. Ejemplos materiales Web
Inteligencia artificial avanzada 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
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.

Se prevé también la creación de una aula de laboratorio para resolver las dudas correspondientes al lenguaje Python.

Amunt

Por lo que respeta al estudio de los materiales, conviene remarcar que se considera fundamental la realización de los ejercicios que se plantean a cada módulo. Sólo así se conseguirá una buena asimilación de los conceptos y métodos presentados en el módulo. La mayor parte de los conceptos explicados tienen su implementación en código Python. Se recomienda intentar primero resolver el problema y después comprobar el resultado con la solución propuesta. Los códigos están pensados para entender mejor el que se explica a teoría, y si se tercia poder hacer visualizaciones con los ejemplos prácticos que proponemos (disparos de casos reales).

Por esto recomendamos, para cada ejercicio de autoevaluación:

1.-Resolverlo.

2.-Comparar la solución con la del solucionario (pueden ser diferentes).
Si tenéis dudas sobre la corrección de vuestra solución, dirigíos al profesor consultor.


Se recomienda también, para cada tema:

- Leer las explicaciones contenidas en cada apartado, haciendo especial énfasis en los ejercicios resueltos que se dan como ejemplos en Python.

- Si surgen dudas ponerse en contacto con el consultor a través del foro de la asignatura intentando ser el máximo de concretos posible.

- Una vez se considera que se han asimilado los conocimientos introducidos, intentar resolver los ejercicios de autoevaluación correspondientes a aquel apartado.

- La participación en las actividades propuestas al aula.


Temporalización e itinerarios formativos

Accediendo al calendario, el estudiante dispondrá de una distribución orientativa del tiempo que se propone para el estudio de cada módulo. Además, el calendario incluye las fechas clave del semestre, como por ejemplo la publicación y la entrega de las Pruebas de Evaluación Continuada (PEC) y de la práctica. Las fechas de entrega de las PEC y de la práctica se deben respetar estrictamente. Por lo tanto, es muy recomendable que se siga la temporización propuesta y se intenten respetar las fechas indicadas para el estudio de cada módulo didáctico.

El estudiante podrá acceder a los enunciados de las PEC y de la práctica en el espacio de Planificación del Aula Virtual, haciendo clic en la fecha del calendario señalada como publicación de la actividad en cuestión.

Amunt

La Normativa académica de la UOC dispone que el proceso de evaluación se fundamenta en el trabajo personal del estudiante y presupone la autenticidad de la autoría y la originalidad de los ejercicios realizados.

La falta de originalidad en la autoría o el mal uso de las condiciones en las que se hace la evaluación de la asignatura es una infracción que puede tener consecuencias académicas graves.

El estudiante será calificado con un suspenso (D/0) si se detecta falta de originalidad en la autoría de alguna actividad evaluable (práctica, prueba de evaluación continua (PEC) o final (PEF), o la que se defina en el plan docente), ya sea porque ha utilizado material o dispositivos no autorizados, ya sea porque ha copiado de forma textual de internet, o ha copiado de apuntes, de materiales, manuales o artículos (sin la citación correspondiente) o de otro estudiante, o por cualquier otra conducta irregular.

La calificación de suspenso (D/0) en la evaluación continua (EC) puede conllevar la obligación de hacer el examen presencial para superar la asignatura (si hay examen y si superarlo es suficiente para superar la asignatura según indique este plan docente).

Cuando esta mala conducta se produzca durante la realización de las pruebas de evaluación finales presenciales, el estudiante puede ser expulsado del aula, y el examinador hará constar todos los elementos y la información relativos al caso.

Además, esta conducta puede dar lugar a la incoación de un procedimiento disciplinario y la aplicación, si procede, de la sanción que corresponda.

La UOC habilitará los mecanismos que considere oportunos para velar por la calidad de sus titulaciones y garantizar la excelencia y la calidad de su modelo educativo.

Amunt

Esta asignatura se puede superar a partir de la evaluación continua (EC), cuya nota final se cruza con la calificación de una prueba de síntesis (PS). Es necesario realizar las actividades prácticas obligatorias (Pr) cuya nota se cruza con la nota de evaluación continua . El resultado de este cruce entre la EC y la Pr se cruza a su vez con la nota de la PS para obtener la nota final de la asignatura. Para hacer la PS es necesario haber superado la FC. La fórmula de acreditación de la asignatura es la siguiente: (EC+Pr) + PS


Ponderación de las calificaciones

Opción para superar la asignatura: (EC+Pr) + PS

Final Continuada (FC) = (EC+Pr)

EC = 60 %

Pr = 40 %

Notas mínimas:

· Pr = 5

· EC = 4

En caso de no conseguir la nota mínima en la Pr, la nota obtenida en la fórmula corresponde a la obtenida en la Pr, o el que indique el modelo de evaluación.


FC = 70 %

PS = 30%

Notas mínimas:

· PS = 3,5

Cuando la nota obtenida en la PS sea inferior a los mínimos establecidos para cada fórmula, la calificación final de la asignatura será la nota obtenida en la PS.

Amunt

La Evaluación Continuada (EC) se compone de tres pruebas de evaluación continuada (PEC) y de una práctica.

La nota final de la EC se determinará en función de las calificaciones obtenidas parcialmente, la participación del estudiante al foro y haber demostrado un dominio suficiente en los aspectos fundamentales de la asignatura durante el semestre.

Para poder superar la evaluación continuada habréis de entregar cada una de las PEC y la práctica dentro de los plazos establecidos.

El hecho de entregar cualquier actividad de evaluación continuada implica que obtendréis una nota final de evaluación continuada. Por lo tanto, la valoración de "No Presentado" sólo se obtendrá si no se entrega ninguna actividad de evaluación.

En la práctica se trabajan los contenidos de los capítulos 2-5, fundamentalmente dentro del campo del aprendizaje. El objetivo de esta práctica es facilitar el aprendizaje de los conceptos que se explican en estos módulos de la asignatura. La realización de la práctica supondrá una carga de trabajo más elevada que la necesaria para una PEC. Por esto, se dispondrá de más tiempo entre la publicación del enunciado y la entrega de la práctica que en el caso de las PEC.

Los enunciados de las PEC y de la práctica se publicarán a través del calendario del espacio de Planificación del aula virtual de la asignatura, a las fechas que aparecen destacadas. Las PEC solucionadas se deben entregar al registro de entrega de actividades del espacio de Evaluación del aula. Una vez transcurrido el tiempo dedicado a la resolución de cada ejercicio, se publicará, igualmente en el calendario y en la fecha señalada, una propuesta de solución de cada una de las pruebas.

El seguimiento correcto de la asignatura os compromete a realizar las actividades propuestas de manera individual y según las indicaciones que pauta este Plan Docente. En caso de que no sea así, las actividades se os evaluarán con una D.

Por otra parte, y siempre a criterio de los Estudios, el incumplimiento de este compromiso puede suponer que no se os permita superar cualquier otra asignatura mediante evaluación continuada ni en el semestre en curso ni en los siguientes.

Hace falta indicar explícitamente qué fuentes se han utilizado en la preparación de la entrega, aportando información por localizar el recurso: URL, datos bibliográficos, etcétera.

Amunt

La nota final de la asignatura es calcula ponderando la nota FC (70%) con la nota de la prueba de síntesis (30%).

*NFA = Nota Final Asignatura = 0,7 * (FC = Nota de EC y práctica) + 0,3 * (Nota de la prueba de síntesis).

Sólo se hará este cálculo si la nota de la prueba de síntesis es igual o superior a 3,5. Si la nota de la prueba de síntesis es inferior a 3,5, la asignatura está suspensa. Además, sólo se hará este cálculo si la nota de la práctica es igual o superior a 5.

Si la nota FC es inferior a 5, la asignatura está suspendida.

Amunt

Tal y como se ha indicado en la metodología de la asignatura, el consultor os guiará y orientará a través del Tablón del aula para qué podáis hacer un buen seguimiento de la asignatura. También responderá las dudas que vayan saliente en el Foro del aula así como las consultas y comentarios enviados a su buzón personal.

El consultor también hará un seguimiento personalizado de la evaluación continua, revisará todas las PEC y prácticas entregadas y comentará de forma cualitativa a nivel grupal y/o individual la resolución. Estos comentarios os ayudarán a progresar en vuestro aprendizaje y adquirir el conjunto de las competencias.

Amunt