Библиотека собеса по Data Science | вопросы с собеседований
4.31K subscribers
446 photos
10 videos
1 file
470 links
Вопросы с собеседований по Data Science и ответы на них.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/7dfb7235

Для обратной связи: @proglibrary_feeedback_bot

Наши каналы: https://t.iss.one/proglibrary/9197
Download Telegram
🤔 Зачем вообще понимать, как работает ML?

Сейчас многие просто запускают модельку в sklearn — и радуются точности 0.92.

Вроде всё работает… но почему?
А когда сломается — что делать?


Машинное обучение — это система, которую можно понять.

Если знаешь, что делает градиентный спуск, зачем нужен бустинг и как дерево принимает решения — ты не просто «запускаешь», ты управляешь моделью.

👉 Мы сделали курс, чтобы в это было реально въехать:

— без сложных формул;
— с интуитивными объяснениями;
— от простого к сложному.

Если хочешь перейти от «гуглю код» к «понимаю, как это работает» — ты по адресу!

Стартуем в сентябре — бронируй место на курсе уже сейчас
👍1
😊 Почему важно учитывать «cost asymmetry» при обучении модели, даже если метрики хорошие

Во многих прикладных задачах цена разных ошибок неравнозначна.

Например, в задаче обнаружения мошенничества ложноположительное срабатывание может раздражать клиента, но ложное отрицание — стоит компании денег. Даже если модель показывает хорошие значения precision, recall или F1, они могут не отражать реального ущерба.

Без учёта бизнес-контекста модель может быть «хорошей» в метриках и при этом вредной на практике. Поэтому при проектировании и оценке моделей важно не просто гнаться за числовыми показателями, а внедрять логику, которая соответствует реальной стоимости ошибок.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42
🆕 Зачем анализировать не только финальные предсказания модели, но и её промежуточные представления (features, embeddings)

Промежуточные представления дают понимание того, как именно модель «видит» данные.

Иногда модель может давать правильные предсказания, но по неправильным причинам — например, полагаясь на артефакты или коррелирующие, но не причинно значимые признаки. Анализ внутренних слоёв, embeddings и attention-механизмов позволяет выявить такие ложные зависимости до того, как они станут проблемой в продакшене. Кроме того, визуализация или кластеризация представлений может подсказать новые инсайты о данных: скрытые сегменты, шум, смещения.

Это особенно ценно при работе с «чёрными ящиками» вроде глубоких нейросетей — заглянуть внутрь, чтобы понять, что модель действительно «учится», а не просто запоминает.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍3
🫣 Боитесь математики в ML?

Думаете, для этого нужно вспоминать университетские интегралы и решать сложные уравнения?

У нас хорошая новость: машинное обучение — это в первую очередь инженерная практика, а не математическая олимпиада. Здесь важнее понимать суть, а не выводить формулы.

Именно на таком подходе — через логику, интуицию и наглядные примеры — и построен наш курс «ML для старта в Data Science», где мы объясняем всё на пальцах, без боли и зубрёжки.

Регистрируйтесь, пока есть свободные места 😉
💡 Как связаны ошибки первого и второго рода с precision, recall и ROC-кривой

Ошибки первого рода (ложноположительные) и второго рода (ложноотрицательные) напрямую отражаются в метриках:

➡️ Recall (чувствительность) — показывает, какую долю настоящих положительных случаев модель нашла. Повышая recall, мы уменьшаем ошибки второго рода, но можем увеличить ошибки первого рода — то есть начать «ловить» ложные срабатывания.

➡️ Precision (точность) — показывает, какую долю из предсказанных положительных случаев действительно являются таковыми. Чем выше precision, тем меньше ошибок первого рода.

➡️ ROC-кривая отображает компромисс между True Positive Rate (Recall) и False Positive Rate (ошибка первого рода) при разных порогах. Она помогает выбрать рабочую точку модели в зависимости от цены каждой из ошибок.

📌 Важно: выбор между precision и recall зависит от задачи. В медицине критичнее не пропустить заболевание (минимизировать ошибку второго рода), а в спаме — не ошибаться с лишними срабатываниями (ошибки первого рода).

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Как можно встроить экспертные знания о задаче в Bayesian-подход к тюнингу гиперпараметров

В Bayesian optimization доменные знания можно внедрить через задание информативных априорных распределений и стартовых точек:

🟠 Ограничение диапазонов — если известно, что в вашей области обучения эффективные learning rate находятся в узком интервале, априор можно задать не равномерным, а суженным (например, log-uniform в пределах, где вы ожидаете хорошие результаты).

🟠 Warm-start — добавить в начальный набор экспериментов уже успешные конфигурации, чтобы модель-заместитель сразу получила полезную информацию о ландшафте гиперпараметров.

🟠 Специализированная модель-заместитель — вместо стандартного Gaussian Process использовать модель, отражающую корреляции между гиперпараметрами (например, объединяя родственные типы регуляризации в иерархию).

💡 Подводный камень: чрезмерно «узкие» или слишком уверенные априоры могут зафиксировать поиск в локальном оптимуме. Даже с сильными предположениями полезно сохранять некоторую степень случайного исследования пространства.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍3
🧐 Зоопарк моделей в ML: с чего начать?

Открываешь статью по машинному обучению — и в тебя летят слова: трансформеры, бустинги, SVM, регрессии.

Кажется, придётся учить всё это, иначе в ML не пустят.

Хорошая новость: 90% задач можно закрыть 2–3 классическими методами. Разберёшь их — уже сможешь собирать работающие проекты. А хайповые названия подождут.

Важно: не распыляйся на всё подряд. Начни с базового — это фундамент, на котором держится остальное.

👉 Успей попасть на курс «ML для старта в Data Science»
👉 Как интегрировать несупервизорные или self-supervised сигналы в потоковой обработке данных, если метки приходят с задержкой или доступны частично

В таких условиях модель не должна простаивать, пока ждёт разметку — можно использовать несколько стратегий:

Self-supervised задачи — для текста (маскированное предсказание токенов) или изображений (контрастивное обучение) модель может подстраиваться к новым распределениям данных без явных меток, постепенно улучшая представления.

Буферизация с дообучением — хранить необмеченные данные, частично дообучать модель на self-supervised или старых размеченных данных, а после получения меток выполнять полное обновление.

Инкрементальное кластеризование — алгоритмы вроде online k-means или потоковых версий DBSCAN позволяют отслеживать появление новых кластеров (концепт-дрифт) и адаптировать модель ещё до появления меток.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
1
👇 Как выявлять и обрабатывать концептуальный дрейф (concept drift) в потоковых данных

Когда распределение входных данных или целевой переменной меняется со временем, модель начинает деградировать. Чтобы минимизировать ущерб:

➡️ Мониторинг статистик — отслеживать метрики качества и распределения признаков, использовать тесты вроде K-S или PSI.

➡️ Скользящее окно обучения — хранить только последние N наблюдений и регулярно дообучать модель.

➡️ Адаптивные алгоритмы — применять модели, которые сами подстраиваются под новые данные (например, online gradient descent или адаптивные леса).

➡️ Гибридные ансамбли — совмещать несколько моделей с разными “возрастами” данных, постепенно замещая устаревшие.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Какова связь между масштабированием и PCA

PCA чувствителен к масштабу признаков — признаки с большей дисперсией будут сильнее влиять на главные компоненты.

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

Библиотека собеса по Data Science
1
📺 Хватит коллекционировать туториалы!

Десятки роликов по ML, сотни вкладок, папка «Посмотреть позже» трещит по швам. В голове — обрывки знаний о нейросетях и Pandas.

Знания без системы — это просто «шум». Они не превращаются в навыки и проекты.

Наш курс «ML для старта в Data Science» — это не ещё один туториал. Это система. Чёткий путь от «каши» в голове до первого сильного проекта в портфолио.

И да, чтобы старт был ещё проще — при покупке курса по ML вы получаете курс по Python в подарок

👉 Превратите «шум» в навык

А вы сталкивались с «информационной кашей»? Как выбирались? 👇
Как учитывать стоимость ошибок в классификации, если мы опираемся на AUC и ROC-кривые

ROC-кривые и AUC оценивают, насколько хорошо модель ранжирует положительные объекты выше отрицательных, но не учитывают, что цена ложноположительных и ложноотрицательных ошибок может сильно отличаться.

В задачах с высокими ставками — от поиска мошенничества до медицинской диагностики — важно адаптировать подход:
🔎 Использовать матрицу стоимости или кастомную функцию потерь, чтобы сильнее наказывать определённые ошибки.
🔎 Выбирать порог не для максимизации TPR/FPR, а для минимизации ожидаемой стоимости ошибок.
🔎 Считать дополнительные метрики, например, cost-weighted accuracy или Weighted Error Rate, которые учитывают специфику домена.

Главная ошибка — слепо ориентироваться на AUC: модель с лучшим AUC может оказаться хуже на реальном пороге, где критична стоимость ошибок.

🐸 Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3
У вас есть набор данных с пропущенными значениями. Как вы подходите к их обработке?

Сначала анализируем, какие данные пропущены и почему (MCAR, MAR, MNAR).

📌 Если пропусков мало, можно удалять строки или колонки.

📌 Если много — импутация: среднее/медиана для числовых, мода для категориальных, или более сложные методы (KNN, MICE).

📌 Для моделей, чувствительных к пропускам (например, деревья), можно оставить NaN как отдельную категорию.

📌 Важно не искажать распределение данных и фиксировать шаги для воспроизводимости.

🐸 Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🤔1
🚀 Главная ошибка новичка в ML — строить звездолёт вместо велосипеда

Многие сразу хотят свою Midjourney, но в итоге получают только выгорание.

Успех начинается с «велосипеда»: научитесь предсказывать цены или классифицировать отзывы. Освойте базу, а уже потом стройте «звездолёты».

Наш курс «ML для старта в Data Science» — это и есть тот самый правильный старт от простого к сложному.

👉 Начните правильно

Берёте курс «ML для старта» до конца недели — Python в подарок.

А 21 августа пройдет бесплатный вебинар с Марией Жаровой: узнаете, какие проекты качают скилл, а какие качают ваши нервы.

А какой самый сложный проект вы брались делать в самом начале? 🫢
💬 В чём разница между LIME и SHAP с точки зрения стабильности объяснений и теоретической основы

Обе методики дают локальные объяснения, но:

SHAP — основан на теории кооперативных игр и гарантирует согласованность и аддитивность. Если вклад признака растёт во всех возможных комбинациях признаков, его значение SHAP не уменьшится. Это даёт более стабильные объяснения между запусками, но требует больше вычислительных ресурсов.

LIME — использует локальную линейную аппроксимацию и создаёт объяснение на основе случайной выборки точек вокруг объекта. Из-за случайности результат может меняться между запусками, зато метод проще и быстрее.

Итог: SHAP — стабильнее и теоретически обоснованнее, LIME — быстрее и проще.

🐸 Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Что такое мультиколлинеарность и почему она опасна для регрессионных моделей

Мультиколлинеарность — это ситуация, когда два или более признака сильно коррелируют между собой.

Последствия:
Коэффициенты модели становятся нестабильными и трудно интерпретируемыми.
Стандартные ошибки увеличиваются, снижается статистическая значимость признаков.
Модель хуже обобщается на новые данные.

Решения:
Удалить один из коррелирующих признаков.
Применять регуляризацию (Ridge/Lasso).
Использовать методы снижения размерности (PCA).

🐸 Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍3
🧠 Выбор первого ML-проекта: чеклист против выгорания

Классика плохих решений в ML — выбрать слишком сложный проект: неделя ковыряния в коде, десятки крашей и никакого результата. Хотите дойти до финиша — начните с простого проекта, который реально можно довести до конца.

Мини-чеклист первого проекта:

1. Понятные данные — без «я нашёл датасет в даркнете, но он на суахили».

2. Измеримая метрика — «точность 92%», а не «ну вроде работает».

3. Объяснимый результат — чтобы не-техлид понял, почему модель ругается на спам.

Наш курс «ML для старта в Data Science» — старт от простого к сложному: теория → практика → проверка → проект в портфолио.

👉 Начать свой путь в Data Science

Оплатите курс по ML до 17 августа — курс по Python в подарок.

📅 Бесплатный вебинар с Марией Жаровой — 21 августа: как выбирать проекты, которые доводят до оффера, а не до психотерапевта.

💾 Сохрани, чтобы не потерять, когда будешь готов(а) начать
▶️ Могут ли в Adam возникать проблемы исчезающих или взрывающихся градиентов

Да, полностью избежать этих проблем Adam не может. Хотя адаптивное изменение шагов помогает уменьшить эффект исчезающих или взрывающихся градиентов, при определённых архитектурах или распределениях данных они всё равно могут появляться.

Если градиенты резко становятся очень большими, шаг Adam тоже может временно стать слишком большим, особенно если оценка второго момента ещё не усреднилась. В обратной ситуации — при очень маленьких градиентах — Adam постепенно уменьшает шаг, что может привести к слишком медрому обучению, даже если параметрам нужно сделать крупные поправки.

📌 Вывод: Adam снижает риск, но не полностью устраняет проблемы исчезающих и взрывающихся градиентов — архитектура сети и нормализация данных по-прежнему критически важны.

🐸 Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
😎 Вы просили — мы сделали. Самый долгожданный анонс этого лета!

Мы открываем набор на второй поток курса «AI-агенты для DS-специалистов»!

На курсе мы учим главному навыку 2025 года: не просто «болтать» с LLM, а строить из них рабочие системы с помощью Ollama, RAG, LangChain и crew.ai.

📆 Старт потока — 15 сентября.

💸 Цена 49 000 ₽ действует только в эти выходные — до 17 августа. С понедельника будет дороже.

👉 Занять место
😢2
🔎 В чём разница между 1D, 2D и 3D свёртками и в каких задачах их применяют

1D свёртки
Работают вдоль одной размерности (с каналами). Часто применяются для последовательных данных: аудио, текстовые последовательности после эмбеддинга. Ядро имеет форму kernel_size × in_channels и скользит по одной оси.

2D свёртки
Стандарт для изображений. Ядро скользит по ширине и высоте (и по каналам). Идеальны для обработки обычных 2D-картинок.

3D свёртки
Добавляют третью ось, например, время или глубину. Используются для видео (высота × ширина × время). Ядро может быть, например, 3×3×3, чтобы одновременно улавливать пространственные и временные зависимости.

Особенности:
Неправильная размерность приводит к несоответствию данных и модели.
3D свёртки требовательны к памяти, поэтому часто используют комбинации 2D + временное объединение или (2+1)D свёртки (разделяют пространственную и временную части).

Вывод: Выбор типа свёртки зависит от структуры данных: последовательности — 1D, изображения — 2D, видео — 3D.

🐸 Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
1