Miracle Star offers an online course in **Introduction** **to** **Machine Learning**. The course will contain 14 units (lectures) – the length of each lecture will be around 2-3 hours. After each lecture, the students will receive homework which will be due to the next lecture. There will be 2 lectures per week (day and time to be agreed with all students, so the majority of them will be satisfied). The feedback on the homework will be provided by the lecturer and delivered individually to each student. There will also be two practical tasks (details on the syllabus below). Each practical task will be due two weeks after the assignment, again feedback will be provided individually to each student by the lecturer.

**Lecturer** – Stefan Lazov

**Price – **150 euro

**Capacity** – 30 students

**Sign up procedure **– To express interest in signing up, please email stefan.lazov@miraclestar.info . After a student expresses interest he/she will go through a 15-30 minute online call with the lecturer in which they will discuss the motivation of the student for taking the course, any particular needs that the student has, etc. In 1-2 days after the call, the student will be notified whether he/she is approved for taking the course. In case some student gets disapproved, he/she will get detailed feedback on how to improve and reapply for the next iteration of the course. During the course, each student will have several calls with the lecturer during any of the courses. The purpose of those calls will be to both give feedback to the student on how they are performing and to give directions for future improvement.

**Payment** – After signing up you will receive details for making a bank transfer. You should pay before the second lecture of the course to continue attending till the end. In other words, you will get 1 lecture for free

**Start of the course** – The course will start on 15-th of December 2021

**End of the course – **8 to 9 weeks after the start ( we will have some vacation for Christmas and New Year)

**Prerequisites** – The only prerequisite is some previous experience in coding (not necessarily Python and not necessarily related to Machine Learning)

**Programming Language and Framework** – Python and PyTorch

**Languages:** The course has two groups, one is taught in Bulgarian, the other in English. Each student can choose the group to which they want to join in case they are approved for taking the course.

**Syllabus**

**Course Introduction and Calculus**

- Functions in 1 and many variables
- Derivatives of functions in 1 and many variables
- Integration of functions in 1 and many variables

**2. Probability Theory**

- Basic Concepts in Probability Theory
- Random Variables
- What is a probability distribution?
- Binomial Distribution
- Multinomial Distribution
- Beta Distribution
- Dirichlet Distribution
- Gaussian Distribution
- Conditional and Joint probability

**3. Linear Algebra**

- Matrices
- Tensors
- Eigenvalues, Eigenvectors
- Diagonalization

**4. Markov Models**

**5. Introduction to Python**

- Installing Python
- Using Virtual Environments
- Python packages
- Intrduction to the Pandas Package

6. **Introduction to ML**

- What is a model?
- What is a dataset?
- How to measure the performance of a model?
- How to train a model?
- How to test a model?

7. Basic ML Models

- Linear Regression
- Logistic Regression
- Decision Tree
- Random Forest
- Introduction to Scikit-Learn

8. More Advanced ML Models

- Support Vector Machines
- …

9. **Practical 1** – Each student will receive a task to train and describe the performance of a machine learning model for a particular problem. The problem and the data will be the same for all students. There will be 2 weeks for each student to complete the task and describe the results in a research report (guidelinefs on how this report should be written will be given in class). During the lecture related to this practical we will discuss the problem, the presented data, and we will walk through some specifics which may help the student find a good solution.

10. **Neural Networks Basics**

- Why do we need neural networks?
- Why do neural nets work?
- What is the idea behind neural networks?

11. **Training Neural Networks**

- The Backpropagation Algorithm
- Loss Function
- Objective function
- Measuring performance
- Optimization Algorithms

12. **Hands-on Neural Nets in PyTorch**

- Coding and training a neural network from scratch in PyTorch

13. **Generalization of neural networks**

- Intuitive understanding of generalization
- Regularization and why does it work
- Types of regularization techniques
- How to implement regularization in PyTorch

14. **Practical 2** – Very similar to Practical 1, although this time, the idea will be to use a neural net to solve a specific problem ( won’t be the same problem as in Practical 1 )

**FAQ**

- Am I going to get a recording of the lectures? – Yes, each student will receive a recording of each one of the lectures
- Can I communicate with other students? – Yes, there will be a Slack channel for the course, we will all communicate there
- How often can I communicate with the lecturer? – Whenever you have a question, a problem or anything which concerns the course or improving your Machine Learning knowledge. You are more than welcome to ask the lecturer any questions which go beyond the boundaries of the course, ask for additional reading
- Is there a recommended textbook? – No, each student will receive the notes for the next lecture after the end of the previous one. There will be references to books and papers in the notes, so you are more than welcome to read those and ask the lecturer questions about them
- Are there going to be more advanced courses? – Yes, there will be at least 3 more advanced courses as this is the first course of the
**Machine Learning Specialization**offered by Miracle Star. The next course which is recommended after the completion of this one is Introduction to**Contemporary Neural Networks and Some Applications,**after that this one two more specialized courses are recommended –**Neural Networks for Image Recognition and Object Detection**and**Natural Language Processing**( this will involve both Neural Nets and more classical NLP techniques ) **How the lectures will be held?**– The lectures will be held online over Zoom**Can I miss lectures?**– Attending or missing lectures is your own responsibility and decision**Will I get a recording of the lecture if I did not attend?**– Yes, you will also be able to address any questions to the lecturer you have over the Slack channel**Will I get a certificate?**– No, but the completed practicals and the submitted research reports will serve as very good portfolio projects for you**Will the graduates receive any job offers?**– Miracle Star will negotiate potential partnerships with software companies looking for machine learning engineers. The short answer is**maybe**but the purpose of the course is to prepare you for entering the ML field and finding a job by yourself. If any additional opportunities arise, you will be notified. It is also important that to increase you chances of landing a job, it will be good for you to take at least one of the more advanced courses offered as a part of the**Machine Learning Specialization**. This will give you more knowledge and more projects to put in your portfolio.

Do not hesitate to address any questions which were or were not answered here to **stefan.lazov@miraclestar.info** .