Introduction to Machine Learning
- basic knowledge of programing in Python
- high school level of mathematics
This course is intended for beginners who have no or limited experience with machine learning and want to do their first steps in this field. The participants will learn what machine learning is, what types of ML are the most typical in practical applications and how the basic algorithms work. We are not going to sink into mathematical formulas or complex proofs. Instead, we will focus on intuitive understanding of the principles, which are necessary for the ability to design machine learning models.
The course covers introduction to classification, regression, clustering, and practical basics of artificial neural networks in Python.
- What is machine learning?
- Types of machine learning (classification, regression, ranking, reinforcement learning, clustering, anomaly detection, recommendation, optimization)
- Data preparation (train, test and validation data sets, imbalanced and noisy data)
- Classification model evaluation (accuracy, precision, recall, confusion matrix, ROC, AUC)
- Basic algorithms for classification (baseline models, Naïve Bayes Classifier, Logistic regression, Support Vector Machines, decision trees, ensemble models)
- Quick Scikit-Learn tutorial (how to load and transform data, training models, predicting values, model pipelines and evaluation)
- Practical classification task
- Basic algorithms for regression (analytical methods, gradient descent, SVR, regression trees)
- Basic algorithms for clustering (K-means, hierarchical clustering)
- Practical clustering task
- Introduction to artificial neural networks (why they are so popular, what their advantages and disadvantages are, perceptron neural network)
- Most frequently used activation functions (Sigmoid, Linear, Tanh, Relu, Softmax)
- Multi-Layer neural networks (back propagation algorithm, stochastic gradient descent, convolution, pooling, regularizations)
- Quick tutorial to Keras (sequential models, optimizers, training, data workflow)
- Practical classification and regression tasks using neural networks