Направление «Машинное обучение»
Для поступления на машинное обучение нужно повторить такие темы:
- асимптотическая сложность,
- основные структуры данных,
- сложность операций,
- сортировки,
- алгоритмы, связанные с деревьями и графами.
- умножение матриц и векторов,
- операции над матрицами,
- разложение матриц.
- условная вероятность,
- распределения случайных величин,
z-score ,p-value ,- алгоритмы сэмплинга.
- линейная регрессия,
- логистическая регрессия,
- деревья решений,
- алгоритмы кластеризации,
- обнаружение аномалий.
- градиентные спуски,
EM-алгоритм ,- градиентный бустинг.
- выбор признаков,
- валидация модели,
- метрики модели,
- метод ансамблей,
- бустинг,
- бэггинг,
- бутстрэппинг.
Можно использовать свои материалы для подготовки или воспользоваться нашим списком.
Книги
- Elements of statistical learning, Tibshirani.
- Pattern Recognition and Machine Learning, Christopher M. Bishop.
- Deep learning book, Goodfellow.
- Introduction to Information Retrieval, Christopher D. Manning.
- «Глубокое обучение. Погружение в мир нейронных сетей», А. Кадурин, С. Николенко.
- Подборка бесплатных книг на GitHub.
Направление «Scala»
Подготовка на Scala проходит по двум уровням — базовому и продвинутому.
- асимптотическая сложность;
- основные структуры данных, сложность операций;
- сортировки, коллекции.
- acid;
- indexes;
- locks.
- ООП.
- сегменты памяти;
- процесс и поток выполнения;
- взаимодействие процессов сети;
- модели
TCP/IP иISO/OSI ; - протоколы IP, TCP и UDP.
- memory model;
- garbage collection;
- thread pools.
- collections;
- futures, execution contexts.
- AP.
- основные понятия;
- ООП vs ФП.
Книги
- «Алгоритмы. Построение и анализ». Кормен Томас Х., Лейзерсон Чарльз И.
- Programming in Scala, Fourth Edition. M. Odersky.
- Cracking the Coding Interview: 189 Programming Questions and Solutions. Gayle Laakmann, McDowell.
Полезные ресурсы
Направление «Аналитика»
Подготовка к поступлению проходит по двум уровням — базовому и продвинутому. Важно иметь математический склад ума, развивать критическое мышление, уметь работать в команде и задавать себе вопросы во время решения задачи.
- условная вероятность;
- распределения случайных величин;
- z-score, p-value;
- статистическая значимость;
- мат. ожидание, дисперсия, корреляция и ковариация случайных величин.
- опыт работы с данными: считывание, поиск первичных закономерностей, вывод, графическая обработка;
- работа с Jupyter Notebook;
- numpy, pandas, plotly, matplotlib.
- умение писать SQL-запросы: join, group by, подзапросы.
Полезные ресурсы