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

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

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

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

Наши каналы: https://t.me/proglibrary/9197
Download Telegram
Media is too big
VIEW IN TELEGRAM
🙂 Раскрываем секрет собственных векторов: математическое оружие на собеседовании

Что объединяет успешный собес и продвинутый анализ данных? Оба требуют способности выделять главное из информационного шума!

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

Например, мы проанализировали 453 акции компаний из списка S&P 500 и выяснили, что всего одна главная компонента объясняет 38% всей динамики рынка. Как такое возможно?

😘 Расскажем на воркшопе «Математика машинного обучения на практике» 21 апреля!

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

Стоимость: 3990 ₽

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

➡️ Забронировать место на воркшопе: https://proglib.io/w/d295220d
Please open Telegram to view this post
VIEW IN TELEGRAM
Как dropout влияет на скорость обучения и использование памяти

📍Dropout немного увеличивает вычислительную нагрузку из-за необходимости генерировать и применять случайную маску. В таких фреймворках, как PyTorch и TensorFlow, эта нагрузка обычно мала на фоне общего обучения, но может стать заметной при большом количестве слоёв с dropout.

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

❗️При сложных архитектурах с ветвлениями dropout может фрагментировать память GPU и замедлять обучение. На современных GPU это редко становится проблемой, но в условиях ограниченных ресурсов (например, на мобильных устройствах) даже такая лёгкая регуляризация может оказаться ощутимой, и тогда стоит рассмотреть альтернативы.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
Чем отличается стандартный автоэнкодер от вариационного автоэнкодера (VAE), и в каких случаях стоит использовать VAE

Стандартный автоэнкодер (AE) и вариационный автоэнкодер (VAE) оба используют нейросети для сжатия данных (в латентное пространство) и последующего восстановления. Однако у них разный подход к латентному пространству и цели:

🟠 Автоэнкодер (AE)

— Детерминированный: каждый вход x преобразуется в фиксированный вектор z
— Цель — минимизировать ошибку реконструкции (например, MSE)
— Применения: сжатие данных, устранение шума, понижение размерности
— Ограничения: латентное пространство может быть неструктурированным, генерация новых данных — затруднена

🟠 Вариационный автоэнкодер (VAE)

— Стохастический: вместо одного z модель выдает параметры распределения (обычно гауссианского), из которого семплируется z
— Цель — максимизировать вариационную нижнюю границу (ELBO), включающую: ошибку реконструкции, KL-дивергенцию
— Плюсы: латентное пространство структурировано, можно генерировать новые осмысленные примеры, просто семплируя z из N(0,1)
— Применения: генерация изображений, data augmentation, работа с отсутствующими данными

🟠 Когда использовать VAE вместо AE

Когда нужна генерация новых данных (например, изображений)
Когда важно иметь регуляризированное латентное пространство
Когда модель должна обобщать, а не просто копировать вход
В задачах, где важна интерпретируемость или контроль над сгенерированными объектами

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

Твой отчет показывает разные цифры при одинаковой логике? Не спеши винить систему – это классический кейс с округлением в Power BI.

👊 Разбираемся, как типы данных влияют на точность и почему Currency может стать твоим врагом.

➡️ Подробнее в статье: https://proglib.io/sh/TcGmatdgNV

Библиотека дата-сайентиста
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Почему определённые схемы инициализации весов помогают бороться с затухающими градиентами

Подходы вроде Xavier (Glorot) и Ге специально подбирают начальные веса так, чтобы сохранять дисперсию активаций и градиентов на разумном уровне при прохождении данных через слои.

➡️ Xavier (Glorot) инициализация рассчитана на линейные или сигмоидные активации. Она балансирует дисперсию между входами и выходами слоя.

➡️ Ге инициализация подходит для ReLU-подобных функций и учитывает, что ReLU «отбрасывает» половину входов (всё, что меньше нуля), поэтому она использует чуть большую дисперсию.

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

❗️Если используется нестандартная функция активации или сложная архитектура, стандартные схемы инициализации могут не подойти. Их нужно адаптировать, иначе можно снова столкнуться с затухающими/взрывающимися градиентами.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Приручи алгоритмы: из формул в код за один воркшоп

Готовы превратить сложную теорию машинного обучения в практические навыки? Тогда приходите на наш воркшоп, который пройдет 21 апреля.

Что вас ждет на воркшопе:
🟢 Работа с реальными данными — никаких учебных датасетов, только то, что встречается в настоящих проектах.

🟢Снижение размерности с PCA — научитесь выделять главное из информационного шума.

🟢Случайный лес vs градиентный бустинг — разберемся, в чём ключевое различие и когда какой алгоритм эффективнее.

🟢Мастерство гиперпараметров — освоите тонкую настройку моделей для максимальной точности.

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

А самое ценное: каждый участник получит персональный code review от Марии Горденко — инженера-программиста, старшего преподавателя НИУ ВШЭ, руководителя магистратуры от ГК Самолет и Альфа-Банка.

Когда: 21 апреля
💸Стоимость: всего 3990₽

Только сегодня, до конца дня: 10 мест по промокоду kulich → 2 990 ₽.

➡️ Записаться на воркшоп: https://proglib.io/w/d295220d
📉 Почему добавление новых данных иногда не улучшает качество модели

Если метрики перестают расти, возможны несколько причин:

➡️ Модель достигла предела своей емкостиона просто не может выучить больше, чем уже выучила.

➡️ Новые данные не добавляют полезной информации они слишком похожи на то, что уже есть.

➡️ Данные содержат шум или ошибки в меткахдобавление «плохих» примеров только ухудшает обучение.

➡️ Недостаточно мощная архитектуратекущая модель не способна уловить сложные зависимости.

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

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
Как выбрать между filter, wrapper и embedded методами отбора признаков

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

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

Embedded-методы — работают вместе с обучением модели. Удобны, если модель поддерживает регуляризацию (например, Lasso, Decision Trees), так как отбор признаков происходит прямо во время обучения.

На практике часто применяют комбинацию: сначала отфильтровывают явно нерелевантные признаки (filter), потом wrapper или embedded на отобранных признаках.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
Зачем дата-сайентисту дисперсия

Дисперсия — ключевой статистический показатель, который помогает оценить изменчивость данных. Для дата-сайентистов она критична при:

👉 Оценке и интерпретации результатов моделей
👉 Понимании поведения алгоритмов машинного обучения
👉 Снижении ошибок при построении предсказаний

В этой статье разберём, как правильно использовать дисперсию в Data Science и как она влияет на работу алгоритмов, например, в модели Random Forest.

👉 Читайте, чтобы понять, как измерять и учитывать дисперсию: https://proglib.io/sh/GDKYJQdAI2

Библиотека дата-сайентиста
Please open Telegram to view this post
VIEW IN TELEGRAM
Как справиться с шумными валидационными сигналами при использовании Early Stopping

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

Вот несколько подходов:

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

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

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

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 Завтра запускаем ML-ракету: последние места на борту

Уже завтра, 21 апреля, состоится наш воркшоп «Математика машинного обучения на практике», где теория ML превращается в практические навыки.

Что вас ждет:
📍 Работа с реальными данными — табличные датасеты и изображения
📍 Снижение размерности через PCA — научитесь отделять важное от второстепенного
📍 Обучение моделей — Random Forest и градиентный бустинг в действии
📍 Разбор метрик и гиперпараметров — как настроить модель на максимальную эффективность
📍 Написание кода на Python — прямо как реальных проектах
📍 Персональный code review от эксперта — бесценный фидбек для вашего роста
📍 Доступ в закрытый чат участников — нетворкинг и обмен опытом

Кто проводит воркшоп:

Мария Горденко — инженер-программист, старший преподаватель НИУ ВШЭ и Proglib Academy, руководитель магистратуры от ГК Самолет и Альфа-Банка.

Стоимость участия: 3990₽
Когда: завтра, 21 апреля

👉 Забронировать место на воркшопе: https://proglib.io/w/d295220d
Please open Telegram to view this post
VIEW IN TELEGRAM
Как размер батча взаимодействует с Batch Normalization и может ли он негативно повлиять на статистику слоя

При использовании слоёв Batch Normalization среднее значение и дисперсия обычно вычисляются по каждому мини-батчу.

🟧 Если размер батча слишком маленький, вычисленные средние и дисперсии могут быть очень шумными, что приводит к нестабильному обучению и плохой сходимости модели.

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

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

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Могут ли skip-соединения мешать обучению в неглубокой нейросети

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

➡️ Такой эффект особенно заметен, если задача требует сложных преобразований. Решение: можно добавить «управление» потоком по skip-пути — например, с помощью гейтов или 1x1-сверток.

➡️ Если вы замечаете, что сеть не учит ничего полезного — попробуйте временно отключить skip-соединения, посмотреть на активации по слоям, или усилить регуляризацию (dropout, weight decay). Это может помочь сети начать извлекать более глубокие представления.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
🔍 Как выбрать дискретные значения гиперпараметров для Grid Search

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

Обычно значения выбираются на основе:
👉 Опытных предположений или предварительных экспериментов.
👉 Понимания масштаба параметра: например, для learning rate лучше использовать экспоненциальную шкалу (0.001, 0.01, 0.1), так как он сильно влияет на обучение.
👉 Стандартных шаблонов: число нейронов в слоях часто варьируют степенями двойки (64, 128, 256), чтобы не распыляться на мелкие изменения.

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

✔️ Поэтому обычно начинают с грубого поиска (coarse grid), а затем уточняют диапазоны вокруг лучших значений.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
🕵️‍♂️ Как обнаружить мошеннические транзакции с помощью GMM

В основе — Gaussian Mixture Model: она моделирует распределение данных как смесь нескольких многомерных нормальных распределений. У каждого — своё среднее значение и ковариационная матрица.

⚙️ Модель обучается с помощью алгоритма EM (Expectation-Maximization). После обучения она рассчитывает апостериорные вероятности — насколько транзакция вписывается в каждый из компонентов смеси.

📉 Если транзакция имеет низкую вероятность по всем компонентам, GMM считает её аномальной — потенциально мошеннической.

🎯 Подход особенно полезен в условиях, где трудно собрать размеченные данные, но важно ловить аномалии: финтех, страхование, кибербезопасность.

Библиотека собеса по Data Science
Как объяснить коэффициенты логистической регрессии без технических деталей

💡 Представим так:

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

Каждый признак (фактор) — это как один из аргументов «за» или «против» исхода. У каждого есть своя «весомость» — коэффициент:
➡️ Если коэффициент положительный — этот фактор повышает шанс, что событие произойдёт.
➡️ Если отрицательный — наоборот, снижает вероятность.
Чем больше по модулю число — тем сильнее влияние этого фактора.

Чтобы понять, насколько фактор влияет, можно посмотреть на exp(коэффициент)это показывает, во сколько раз увеличиваются шансы.

▶️ Например:
Если exp(коэффициент) = 1.5, это значит: каждый дополнительный «балл» этого признака повышает шансы на 50%.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
👌 Как правильно инициализировать центроиды в k-means, чтобы не застрять в плохом локальном минимуме

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

🔥 Лучшее решение — использовать алгоритм k-means++

Он работает так:
1. Сначала выбирается одна случайная точка из данных.
2. Далее каждый следующий центр выбирается с вероятностью, пропорциональной квадрату расстояния до ближайшего уже выбранного центра.

Такой подход равномерно распределяет центры и уменьшает риск плохой сходимости. В большинстве случаев он ещё и ускоряет обучение.

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

Библиотека собеса по Data Science
Зачем в нейронных сетях используется техника label smoothing

Label smoothing — это техника регуляризации, при которой вместо подачи на выход модели «жестких» меток (например, [0, 0, 1, 0]) используют «размягчённые» метки (например, [0.01, 0.01, 0.96, 0.01]).

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

Главные преимущества:
📝 Улучшение обобщающей способности (меньше переобучение).
📝 Меньшая склонность к переуверенности в своих ошибках.
📝 Иногда помогает добиться более высокой точности, особенно на задачах классификации с большим числом классов.

Техника особенно эффективна, когда есть шум или множество похожих классов.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
Какими методами можно интерпретировать сложные модели, например, случайные леса или нейронные сети

Интерпретация сложных моделей требует специальных подходов, так как в отличие от простой логистической регрессии у них нет очевидных коэффициентов:

1️⃣ Feature Importance — метод оценки важности признаков. В деревьях отслеживается, насколько каждый признак снижает неопределенность (impurity) при разбиениях.

2️⃣ Partial Dependence Plots (PDPs) — графики зависимости, которые показывают, как меняется прогноз модели при изменении одного признака, усредняя влияние остальных.

3️⃣ LIME (Local Interpretable Model-Agnostic Explanations) — создает локальные приближённые модели вокруг отдельных предсказаний для объяснения, как конкретный результат был получен.

4️⃣ SHAP (SHapley Additive exPlanations) — использует идеи теории игр, чтобы справедливо распределить вклад каждого признака в конкретное предсказание.

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥 IT Breaking Memes — 30 000 ₽ за самую смешную IT-новость

Библиотека программиста запускает конкурс, который взорвет вашу ленту: создайте самую смешную альтернативную версию реальной IT-новости!

👾 Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переписываете ее так, чтобы смеялись все.
3. Получаете деньги и славу.

🏆 Призы:
- 1 место: 30 000 ₽ + статус ведущего нового юмористического IT-канала
- 2 и 3 место: по 5 000 ₽ + вечный почет в IT-сообществе

Пример:
Реальная новость: «Гугл создала модель для общения с дельфинами».

Смешная альтернатива: «Нейросеть от Гугл обрабатывает видеопоток с камеры в свинарнике. ИИ следит, сколько свинья находится возле кормушки, не отталкивают ли ее собратья. Недокормленных докармливают, а переевшие пропускают следующую кормешку».

📅 Сроки: с 29 апреля по 11 мая включительно

Для участия отправьте свою смешную новость в гугл-форму: https://forms.gle/6YShjgfiycfJ53LX8

Ждем ваших новостей!