Уровень «Начинающий» — введение в Data Science и основы ИИ
Ключевые темы и формируемые умения:
- Программная обработка текстов: извлечение слов по формальным правилам, работа с регулярными выражениями, расчёт статистических метрик (среднее, медиана, мода), анализ n-грамм.
- Очистка и валидация табличных данных: чтение CSV-файлов, фильтрация «грязных» строк, работа с ZIP-архивами.
- Основы визуализации: построение гистограмм и линейных графиков с помощью Matplotlib.
- Введение в компьютерное зрение: представление изображения как матрицы, операции яркости, контраста, бинаризации, применение гауссова размытия и фильтра повышения чёткости.
- Базовые концепции машинного обучения: дерево решений на интуитивном уровне, наивный байесовский классификатор для анализа тональности, использование CountVectorizer и MultinomialNB из scikit-learn.
- Рекомендательные системы на основе косинусной близости, метод Value Iteration для простых сеточных сред.
- Итоговый проект: пайплайн классификации новостных текстов на категории.
Используемые технологии: Python (Jupyter), NumPy, pandas, Matplotlib, Pillow, scikit-learn (базовые модули).
Уровень «Базовый» — классическое машинное обучение и олимпиадный инструментарий
Ключевые темы и формируемые умения:
- Полный цикл обработки данных: объединение нескольких источников, продвинутая очистка (пропуски, бесконечности, дубликаты), корреляционный анализ с расчётом коэффициентов Пирсона.
- Анализ временных рядов: скользящее окно, детектирование аномалий по правилу 2σ.
- Сбор данных из интернета: HTTP-запросы, парсинг HTML с BeautifulSoup, соблюдение этических норм и ограничений.
- NLP-конвейер: лемматизация (pymorphy2), извлечение именованных сущностей (Natasha), TF-IDF-векторизация, обучение классификаторов (логистическая регрессия, CatBoost), кросс-валидация.
- Рекомендательные системы: user-based и item-based коллаборативная фильтрация, матричная факторизация методом SGD (реализация алгоритма «с нуля»).
- Компьютерное зрение: выделение границ с помощью оператора Собеля, автоматическая бинаризация методом Оцу, морфологическое закрытие, полный пайплайн сегментации изображений.
- Ансамблевые методы: Random Forest и градиентный бустинг, сравнение важности признаков.
- Обучение с подкреплением: Q-Learning, разработка агента для поиска сокровищ в динамическом лабиринте.
- Сквозной проект: сбор и анализ новостей с визуализацией временного ряда упоминаний.
Используемые технологии: scikit-learn, CatBoost, Requests, BeautifulSoup, pymorphy2, Natasha, NumPy, pandas, Matplotlib, skimage (частично).
Уровень «Продвинутый» — алгоритмическая глубина и нейросетевые технологии
Ключевые темы и формируемые умения:
- Матричная факторизация и оптимизация: ручная реализация SGD, подбор гиперпараметров, сравнение с ALS.
- Задача определения языка текста в условиях шумов: инженерия лингвистических признаков (n-граммы, артикли, суффиксы), очистка данных, устойчивая к опечаткам и заменам раскладки.
- Компьютерное зрение без готовых библиотек: поиск маркеров, оценка аффинного преобразования по четырём парам точек, собственная реализация обратного мэппинга с билинейной интерполяцией, создание детектора различий на изображениях с расчётом IoU.
- Метод главных компонент (PCA): математический вывод, реализация через SVD, сжатие и восстановление изображений лиц, выбор числа компонент по порогу объяснённой дисперсии.
- Нейронные сети: полносвязный перцептрон на NumPy (прямой и обратный проход), затем переход на PyTorch; построение свёрточной сети, transfer learning для классификации изображений, визуализация карт активации.
- Глубокое обучение с подкреплением: Deep Q-Network (DQN), replay buffer, target network; решение задачи с частичной наблюдаемостью (POMDP) — агент в лабиринте с ограниченным полем зрения и движущимися ловушками.
- Прикладной проект «Формула счастья»: сбор данных через VK API, анализ тональности текстов с использованием RuBERT, конструирование композитной метрики субъективного благополучия, визуализация зависимости индекса от возраста и пола.
- Интерпретируемость моделей: важность признаков в деревьях решений, восстановление пути принятия решения, обзор SHAP и LIME.
- Командный хакатон, объединяющий NLP, CV и RL в одной задаче, и итоговая олимпиада.
Используемые технологии: PyTorch, RuBERT (Hugging Face), VK API, NumPy, scikit-learn, Pillow, собственная реализация низкоуровневых алгоритмов.