Skip to content

Materials for "Machine Learning on Big Data" course

Notifications You must be signed in to change notification settings

ishugaepov/MLBD

Repository files navigation

Machine Learning on BigData

Materials for "Machine Learning on Big Data" course

Syllabus

Introduction

Tools and Systems for Big Data Storage and Processing

List of topics

Keywords: Google FS (master, chunkservers), Hadoop, HDFS (NameNode, DataNode), MapReduce (master, workers)

Keywords: Pig, Hive, Spark (RDDs, transformations, actions, lineage graph, fault-tolerance, persist, driver, workers, stages, dependencies, tasks, partition)

Keywords: Shark, DataFrames (DSL, cache, UDFs), Catalyst (tree, rule, catalyst in spark-sql)

Large Scale Machine Learning

List of topics

Keywords: Stochastic Gradient Descent, Data/Model Parallelism, General Purpose Distributed Computing(MapReduce, MR SGD, SparkNet, MLlib), Natively Distributed ML Systems (Parameter Server, DistBelief, TensorFlow, AllReduce, Horovod)

Keywords: One-hot encoding, Cross features, Factorization Machines (FM, FFM), Neural Networks (Deep Crossing, Deep & Cross, DeepFM)

Keywords: Categorical features (Naive Bayes, Mean Target Encoding), PLANET, XGBoost, CatBoost, SHAP values

Keywords: Grid Search, Random Search (low effective dimensionality), Bayesian Optimization (Gaussian Process, surrogate, acquisition), Predictive Termination, Hyperband (successive halving), Multi-task Bayesian Optimization

Keywords: Quantization, Knowledge Distillation, Pruning (one-shot, iterative, Lottery Ticket Hypothesis), Deep Compression, DeepGBM

Keywords: Simple RS (Item/User-based, Content based), Ranking Metrics, Matrix Factorization (SVD, PMF, ALS, iALS, Incremental ALS, Neural CF), Large Scale RS (MF with Distributed SGD, PytorchBigGraph, GraphVite), Ranking losses (BPR, WARP)

Keywords: Exact-kNN, Approximate NN (eps-NN), (Hierarchical) Navigatable Small World, LSH (random projections, minhash), Learning to Hash (Deep Supervised Hashing), Annoy, FAISS, ANN-benchmarks and evaluation

8. Latent Dirichlet Allocation

9. Dimensionality Reduction

10. Online Learning

11. Algorithms on Graphs

Online Controlled Experiments

List of topics

Keywords: Offline Evaluation (hypothesis testing, 5x2 cv test, testing over multiple datasets), Online Evaluation

2. Results Analysis ((Multiple) Hypothesis testing, Sensitivity, Power)

3. Heterogeneous Treatment Effect

Практики

Для выполнения практик нужно сделать fork (GitHub Help: Forks) данного репозитория.

Порядок выполнения и отправки задания на проверку

Задания находятся в <topic>/notebooks/<practice_name>.ipynb.

  1. Убедитесь, что ishugaepov добавлен в список коллабораторов вашего форка (Settings -> Manage access -> Invite a collaborator)
  2. Убедитесь, что ваш fork репозиторий содержит все актуальные изменения данного репозитория (GitHub Help: Syncing a fork)
  3. Выполните задание в отдельной ветке, например, practice_1 (GitHub Help: Branches).
  4. Сделайте Pull Request (<current_practice_branch> -> master), добавьте ishugaepov в Assignees (GitHub Help: PRs).
  5. После проверки PR, ревьювер либо оставляет комментарии с замечаниями либо мерджит текущую ветку в мастер вашего репозитория.

Deadlines

  • PR с выполненным заданием должен быть отправлен на проверку не позднее чем через 8 дней после того как было выдано задание.
  • По прошествии дедлайна, в рамках PR можно только исправлять замечания, но не отправлять на проверку новые задачи.

Домашние задания

Контесты

  1. Kaggle: CTR Prediction
  2. TBD

Общая информация

  1. Для решения контестов можно использовать любые методы/приемы/фрэймворки, которые обсуждались на лекциях.
  2. После окончания контеста нужно будет написать отчет об итоговом решении.

Docker

В рамках курса мы будем использовать Docker container с Hadoop, для того чтобы эмулировать кластер и запускать различные примеры.

См. Docker Tutorial

Datasets