Gépi tanulás

A tantárgy angol neve: Machine Learning

Adatlap utolsó módosítása: 2021. június 9.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar
Mérnökinformatikus szak
Intelligens rendszerek mellékspecializáció
MSc képzés
Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VIMIMA05 2 2/1/0/v 4  
3. A tantárgyfelelős személy és tanszék Dr. Bolgár Bence Márton,
4. A tantárgy előadója

Dr. Bolgár Bence Márton tudományos munkatárs, Méréstechnika és Információs Rendszerek Tanszék

 

5. A tantárgy az alábbi témakörök ismeretére épít Mesterséges intelligencia
6. Előtanulmányi rend
Kötelező:
NEM ( TárgyEredmény( "BMEVIMIM136" , "jegy" , _ ) >= 2
VAGY
TárgyEredmény("BMEVIMIM136", "FELVETEL", AktualisFelev()) > 0
VAGY
TárgyEredmény( "BMEVIMIMA27" , "jegy" , _ ) >= 2
VAGY
TárgyEredmény("BMEVIMIMA27", "FELVETEL", AktualisFelev()) > 0)

A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

Ajánlott:
Mesterséges intelligencia
7. A tantárgy célkitűzése A tantárgy az intelligens rendszerek egyik alapvető képességének, a tanulásnak a gépi megvalósítási lehetőségeivel foglalkozik. Bemutatja a gépi tanulás fajtáit, összefoglalja a gépi tanulás elméleti alapjait, és részletesen elemzi a legfontosabb tanuló rendszer architektúrákat. A tárgy a gépi tanulást egységes valószínűségi keretbe helyezve vizsgálja, amelynek során érinti a matematikai, filozófiai és programozási aspektusokat is. Az elméleti alapok bemutatásán túl a tárgy célja, hogy fejlessze a gyakorlati problémamegoldó készséget. Mindezt az egységes tárgyalásmód alkalmazásával és komplex alkalmazási példák bemutatásával éri el. A tárgy keretében elsajátított módszerek megalapozásként és háttérként szolgálnak kutatási és fejlesztési feladatok megoldásához.
8. A tantárgy részletes tematikája

1. Bayesi valószínűségelméleti alapfogalmak. Valószínűség, prior, likelihood, posterior. Maximum likelihood (ML), maximum a posteriori (MAP), teljesen bayesi következtetés, modellátlagolás. A teljesen bayesi következtetés nehézségei (példák, mikor van analitikus megoldás). Konjugált priorok (példák, hol használjuk őket).

2. Gépi tanulási alapfogalmak. Generatív és diszkriminatív modellek, diszkriminatív függvények a gépi tanulásban (példák). Bias-variancia dekompozíció, alultanulás, túltanulás, regularizáció. Gyakran használt veszteségfüggvények és regularizációs sémák valószínűségelméleti származtatása. Kiértékelés (CV, AUC, AUPR).
Gyakorlat: bayesi modellek, Python bevezető.

3. Regresszió. Alapfeladat, a lineáris regresszió valószínűségi modellje, ML és MAP becslés, ezekre az analitikus formulák levezetése, a megoldás menete, numerikus szempontok. Teljesen bayesi következtetés. Nem lineáris kiterjesztések: bázisfüggvények alkalmazása,  gyakran használt bázisfüggvények.

4. Klasszifikáció. Alapfeladat, a logisztikus regresszió valószínűségi modellje. Perceptron származtatása a Bayes-tétel felhasználásával, ML és MAP becslés, az iteratív formulák levezetése (szigmoid függvény, gradiens), a megoldás menete, numerikus szempontok.
Gyakorlat: lineáris és nemlineáris klasszifikációs modellek.

5. Neurális hálózatok. MLP architektúra, ML és MAP becslés, a backpropagation algoritmus levezetése. Neurális modellekben használt aktivációs függvények, a regularizáció módjai. Konvolúciós és visszacsatolt architektúrák, az ezekben használt rétegtípusok, példa alkalmazások.

6. Optimalizáció neurális modellekben. Az optimalizáció nehézségei, analitikus és numerikus szempontok. Optimalizációs algoritmusok alapelvei (batch, momentum, adaptív learning rate, magasabb rendű módszerek). Nevezetes algoritmusok.
Gyakorlat: neurális hálózatok.

7. Variációs módszerek. Közelítő bayesi következtetés, ELBO+KL dekompozíció, a variációs módszerek alapelve. BBVI, sztochasztikus gradiens-alapú optimalizáció. Reparametrizációs trükk, VAE. Adversarial training ötlete, GAN architektúrák alapelve.

8. Kernel gépek. Alapötlet, a kernel trükk lényege, gyakran használt kernel függvények. Szupportvektor-gép, veszteségfüggvény (hinge loss) és regularizáció. A duális probléma levezetése a Lagrange-módszerrel. Geometriai interpretáció, maximális margó.
Gyakorlat: variációs közelítés/SVM.

9. Dimenzió-redukció. Főkomponens-analízis: alapötlet, veszteségfüggvény, minimalizálása a Lagrange-módszerrel. Geometriai interpretáció. Kernel PCA.

10. EM algoritmus és klaszterezés. Maximum likelihood becslés nehézségei rejtett változók esetén. Az EM algoritmus levezetése. Gauss keverék-eloszlás, használata klaszterezésben. EM Gauss-keverékekre (az E- és M-lépések származtatása). K-means algoritmus. Spektrális klaszterezés alapötlete, a diszkrét Laplace-operátor tulajdonságai.
Gyakorlat: nemellenőrzött tanulás, klaszterezés.

11. MCMC. Az MCMC módszerek alapelve. Markov-láncok tulajdonságai. Az egyensúlyi eloszlás létezésének elégséges feltétele. Metropolis, Metropolis–Hastings algoritmus. Gibbs-mintavétel, konjugált priorok. Példa: bayesi lineáris regresszió Gibbs mintavétellel.

12. Modellek kombinációja. Bootstrap, bagging, az átlagos hiba alakulása. Exponenciális loss tulajdonságai, összehasonlítása egyéb veszteségfüggvényekkel. Az exponenciális loss minimalizálása gyenge osztályozók lineáris kombinációjával. AdaBoost algoritmus.
Gyakorlat: Következtetés Gibbs-mintavétellel.

13. Aktív tanulás. A K-karú rabló probléma, exploration vs. exploitation tradeoff. Regret definíciója, ennek alakulása különböző stratégiák esetében. Thompson-mintavétel, UCB1 algoritmus, a felső korlát bizonyítása. MCTS algoritmus és modern kiterjesztései (AlphaZero).

14. Federált tanulás. Alapötlet, kihívások. Nevezetes algoritmusok: federated averaging, FedProx. A federált tanulás valószínűségi megközelítései. Federált modellek kiértékelése.
Gyakorlat: K-karú rablók/federált tanulás.

9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) A tárgy elméleti része előadás formájában kerül leadásra. Gyakorlati feladatokra a félév során az előadásokon (számolások), illetve a kapcsolódó labor keretein belül kerül sor (programozási feladatok).
10. Követelmények

a. A szorgalmi időszakban:
Az előadáshoz kapcsolódóan kéthetente kisfeladatot kell megoldani és határidőre benyújtani. A félévközi aláírás megszerzésének a feltétele a hét kisfeladatból legalább négynek határidőre, elégséges szinten (a megszerezhető pontszám 40%-ának elérése) történő beadása.

b. A vizsgaidőszakban:
Írásbeli beugró után szóbeli vizsga. Az írásbeli beugró csak sikerült/sikertelen jellegű (küszöb a megszerezhető pontok 40%-a), amennyiben sikerült, akkor a vizsga szóbelin kialakuló eredményét már nem befolyásolja. A vizsgára bocsátás feltétele a félévközi aláírás megszerzése.

c. Osztályozás:
A vizsga osztályzata a félévközi feladat (40%) és a vizsgaeredmény (60%) alapján kerül megállapításra.

11. Pótlási lehetőségek A félévközi feladatok nem pótolhatók.
12. Konzultációs lehetőségek Megbeszélés szerint.
13. Jegyzet, tankönyv, felhasználható irodalom

A tárgy web-lapján közzétett előadási jegyzet, elektronikusan hozzáférhető ajánlott szak­iro­da­lom és kiegészítő információ, valamint web-es linkgyűjtemény.
A tárgy anyagának elsajátításához az alábbi könyvek is nagy segítséget adnak.

Altrichter Márta, Horváth Gábor, Pataki Béla, Strausz György, Takács Gábor, Valyon József: „Neurális hálózatok”, Panem, 2007.
Elektronikus formában (kibővítve): http://mialmanach.mit.bme.hu/neuralis/index

Stuart Russell és Peter Norvig: Mesterséges intelligencia korszerű megközelítésben, 2., átdolgozott kiadás, Panem Kiadó, Budapest, 2006
Elektronikus formában (kibővítve): http://mialmanach.mit.bme.hu/aima/index

Christopher M. Bishop: Pattern Recognition and Machine Learning. Springer, 2006.

14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
Kontaktóra42
Készülés előadásra9
Készülés gyakorlatra
9
Kis házi feladat
28
Vizsgafelkészülés32
Összesen120
15. A tantárgy tematikáját kidolgozta

Dr. Bolgár Bence Márton tudományos munkatárs, Méréstechnika és Információs Rendszerek Tanszék