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

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

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

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

Наши каналы: https://t.me/proglibrary/9197
Download Telegram
📚 13 ресурсов, чтобы выучить математику с нуля — подборка, которую просили

Хочешь прокачаться в математике для Data Science, ML или просто чтобы понимать, что происходит в формулах. Лови список лучших источников, которые собрали на Proglib.

➡️ Что внутри:
• Книги: от Пойи и Перельмана до Хофштадтера
• Советы: как учить, с чего начать, как не сдаться
• Математика для Data Science: разбор тем и формул
• Ссылки на форумы и задачи
• Как не бояться, если всё кажется сложным
• Что читать, если ты гуманитарий и страдал от школьной алгебры

✍️ Простой язык, много примеров и ноль академического занудства.

🔵 Для полного понимания Архитектуры, забирайте наш курс → «Архитектуры и шаблоны проектирования»

👉 Читай статью тут
Please open Telegram to view this post
VIEW IN TELEGRAM
April 8
April 8
April 9
Media is too big
VIEW IN TELEGRAM
🙈 Что скрывает дисперсия: разгадка секрета точных ML-моделей

Представьте, что вы строите модель, которая прекрасно работает на тренировочных данных, но стоит подать ей новые примеры... и всё рушится. Знакомо? За этим почти всегда скрывается неправильное обращение с дисперсией.

🧐 Но что, если есть простая формула, способная:

• Мгновенно определить, насколько «разбросаны» ваши данные

• Значительно улучшить точность ваших ML-моделей

• Помочь обнаружить аномалии, которые вы раньше не замечали

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

Хотите узнать, как находить идеальный баланс в своих моделях, причем тут Random Forest и много другого о Data Science?

➡️Тогда смотрите бесплатный вебинар от Proglib: https://proglib.io/w/41b975da
Please open Telegram to view this post
VIEW IN TELEGRAM
April 10
Как метод силуэта отличается от метода локтя

Оба метода помогают выбрать оптимальное количество кластеров (k), но делают это по-разному:

📍 Метод локтя:
— Основан на внутрикластерной дисперсии (сумме квадратов расстояний до центров кластеров)
— При увеличении количества кластеров дисперсия снижается
— Нужно найти точку, в которой снижение становится менее выраженным — ту самую «локтевую точку»
— Минус: нахождение локтя субъективно и может быть неочевидным

📍 Метод силуэта:
— Для каждой точки рассчитывается оценка силуэта — насколько хорошо она вписывается в свой кластер и насколько далеко от других
— Средняя оценка по всем точкам показывает качество кластеризации
— Позволяет интерпретировать качество кластеров более детально
— Часто даёт более чёткий выбор оптимального k

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

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
April 11
🖼 ТОП-5 структур данных для обработки изображений

Хотите разобраться, как обрабатывать изображения в компьютерном зрении или графике?

Всё начинается с правильных структур данных. Они помогают хранить и анализировать пиксели, их связи и расположение.

👉 В этой статье — подборка топ решений и советы, как их использовать.

Библиотека питониста
Please open Telegram to view this post
VIEW IN TELEGRAM
April 12
🆚 Как сравниваются методы перерасчёта градиента и focal loss при работе с несбалансированными классами

🔘 Focal loss добавляет коэффициент, который уменьшает вклад уже хорошо классифицированных примеров, тем самым фокусируя обучение на сложных, часто ошибочно классифицируемых объектах. Это особенно полезно, когда модель быстро обучается на «лёгких» примерах и игнорирует «трудные».

🔘 Gradient re-scaling (пересчёт градиента с учётом частоты классов) нацелен на устранение дисбаланса между классами, регулируя вклад каждого класса в градиент. Часто это реализуется как взвешивание классов.

📍 Сравнение:
— Focal loss фокусируется на сложности примеров, а не на частоте классов.
— Gradient re-scaling напрямую учитывает частоту классов, но не различает лёгкие и трудные примеры внутри одного класса.

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

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
April 12
Как обеспечить последовательность очистки данных для временных рядов в обучающем и тестовом наборах данных с учётом разных временных окон

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

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

⚠️ Подводный камень

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

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

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
April 13
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
April 14
Как dropout влияет на скорость обучения и использование памяти

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

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

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

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
April 14
Чем отличается стандартный автоэнкодер от вариационного автоэнкодера (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
April 15
🧮 Как избежать ловушки округления в Power BI

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

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

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

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

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

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

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

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

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

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
April 16
April 17
📉 Почему добавление новых данных иногда не улучшает качество модели

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
April 19
🔥 Завтра запускаем 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
April 20
Как размер батча взаимодействует с Batch Normalization и может ли он негативно повлиять на статистику слоя

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

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

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

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

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