Библиотека собеса по Data Science | вопросы с собеседований
4.29K subscribers
454 photos
13 videos
1 file
504 links
Вопросы с собеседований по Data Science и ответы на них.

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

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

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

Наши каналы: https://t.me/proglibrary/9197
Download Telegram
🦾 Что делать, если датасет очень маленький — как правильно использовать k-fold кросс-валидацию

Кросс-валидация особенно полезна в условиях дефицита данных, так как позволяет максимально использовать выборку. Но при очень маленьком датасете есть нюансы:

1️⃣ Leave-One-Out (LOOCV)
Когда данных меньше ~100, часто используют leave-one-out. В этом случае на каждом шаге модель обучается на всех объектах, кроме одного, а этот единственный объект идёт в тест. Так данные используются максимально, но метрика может иметь высокую дисперсию.

2️⃣ Риск переобучения на фолды
При многократной настройке гиперпараметров под одни и те же фолды легко подстроиться под шум или особенности отдельных примеров. Поэтому, если возможно, держите отдельный hold-out набор.

3️⃣ Высокая чувствительность к отдельным объектам
В малых данных каждый пример сильно влияет на метрику. Один выброс может кардинально исказить результат. Чтобы снизить случайные колебания, иногда повторяют кросс-валидацию с разными сидами и усредняют метрики.

Практические советы:
🚩 По возможности собрать больше данных.
🚩 Использовать осмысленное data augmentation (для картинок, текста, звука).
🚩 Включать знания предметной области (например, ограничения на модель).
🚩 Рассматривать байесовские методы, которые могут учитывать априорные знания.

🐸 Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
ПОСЛЕДНИЙ ДЕНЬ
КУРСЫ ПОДОРОЖАЮТ ЗАВТРА‼️

ML за 34к вместо 44к + Python в подарок
Математика → второй доступ в подарок
— Ранний доступ к AI-агентам с 15 сентября
— И МОЖНО УСПЕТЬ КУПИТЬ ВСЁ ДО ПОДОРОЖАНИЯ

👉 Proglib Academy
👉 Чем отличается алгоритм EM от градиентных методов при максимизации правдоподобия

🔹 Градиентный спуск
— Работает напрямую с градиентом лог-правдоподобия.
— Требует подбора шага обучения и других гиперпараметров (например, momentum).
— Универсален, но чувствителен к настройкам.

🔹 Алгоритм EM (Expectation–Maximization)
— Вместо прямого градиентного шага чередует E-шаг (оценка скрытых переменных) и M-шаг (максимизация по параметрам).
— Для моделей вроде GMM или HMM шаги часто имеют аналитическое решение, что делает обновления более “прямыми” и устойчивыми.
— Каждая итерация гарантированно не уменьшает значение функции правдоподобия.

🔹 Общие моменты
— Оба метода могут застрять в локальных максимумах (особенно при плохой инициализации).
— EM часто быстрее сходится для задач со скрытыми переменными, тогда как градиентные методы универсальнее и применимы даже там, где M-шаг не имеет закрытой формы.

🐸 Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
1
➡️ Как физически интерпретировать состояния cell state и hidden state в LSTM

Hidden state (hₜ) — это «рабочее состояние» сети, её краткосрочная память. Оно используется для текущих вычислений и передаётся на следующие слои или на выход. Можно считать его тем, что LSTM «показывает наружу» в данный момент времени.

Cell state (cₜ) — это «внутренняя память» или долгосрочное хранилище. Она течёт через последовательность шагов почти напрямую, изменяясь только там, где сработают управляющие ворота (input/forget). Это позволяет LSTM аккумулировать и сохранять важную информацию на протяжении длительных интервалов.

Интуитивно:
cₜ — долгосрочные знания, которые сеть старается не потерять;
hₜ — краткосрочные представления, которые нужны здесь и сейчас для предсказаний.

🐸 Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
1
📍 Как справляться с дисбалансом классов в небольшой целевой выборке при использовании transfer learning

Дисбаланс классов часто становится проблемой, особенно если маленький датасет значительно перекошен по классам. В transfer learning эта ситуация усугубляется, так как предобученная модель могла учиться на более сбалансированных данных (например, ImageNet).

Методы решения

🔎 Сэмплинг: увеличивать количество примеров меньшинства (oversampling) или уменьшать большинства (undersampling). Важно дополнять oversampling аугментацией, чтобы избежать переобучения.

🔎 Взвешенные функции потерь: например, указывать вес классов в cross-entropy обратно пропорционально их частоте.

🔎 Тонкая настройка слоёв: иногда стоит дообучать не только “голову”, но и более глубокие слои, чтобы сеть лучше подстроилась под редкие классы.

🔎 Focal loss: акцентирует внимание на сложных примерах и помогает усилить сигнал от меньшинства.

🐸 Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
2
👇 Как выбрать количество компонент при применении PCA

При отборе компонент часто используют метрику explained variance ratio — долю объяснённой дисперсии.

Пример:
explained_variance_ratios = np.cumsum(pca.explained_variance_ratio_)


Обычно выбирают минимальное число компонент, при котором накопленная доля дисперсии превышает порог (например, 0.95).

Но важно учитывать контекст:
— для задач с жёсткими ограничениями по памяти/вычислениям можно взять меньше компонент.
— в чувствительных приложениях (например, медицина) иногда сохраняют больше компонент, чтобы минимизировать потерю информации.

📌 Вывод: выбор количества компонент — компромисс между точностью (сохранение информации) и эффективностью (скорость и ресурсы).

🐸 Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
Переворачиваем календарь — а там скидки, которые уже закончились.

Но мы их вернули на последний день 🤔

До 00:00 третьего сентября (цены как до 1 сентября):

▪️ Математика для Data Science — 35.199 ₽ вместо 44.900 ₽
▪️ Алгоритмы и структуры данных — 31.669 ₽ вместо 39.900 ₽
▪️ Основы IT — 14.994 ₽ вместо 19.900 ₽
▪️ Архитектуры и шаблоны — 24.890 ₽ вместо 32.900 ₽
▪️ Python — 24.990 ₽ вместо 32.900 ₽
▪️ ML для Data Science — 34.000 ₽ вместо 44. 000 ₽
▪️ AI-агенты — 49.000 ₽ вместо 59.000 ₽

👉 Хватаем скидки из прошлого

P.S. Машину времени одолжили у дяди Миши
😎 Сколько баллов набрали вы?

Голосуйте, какой у вас уровень разработчика:

😁 — 5-12 баллов (стажер)
👍 — 13-25 баллов (джуниор)
⚡️ — 26-40 баллов (джуниор+)
👏 — 41-60 баллов (миддл)
🔥 — 61-80 баллов (миддл+)
🎉 — 81-100 баллов (сеньор)
🤩 — 100+ баллов (тимлид)

Но вот в чем прикол — опытный разработчик набирает баллы не случайными косяками, а осознанными решениями.

👉 Научим, как быстро прокачаться от стажера до сеньора
🚩 Почему для задач классификации часто используют стратифицированную кросс-валидацию

Стратификация гарантирует, что в каждом фолде сохраняются пропорции классов, близкие к исходному датасету. Это особенно важно при дисбалансе классов.

👉 Пример: если в выборке 90% отрицательного класса и 10% положительного, обычная (нестратифицированная) разбивка может создать фолд почти без положительных примеров.

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

Стратификация снижает эти риски и делает оценки качества более надёжными и воспроизводимыми.

🐸 Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
5
✳️ В чём разница между статическими эмбеддингами (Word2Vec, GloVe) и контекстными (BERT, GPT)

Статические эмбеддинги (Word2Vec, GloVe, FastText):
➡️ Каждое слово в словаре имеет один фиксированный вектор.
➡️ Например, слово bank будет иметь одно представление вне зависимости от того, идёт речь о «банке» как учреждении или «берегe реки».
➡️ Просты и быстры, но не учитывают многозначность.

Контекстные эмбеддинги (BERT, GPT):
➡️ Вектор для слова зависит от его окружения.
➡️ Одно и то же bank в разных предложениях получит разные представления.
➡️ Лучше справляются с полисемией и передают более тонкий смысл.
➡️ Часто значительно повышают качество в downstream-задачах (классификация, QA, NER и др.).

🐸 Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1
🎮 КВЕСТОВАЯ ЛИНИЯ: «Путь Data Scientist'а»

⮕ Твой стартовый набор искателя данных:
Python — твое легендарное оружие (урон по багам +∞)
Математика — твой базовый интеллект (влияет на понимание алгоритмов)
Машинное обучение — твое дерево навыков (открывает новые способности)


⚡️ АКТИВЕН ВРЕМЕННЫЙ БАФФ: «Щедрость наставника»

Эффект: –30% к цене полного набора ДСника
Было: 121.800 ₽ → Стало: 84.900 ₽

☞ Что ждет тебя в этом квесте

— Получение артефактов: портфолио проектов и сертификаты— Прокачка от новичка до Senior Data Scientist— Босс-файты с реальными задачами из индустрии— Доступ к гильдии единомышленников


📎 Забрать бафф
Рассрочки: 3 мес | 6 мес | 12 мес
⚙️ Почему не стоит использовать Mean Squared Error (MSE) для многоклассовой классификации

Формально MSE можно применять, сравнивая логиты или вероятности с one-hot разметкой. Но на практике есть серьёзные минусы:
🚩 Слабый градиент: MSE даёт менее прямой сигнал для увеличения вероятности правильного класса и подавления остальных.
🚩 Медленная сходимость: обучение идёт дольше, так как градиенты «размазаны».
🚩 Нет явной вероятностной интерпретации: MSE не напрямую связано с максимизацией правдоподобия.

Кросс-энтропия (Cross-Entropy), напротив:
🚩 Напрямую соответствует задаче максимизации лог-правдоподобия.
🚩 Даёт более информативные градиенты.
🚩 На практике почти всегда сходится быстрее и стабильнее.

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