Machine learning in Julia programming environment
Code | Completion | Credits | Range | Language |
---|---|---|---|---|
01SUJ | KZ | 3 | 1P+2C | Czech |
- Garant předmětu:
- Lecturer:
- Tutor:
- Supervisor:
- Department of Mathematics
- Synopsis:
- Requirements:
- Syllabus of lectures:
-
1. Introduction to Julia, advantages over Matlab, Python, R. Variables and operators.
2. Functions, numerical types and multiple dispatch.
3. If-else statements, for and while loops, basic iterators.
4. Composite types and constructors. Parametric types.
5. Modules and environments. Using already existing code.
6. Useful packages: Plots.jl for creating plots, DataFrames.jl for working with tabular data.
7. Optimization. Gradient descent and stepsize selection.
8. Regression and classification. Linear regression and SVM.
9. Neural networks I. Creating a neural network manually and with Flux.jl.
10. Neural networks II. Computing gradients. Stochastic gradient descent.
11. Ordinary differential equations. Algorithms. ODE.jl package.
12. Statistics I. Introduction. Limit theorems. Distributions.jl.
13. Statistics II. Maximum likelihood. Uniform distribution on a sphere or a simplex.
- Syllabus of tutorials:
- Study Objective:
- Study materials:
-
Key references:
[1] Bezanson, Jeff, et al. Julia: A fresh approach to numerical computing. SIAM review 59.1 (2017): 65-98.
[2] Kochenderfer, Mykel J., and Tim A. Wheeler. Algorithms for optimization. MIT Press, 2019.
[3] Lauwens, Ben, and Allen B. Downey. Think Julia: how to think like a computer scientist. O'Reilly Media, 2019.
Recommended references:
[4] Julia Documentation. @ https://docs.julialang.org/en/v1/manual/documentation/index.html
- Note:
- Further information:
- No time-table has been prepared for this course
- The course is a part of the following study plans: