Библиотека собеса по Data Science | вопросы с собеседований
4.25K subscribers
472 photos
14 videos
1 file
582 links
Вопросы с собеседований по Data Science и ответы на них.

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

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

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

Наши каналы: https://t.iss.one/proglibrary/9197
Download Telegram
🔎 Собес сам себя не пройдет

Ты готов к собеседованию? А если проверю?

Залетай к нам и забирай курсы со скидкой 40%. Только до конца октября можно узнать много нового и отточить навыки.

🎯 Забирай курсы:

🐍 python для разработчиков;
🧮 алгоритмы и структуры данных;
📝 архитектуры и шаблоны проектирования;
🧩 основы IT для новичков.

Не упусти скидку и получи долгожданный оффер!
🤓 Существуют ли разные стратегии калибровки (преобразования «сырых» выходов модели в хорошо откалиброванные вероятности) для параметрических и непараметрических моделей

Да, подходы к калибровке отличаются в зависимости от типа модели.

Для непараметрических моделей (например, k-NN) вероятность часто аппроксимируется долей соседей каждого класса среди ближайших k точек. Такая оценка может быть шумной, особенно в высокоразмерных или разреженных данных. Для улучшения калибровки применяют изотоническую регрессию или другие постобработки, которые отображают эти частотные оценки в более гладкие вероятности.

ℹ️ При малых k или сильном дисбалансе классов возможны крайние вероятности (например, 0/5 или 5/5), что ухудшает калибровку. В таких случаях полезно использовать сглаживание, например, добавляя псевдосчётчики (Laplace smoothing).

🔥 Также важно учитывать, что непараметрические модели формируют вероятности локально, и структура окрестностей может сильно меняться. Иногда стоит нормализовать эти локальные области или использовать специализированные непараметрические методы оценки плотности (например, оценку плотности ядром), после чего уже применять калибровку.

ℹ️ Для параметрических моделей (например, логистической регрессии) исходные вероятности обычно уже калиброваны, но при переобучении или при работе с несбалансированными данными также применяют методы вроде Platt scaling или изотонической регрессии.

🐸 Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🐁 Что делать, если вас интересует только определённая область ROC-кривой

В некоторых задачах важна не вся ROC-кривая, а только определённая её часть — например, области с очень малым уровнем ложноположительных срабатываний (FPR) или с очень высокой полнотой (TPR).

🔹 Частичная AUC (Partial AUC):
Можно вычислить AUC только для заданного диапазона FPR, например от 0 до 0.1. Это покажет, насколько хорошо модель работает именно в интересующей области.

🔹 Специализированные метрики:
Иногда вместо полной AUC используют показатели вроде Precision при фиксированном Recall или TPR при заданном FPR — они позволяют оценить качество модели именно в том диапазоне, который критичен для практического применения.

🐸 Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
🎲 Знаешь, что хуже всего на собесе?

Когда задают простой вопрос, а ты не можешь ответить.

🤔 Это ощущение, когда понимаешь:
«Блин, я это знаю... вроде... сейчас...»


От «я знаю...» до «сейчас объясню!» всего один курс.

Алгоритмы и структуры данных — от Big O до задач криптографии.

Python для разработчиков — пиши чистый и эффективный код.

Архитектуры и шаблоны — строй системы, которые масштабируются.

Основы IT — всё необходимое для входа в профессию.

Выбирай любой и забирай со скидкой 40% только до конца октября.

🔗 Выбрать курс
➡️ Почему в старых архитектурах всё ещё встречаются функции активации tanh и sigmoid

Ранние нейронные сети часто использовали sigmoid и tanh, поскольку они:
обеспечивали интерпретируемый выход (например, вероятностный в диапазоне 0–1),
имели биологическое обоснование, напоминая активацию нейронов,
были естественным выбором до популяризации ReLU.

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

✏️ Тем не менее, в некоторых областях (например, старые модели NLP или речевые RNN) tanh и sigmoid по-прежнему используются — для совместимости, традиции или специфики домена.

🐸 Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤠 Всегда ли пропускные (skip) соединения полезны

В большинстве случаев — да, но не всегда. Skip-соединения (residual connections) действительно облегчают обучение глубоких сетей, помогая бороться с затуханием градиентов и ускоряя сходимость. Именно поэтому они стали стандартом в современных архитектурах (ResNet, Transformer и др.).

Однако есть и ограничения:
👉 Они увеличивают вычислительную и памятьную нагрузку, особенно в сетях вроде DenseNet, где происходит конкатенация большого числа промежуточных признаков.
👉 В неглубоких моделях их польза минимальна — сеть и без них способна эффективно обучаться.

В итоге skip-соединения почти всегда оправданы в глубоких моделях, но их применение следует сбалансировать с ресурсами и архитектурной сложностью.

🐸 Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤔 Как ускорить браузер

Закрой все вкладки со словами «MacBook», «купить ноутбук», «ноут в рассрочку». Потому что у нас есть решение лучше.

🔥 Proglib разыгрывает MacBook Pro 14. Формула простая: покупаешь любой курс до 15 ноября → учишься 2 недели → пишешь куратору #розыгрыш

Пока у тебя открыто 147 вкладок с ценами, кто-то уже прокачивает скилы и может забрать приз.

👉🏻 Выбрать курс для участия
😎 Как можно систематически подобрать ядро и его гиперпараметры для SVM

Обычно это делается с помощью кросс-валидации и перебора возможных комбинаций гиперпараметров:
➡️ Выбор типа ядра: пробуют несколько вариантов — линейное, полиномиальное, RBF (радиальное), сигмоидное и др.
➡️ Настройка гиперпараметров:
✔️ Для полиномиального ядра варьируют степень (degree) и коэффициент смещения (coef0).
✔️ Для RBF подбирают параметр gamma (определяет “радиус влияния”) и штраф C.

Методы подбора:
➡️ Grid Search: полный перебор заданных диапазонов параметров.
➡️ Random Search: случайные комбинации — быстрее, часто достаточно эффективно.
➡️ Bayesian Optimization: умный поиск с использованием вероятностных моделей, который быстрее находит хорошие параметры.

🐸 Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
➡️ Как условие Липшица помогает выбрать шаг при градиентном спуске

Если градиент функции является L-Липшицевым, то есть его изменение не превышает ( L \cdot |x - y| ), то можно показать, что выбор шага ( \eta \leq 1/L ) гарантирует устойчивую сходимость для выпуклых задач.

Интуитивно это означает:
✔️ Если шаг слишком большой, можно “перепрыгнуть” через минимум.
✔️ Если шаг не больше ( 1/L ), движение вдоль антиградиента будет достаточно плавным, чтобы не вызвать расходимости.

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

💡 Итого: знание константы Липшица ( L ) даёт теоретически обоснованный верхний предел для шага обучения ( \eta ), что помогает сделать градиентный спуск устойчивым.

🐸 Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
😉 Может ли комбинация нескольких методов калибровки дать лучшие результаты, чем один метод

Теоретически можно попытаться комбинировать методы калибровки, например, применив temperature scaling к логитам, а затем подавая полученные вероятности на изотоническую регрессию.

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

🔛 Некоторые методы калибровки, например изотоническая регрессия, уже достаточно гибки, чтобы корректно преобразовать вероятности. Добавление дополнительного слоя калибровки редко даёт заметный выигрыш, а лишь усложняет систему.

🐸 Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
⚡️ Механизм запущен, часики тикают

Прямо сейчас кто-то уже купил курс со скидкой 40%, открыл первый урок и уже на пути к MacBook Pro 14.

А ты всё ещё читаешь этот пост...

Дедлайны не ждут:

31 октября — скидка 40% сгорает
15 ноября — розыгрыш MacBook

🎯 Правила участия:

→ купить любой курс до 31 октября
→ отучиться 2 недели
→ написать #розыгрыш куратору

🕊️ Не упусти свой шанс
😐 Могут ли эмбеддинги ухудшиться при недостаточной регуляризации во время обучения

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

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

Способы защиты:
👆 Применение weight decay или dropout в последующих слоях (или даже на самих эмбеддингах).
👆 Early stopping при начале переобучения.
👆 Контроль соотношения размера матрицы эмбеддингов и объёма данных: слишком большая матрица при малом датасете может приводить к запоминанию конкретных примеров вместо выучивания обобщённых представлений.

Регуляризация и мониторинг обучения помогают поддерживать эмбеддинги информативными и обобщающими.

🐸 Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
👩‍🏫Как выбирать между разными метриками нечистоты (impurity metrics) при построении деревьев решений

Популярные варианты: Gini impurity и энтропия (information gain).

Сравнение:
🧬 Gini impurity быстрее вычисляется и часто даёт похожие разбиения, но иногда слегка предпочитает разделения, изолирующие наиболее частый класс.
🧬 Entropy / Information gain отражает уменьшение неопределённости после разбиения, теоретически более «информативна», но вычисляется медленнее.

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

🐸 Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Halloween Special — последний день магии! 👻

Успевай сегодня купить курсы со скидкой 40%!

А также участвуй в розыгрыше MacBook Pro 14 💻

После полуночи останется только тыква 🎃

🔮 Открой портал и выбери курс
🎃 Чем отличаются bagging, boosting и stacking в контексте глубоких нейронных сетей

✔️ Bagging (Bootstrap Aggregating):
Тренирует несколько моделей на разных случайных подвыборках данных и усредняет или объединяет их предсказания.
В нейросетях аналогом может быть обучение с разными аугментациями данных или случайной инициализацией весов. Это снижает переобучение и повышает стабильность.

✔️ Boosting:
Обучает модели последовательно — каждая новая модель старается исправить ошибки предыдущей.
В глубоких сетях встречается реже, но идеи boosting можно реализовать через специальные функции потерь или адаптивные схемы обучения.

✔️ Stacking:
Использует предсказания нескольких базовых моделей как входы для метамодели (второго уровня), которая учится оптимально комбинировать эти выходы.
В deep learning это можно реализовать с помощью второй нейросети, обученной на выходах нескольких базовых моделей (ensemble blending).

🐸 Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
😎 Что такое сопряжённые априоры (conjugate priors) в байесовском выводе

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

Примеры:
🔛 Beta–Binomial: если вероятность успеха в биномиальном распределении имеет Beta-априор, то постериор тоже будет Beta.
🔛 Normal–Normal: если параметр среднего в нормальном распределении имеет нормальный априор, постериор остаётся нормальным.
🔛 Gamma–Poisson: если интенсивность (rate) Пуассона имеет Gamma-априор, то постериор также Gamma.

🐸 Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Какова роль скорректированного (R^2) в выявлении переобучения линейной модели

Обычный (R^2) измеряет долю объяснённой дисперсии, но он всегда увеличивается при добавлении новых признаков, даже если они не несут полезной информации.

Скорректированный (R^2) учитывает количество признаков и штрафует за включение переменных, которые мало улучшают модель.

Интерпретация для обнаружения переобучения:
🔹 Если обычный (R^2) растёт, а скорректированный остаётся примерно на том же уровне или падает, это сигнализирует о том, что новые признаки не повышают реальную обобщающую способность модели.
🔹 Значительная разница между (R^2) и скорректированным (R^2) может указывать на переобучение.

Таким образом, скорректированный (R^2) помогает балансировать сложность модели и её качество, предотвращая слепое добавление признаков.

🐸 Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
↪️ Существуют ли методы построения доверительного интервала для точности без предположений о распределении

Да. Один из самых распространённых распределительно-свободных методов — бутстреп. Он не требует предположений о нормальности или биномиальном распределении ошибок:

Непараметрический бутстреп:
➡️ Многократно выбираем выборки из тестового набора с возвращением.
➡️ Для каждой выборки вычисляем точность.
➡️ Затем строим доверительный интервал, например, по 2.5-му и 97.5-му процентилям.

🐸 Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🔥 Когда стоит использовать pruning (обрезку дерева) вместо early stopping

Существуют два подхода: пост-обрезка (post-pruning) и предварительная обрезка (pre-pruning / early stopping).

🔤 Post-pruning:
Сначала дерево строится полностью, чтобы уловить все потенциальные взаимодействия между признаками. Затем удаляются ветви, которые не дают улучшения по валидационным метрикам. Такой подход часто даёт более оптимальное и устойчивое дерево, но требует больше вычислительных ресурсов.

🔤 Pre-pruning:
Рост дерева останавливается заранее по определённым критериям (например, минимальное количество выборок в узле или порог улучшения по impurity). Это быстрее и дешевле, но может привести к недообучению, если ограничение слишком жёсткое.

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