Logo UAB
2022/2023

Fonaments d'Aprenentatge Automàtic

Codi: 106572 Crèdits: 6
Titulació Tipus Curs Semestre
2504392 Intel·ligència Artificial / Artificial Intelligence OB 2 1

Professor/a de contacte

Nom:
Dimosthenis Karatzas
Correu electrònic:
dimosthenis.karatzas@uab.cat

Utilització d'idiomes a l'assignatura

Llengua vehicular majoritària:
anglès (eng)
Grup íntegre en anglès:
Grup íntegre en català:
No
Grup íntegre en espanyol:
No

Equip docent extern a la UAB

Oguz Mulayim

Prerequisits

Haver cursat les assignatures de primer curs de Fonaments de Programació, Fonaments de Matemàtiques, Probabilitat i Estadística, Enginyeria de Dades

Objectius

L´objectiu d´aquesta assignatura és proporcionar una formació integral en un ampli ventall de tècniques i algorismes fonamentals d´aprenentatge automàtic que un enginyer especialista en intel·ligència artificial ha de dominar.

Els estudiants aprendran, implementaran i utilitzaran una varietat de tècniques que comprenen tant l'aprenentatge supervisat com el no supervisat. Obtindran les seves pròpies implementacions, així com exploraran llibreries existents i aplicaran aquest nou coneixement per resoldre problemes pràctics..

Competències

  • Desenvolupar pensament crític per analitzar de manera fonamentada i argumentada alternatives i propostes tant pròpies com alienes.
  • Identificar, comprendre i aplicar els conceptes i tècniques fonamentals de representació del coneixement, raonament i aprenentatge computacional més adequats per a la solució de problemes d’intel·ligència artificial.
  • Introduir canvis en els mètodes i els processos de l’àmbit de coneixement per donar respostes innovadores a les necessitats i demandes de la societat. 
  • Que els estudiants tinguin la capacitat de reunir i interpretar dades rellevants (normalment dins de la seva àrea d'estudi) per emetre judicis que incloguin una reflexió sobre temes destacats d'índole social, científica o ètica.
  • Treballar cooperativament per aconseguir objectius comuns, assumint la pròpia responsabilitat i respectant el rol dels diferents membres de l’equip.

Resultats d'aprenentatge

  1. Comprendre l’algoritme de descens de gradient i les seves variants, i poder aplicar-lo per resoldre problemes de regressió i classificació.
  2. Desenvolupar pensament crític per analitzar de manera fonamentada i argumentada alternatives i propostes tant pròpies com alienes.
  3. Entendre els conceptes de biaix i variància, i poder utilitzar mètodes de preparació de dades i tècniques de regularització per obtenir solucions generalitzables a partir de les dades disponibles.
  4. Formular la funció de cost més adequada per a un problema concret segons les característiques de les dades experimentals i requeriments / restriccions del problema.
  5. Proposar nous mètodes o solucions alternatives fonamentades.
  6. Que els estudiants tinguin la capacitat de reunir i interpretar dades rellevants (normalment dins de la seva àrea d'estudi) per emetre judicis que incloguin una reflexió sobre temes destacats d'índole social, científica o ètica.
  7. Treballar cooperativament per aconseguir objectius comuns, assumint la pròpia responsabilitat i respectant el rol dels diferents membres de l’equip.

Continguts

  • Fonaments d'aprenentatge automàtic
    • Aprenentatge supervisat i no supervisat
    • Regressió i classificació
    • Descens del gradient
    • Regressió lineal i polinomial
    • Regressió logística
    • Over/under-fitting i decomposicio de bias i variance
    • Regularització
  • Mètodes bàsics de reconeixement de patrons
    • Models de Nearest Neighbour i raonament basat en casos
    • Agrupació de dades
    • Kernel Methods i Support Vector Machines
    • Arbres de decisió i random forests
    • Experimentació i avaluació del rendiment
  • Metodes probabilístics
    • Bayesian parameter estimation
    • Gaussian Mixture Models
    • Probability density estimation
    • Expectation Maximisation

Metodologia

Hi haurà tres tipus d'activitats docents: classes teòriques, resolució d'exercicis pràctics de forma individual (problemes) i desenvolupament de projectes en petits grups de 2-3 persones.

1. Classes de teoria: Presentació dels continguts teòrics a treballar en l'assignatura. Per a cada un dels temes estudiats s'exposen els principals conceptes teòrics i formulació matemàtica, així com les solucions algorítmiques corresponents.

2. Sessions de laboratori: Les sessions de laboratori tenen com a objectiu facilitar la interacció i reforçar la comprensió dels temes vistos a les classes de teoria. Durant les sessions de laboratori abordarem dos tipus d'activitats: la resolució d'exercicis pràctics (problemes) i la realització del seguiment i presentacions de projectes.

2.1 Problemes: S'utilitzarà un conjunt setmanal de problemes a treballar, a partir del codi en Python sobre Jupyter notebooks que exemplifica els detalls de codificació dels conceptes exposats a les hores de teoria. El treball sobre els problemes s'iniciarà en classe i cada estudiant ha de completar-lo individualment a casa. Els estudiants hauran de fer un lliurament setmanal del seu treball.

2.2 Projectes: es realitzaran dos projectes durant el semestre, on els alumnes tindran que resoldre problemes concrets de certa complexitat. Els projectes es resoldran en petits grups de 2-3 alumnes, on cada membre del grup haurà de fer una part i posar-la en comú amb el resto per tenir la solució final. Aquests grups de treball hauran de mantenir fins al final del curs i hauran d'autogestionar: repartiment de rols, planificació del treball, assignació de tasques, gestió dels recursos disponibles, conflictes, etc. Per desenvolupar el projecte, els grups treballaran de forma autònoma i les sessions de pràctiques es dedicaran per a (1) que el professor presenti la temàtica dels projectes i discuteixi possibles enfocaments, (2) fer el seguiment de l'estat del projecte i (3) que els equips presentin els seus resultats finals.

Les activitats anteriors es complementaran amb un sistema de tutories i consultes fora de l'horari de classes.

Tota la informació de l'assignatura i els documents relacionats que necessitin els alumnes estaran disponibles al campus virtual (cv.uab.cat).

Nota: es reservaran 15 minuts d'una classe, dins del calendari establert pel centre/titulació, per a la complementació per part de l'alumnat de les enquestes d'avaluació de l'actuació del professorat i d'avaluació de l'assignatura/mòdul.

Activitats formatives

Títol Hores ECTS Resultats d'aprenentatge
Tipus: Dirigides      
Classes de teoria 24 0,96 1, 3, 4
Sessions de problemes 12 0,48 1, 2, 3, 4
Sessions de projectes 9 0,36 1, 2, 3, 4, 5, 6, 7
Tipus: Supervisades      
Resolució de problemes (individual) 10 0,4 1, 2, 3, 4
Treball en projectes (grups) 30 1,2 1, 2, 3, 4, 5, 6, 7
Tutories 2 0,08 1, 2, 3, 4, 5, 6
Tipus: Autònomes      
Estudi individual 20 0,8 1, 2, 3, 4
Resolució de problemes (individual) 10 0,4 1, 2, 3, 4
Treball en projectes (grups) 20 0,8 1, 2, 3, 4, 5, 6, 7

Avaluació

Per avaluar el nivell d'aprenentatge de l'estudiant s'estableix una fórmula que combina l'aprenentatge de coneixements, la capacitat de resolució de problemes i les capacitats de treballar en equip, així com de la presentació dels resultats obtinguts.

Nota Final

La nota final es calcula ponderadament de la següent manera i d'acord amb les diferents activitats que es duen a terme:

Nota final = 0.4* Nota Teoria + 0.1 * Nota Problemes + 0.5 * Nota de Projectes

S'aplicarà aquesta fórmula sempre que la nota de teoria i la nota de pràctiques siguin més gran que 5. No hi ha cap restricció sobre la nota de problemes. Si fent el càlcul de la fórmula surt >= 5, però no arriba al mínim exigit en alguna de les activitats d'avaluació, llavors la nota que es posarà en l'expedient serà de 4.5.

Nota de Teoria

La nota de teoria pretén valorar les capacitats individuals de l'estudiant pel que fa als continguts teòrics de l'assignatura, això es fa de forma continuada durant el curs amb dos exàmens parcials:

Nota Teoria = 0.5 * Nota Examen 1 + 0.5 * Nota Examen 2

L’Examen parcial 1 es fa a la meitat del semestre i serveix per eliminar part de la matèria si s'aprova. L'Examen parcial 2 es fa al final del semestre i serveix per eliminar la part del temari que ve després del parcial 1 si s'aprova.

Per poder tenir una nota de teoria serà necessari que les notes dels exàmens 1 i 2 siguin superiors a 4.

Examen de recuperació. En cas que la nota de teoria no arribi al nivell adequat per aprovar la teoria, els estudiants es poden presentar a un examen de recuperació, destinat a recuperar la part no superada de l'avaluació contínua.

Nota de Problemes

L'objectiu dels problemes és que l'estudiant es familiaritzi amb la implementació pràctica dels conceptes teòrics. El lliurament setmanal de les solucions dels problemes s'utilitzarà com a evidència d'aquest treball.

Per obtenir nota de problemes, cal que es lliurin mes que 50% dels problemes fets durant el semestre. En cas contrari la nota de problemes serà 0.

Nota Problemes = Avaluació del portfoli

Nota de Projectes

La part de projectes té un pes essencial en la nota global de l'assignatura i requereix que els estudiants treballin en equips i dissenyin una solució integral a l'repte definit. A més, els estudiants han de demostrar les seves habilitats per treballar en equip i presentar els resultats.

Cadascun dels dos projectes s'avalua a través del seu lliurable, una presentació oral que faran els estudiants a classe, i un procés d'autoavaluació per part dels estudiants. La participació dels estudiants a les tres activitats (desenvolupar el lliurable, presentar i omplir el formulari d'autoavaluació) és necessària per tenir nota de projecte. La nota es calcula de la següent manera:

Nota Projecte X = 0.6 * Nota Lliurables + 0.3 * Nota Presentació + 0.1 * Nota Autoavaluació

Si fent el càlcul de la fórmula surt> = 5, però l'estudiant no hagi participat en alguna de les activitats (lliurable, presentació o autoavaluació), llavors la nota d'el projecte corresponent serà de 4.5.

Nota de  Projectes = 0.5 * Nota Projecte 1 + 0.5 * Nota Projecte 2

Per poder tenir una nota de projectes caldrà que les notes dels dos projectes siguin superiors a 4.

No hi ha recuperació dels projectes: en cas de no presentar un lliurament o considerar-lo copiat, si la Nota de Projectes final no supera el 5.0, es considera l'assignatura suspesa.

Notes importants

Sense perjudici d'altres mesures disciplinàries que s'estimin oportunes, i d'acord amb la normativa acadèmica vigent, la comissió d'activitats irregulars per part de l'estudiant (per exemple, plagiar, copiar, deixar copiar, ...) implicarà suspendre l'activitat corresponent amb un zero (0). Les activitats d'avaluació qualificades d'aquesta forma i per aquest procediment no seran recuperables.

En cas que no es faci cap lliurament de problemes, no s'assisteixi a cap sessió de presentació dels projectes i no es faci cap examen, la nota corresponent serà un "no avaluable". En un altre cas, els "no presentats" computen com un 0 per al càlcul de la mitjana ponderada.

Per obtenir matrícula d'honor, la qualificació final ha de ser igual o superior a 9 punts. El nombre d'estudiants està inscrit al curs, se li atorga a qui tingui la qualificació final més alta. En cas d'empat, es veuran en compte els resultats dels exàmens parcials.

Activitats d'avaluació

Títol Pes Hores ECTS Resultats d'aprenentatge
Lliurament de problemes 10% 2 0,08 1, 2, 3, 4
Presentació de projectes 15% 4 0,16 2, 5, 6, 7
Proves escrites individuals 40% 4 0,16 1, 3, 4
Realització de projectes (lliurables i autoavaluació) 35% 3 0,12 5, 6, 7

Bibliografia

  • Data Science from Scratch: First Principles with Python, Joel Grus, O'Reilly Media, 2015, 1st Ed.
  • Pattern Recognition and Machine Learning, Christopher Bishop, Springer, 2011
  • Model-Based Machine Learning, J. Winn, C. Bishop, early access: http://mbmlbook.com/
  • Introduction to Data Science. L. Igual, S. Seguí. Springer, 2017
  • Pattern Classification, Duda, Hart, and Stork, 2nd Ed., 2002

Programari

Per als problemes i projectes del curs es farà servir Python i els mòduls NumPy, MatPlotLib, SciKit Learn, Pandas