Materials for "Machine Learning on Big Data" course
List of topics
Keywords: Google FS (master, chunkservers), Hadoop, HDFS (NameNode, DataNode), MapReduce (master, workers)
2. Apache Spark
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)
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
List of topics
Keywords: Offline Evaluation (hypothesis testing, 5x2 cv test, testing over multiple datasets), Online Evaluation
Для выполнения практик нужно сделать fork (GitHub Help: Forks) данного репозитория.
Задания находятся в <topic>/notebooks/<practice_name>.ipynb
.
- Убедитесь, что ishugaepov добавлен в список коллабораторов вашего форка (
Settings -> Manage access -> Invite a collaborator
) - Убедитесь, что ваш fork репозиторий содержит все актуальные изменения данного репозитория (GitHub Help: Syncing a fork)
- Выполните задание в отдельной ветке, например,
practice_1
(GitHub Help: Branches). - Сделайте Pull Request (
<current_practice_branch> -> master
), добавьте ishugaepov в Assignees (GitHub Help: PRs). - После проверки PR, ревьювер либо оставляет комментарии с замечаниями либо мерджит текущую ветку в мастер вашего репозитория.
- PR с выполненным заданием должен быть отправлен на проверку не позднее чем через 8 дней после того как было выдано задание.
- По прошествии дедлайна, в рамках PR можно только исправлять замечания, но не отправлять на проверку новые задачи.
- Для решения контестов можно использовать любые методы/приемы/фрэймворки, которые обсуждались на лекциях.
- После окончания контеста нужно будет написать отчет об итоговом решении.
FAQ
Оценка за курс выставляется по результатам выполнения практических заданий.
При выставлении оценки все задания учитываются с одинаковым весом.
Очередное практическое задание будет появлятся после лекции.
Контесты обязательны и нужны для более объективной оценки некоторых практических заданий.
Позиция в лидерборде + отчет об итоговом решении позволяют получить дополнительные баллы, после завершения контеста.
В рамках курса мы будем использовать Docker container с Hadoop, для того чтобы эмулировать кластер и запускать различные примеры.
См. Docker Tutorial