Podrobnosti
Program je sestavljen iz dveh glavnih modulov ter devetih podmodulov, ki so podrobneje opisani v rubriki vsebine programa. Ime modula I je Programski jezik Java za potrebe strojnega učenja, ime modula II pa Osnove umetne inteligence. Trajanje celotnega usposabljanja je 160 pedagoških ur.
V prvem delu izobraževanja (modul I) bodo udeleženci spoznali sodoben, splošno namenski, hiter, varen, robusten, predmetno usmerjen programski jezik Java. Poleg pojmov, ki se nanašajo na konkretne programske konstrukte (podatkovni tipi, spremenljivke, izrazi, operatorji, pomnilnik …), bodo udeleženci spoznali programerske pristope, ki se uporabljajo v praksi in načine reševanja problemov. Naučili se bodo delati z datotekami, izjemami in podatkovnimi zbirkami ter napisati javanski program z vsemi elementi. Usposabljanje bo zelo praktično naravnano. Za vsak predstavljen teoretični koncept ali programski konstrukt je na predavanjih prikazana tudi njegova uporaba v konkretnih primerih.
V drugem delu izobraževanja (modul II) bodo udeležencem predstavljene teoretične osnove in osnovni principi metod strojnega učenja, osnovni algoritmi strojnega učenja in njihova uporaba v praksi za iskanje zakonitosti iz podatkov ter za učenje klasifikacijskih in regresijskih modelov. Udeleženci bodo teoretično znanje praktično uporabili na realnih problemih poslovnega okolja, konkretno na podatkih, ki se uporabljajo pri PSG kalibraciji.
Podrobnosti usposabljanja
Ciljna skupina usposabljanja so:
- zaposleni, ki nimajo ustreznih osnovnih strokovnih in specifičnih znanj,
- zaposlenii, ki želijo napredovati ali zamenjati delovno mesto in nimajo ustreznih specifičnih strokovnih znanj,
- novo zaposleni,
- zaposleni v okviru plana razvoja kompetenc in kariernih načrtov,
- zaposleni, ki želijo pridobiti znanje iz programskega jezika Java,
- zaposleni, ki želijo pridobiti znanje iz metod strojnega učenja.
Programski jezik Java za potrebe strojnega učenja
- Uvod
- Primitivni podatkovni tipi, izrazi, spremenljivke, logični izrazi, pogojni stavki in zanke
- Tabele, nizi in metode
- Tabele, nizi in metode za delo z nizi
- Iterativne in rekurzivne metode
- Naštevni podatkovni tip
- Datoteke in tokovi v javi
- Izjeme (vrsta, obravnava in pomen)
- Delo z datotekami
- Abstraktni podatkovni tipi
- Množice (Abstraktni podatkovni tip Set, Razred TreeSet)
- Seznami (Abstraktni podatkovni tip List, Razred ArrayList)
- Objektno orientirano programiranje
- enkapsulacija
- polimorfizem
- dedovanje
- Weka (Java API)
- paketi, razredi, metode
- struktura datoteke tipa arff in pretvorba v csv format
- weka.jar
Osnove umetne inteligence*
- Obravnava problema
- Regresija, klasifikacija
- Predprocesiranje: čiščenje, filtriranje, diskretizacija, binarizacija, spreminjanje diskretnih atributov v zvezne, obravnava neznanih vrednosti, vizualizacija
- Mere za ocenjevanje kvalitete modelov
- Klasifikacija: ACC, ROC, AUC, senzitivnost in specifičnost
- Kontingenčna matrika
- Regresija: MAE, RMSE, R2, RAE, RRSE
- Klasifikacija: ACC, ROC, AUC, senzitivnost in specifičnost
- Ocenjevanje učenja in ocenjevanje atributov
- Ocenjevanje točnosti
- na učnih podatkih (angl. training set, learning set)
- na testnih podatkih (angl. testing set, test set)
- na novih (ne-videnih) podatkih (angl. new data, unseen data)
- Zanesljivost ocenjevanja točnosti
- kadar je učnih podatkov dovolj, lahko izločimo testno množico (angl. holdout test set)
- alternativa: večkratne delitve na učno in testno množico (k-kratno prečno preverjanje (angl. k-fold cross-validation)); CV in LOOCV
- metoda bootstrap
- prekomerno prilagajanje modela (angl. overfitting)
- Primerjanje uspešnosti različnih algoritmov
- Ocenjevanje atributov
- ReliefF
- Uporaba razlage kot filter metode
- Ocenjevanje točnosti
- Metode strojnega učenja
- Klasifikacijski alg.: naključni gozdovi (RF), metoda k najbližjih sosedov (k-NN), odločitvena drevesa (J48), naivni Bayesov klasifikator (NB), metoda podpornih vektorjev (SMO), nevronske mreže (MLPC)
- Predikcijski alg.: naključni gozdovi (RF), linearna regresija (LR), nevronske mreže (MLPR), regresijska drevesa (M5P), metoda podpornih vektorjev (SMOreg)
- Učenje z ansambli metod (kombiniranje algoritmov: bagging, boosting, voting, stacking, random forest)
- na temo programskega jezika Java:
- zna identificirati osnovne prijeme, primerne za reševanje problema
- samostojno rešuje algoritmično usmerjene problemske naloge
- zna konstruirati pravilni algoritem za dani problem z uporabo osnovnih prijemov
- obvladuje tehnike razvojnega orodja
- zna uporabiti metodologije za razvoj programskih rešitev
- zna uporabiti osnovne in razvirti lastne algoritme
- razume abstraktne koncepte
- na temo umetne inteligence:
- zna analizirati podatke z izbranimi metodami strojnega učenja
- zna samostojno razvijati, izvajati in uporabljati metode strojnega učenja za reševanje realnih problemov
- zna uporabiti metode strojnega učenja pri načrtovanju in izvedbi zahtevnih problemskih nalog
- zna rokovati s podatki, ki se uporabljajo pri PSG kalibraciji.
- zna samostojno uporabljati programskega orodja za strojno učenje (Weka GUI)
- uporablja knjižnice Weka (Java API) za implementacijo lastnih programskih rešitev