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

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

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

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

Наши каналы: https://t.me/proglibrary/9197
Download Telegram
Как взаимодействует feature engineering с интерпретируемостью модели

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

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

▪️ Тем не менее, интерпретируемая инженерия признаков, основанная на экспертных знаниях, может упростить понимание того, почему модель принимает те или иные решения. Например, использование понятных категорий вроде «возрастная группа» вместо точного возраста может помочь заинтересованным сторонам лучше понять поведение модели.

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

Библиотека собеса по Data Science
Как справляться с огромными пространствами поиска в генетических алгоритмах для нейросетей

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

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

Практические подходы:

➡️ Поэтапный (staged) поиск: сначала простые модели и ограниченный набор параметров, затем — расширение до более сложных конфигураций.

➡️ Суррогатные модели: замена оценки полноценной модели на прокси-оценку с помощью облегчённых сетей.

➡️ Раннее завершение обучения: сокращение количества эпох или досрочное завершение обучения при отсутствии улучшения.

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

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


Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN TELEGRAM
🔍 Как скрытые состояния в HMM отличаются от скрытых представлений в RNN и как это влияет на интерпретируемость

🧠 Скрытые марковские модели (HMM):
В HMM скрытые состояния — это дискретные латентные переменные с четким вероятностным значением. Каждое состояние соответствует конкретному режиму или явлению (например, «дождливо» или «солнечно» в модели погоды), что способствует интерпретируемости. Переходы между состояниями описываются матрицей вероятностей.

🤖 Рекуррентные нейронные сети (RNN):
В отличие от HMM, скрытые состояния в RNN — это непрерывные векторы, которые обучаются автоматически с помощью градиентного спуска. Они могут кодировать сложные аспекты истории последовательности, но не всегда легко интерпретируемы. Каждый элемент скрытого состояния может быть связан с более сложными зависимостями, которые сложно трактовать в явной форме.

💡 Главная проблема:
При попытке трактовать скрытые состояния в RNN как дискретные состояния в HMM можно столкнуться с ошибками. Непрерывные скрытые представления могут не иметь четких «меток», что затрудняет их интерпретацию и объяснение. Важно учитывать, что RNN может захватывать более сложные, но менее интерпретируемые зависимости.

⚠️ Как избежать ошибок:
Не стоит пытаться трактовать скрытые состояния RNN как дискретные. Лучше использовать методы интерпретации, такие как визуализация внимания, чтобы понять, как скрытые состояния влияют на выход модели.

Библиотека собеса по Data Science
🧠 Градиентный спуск: когда сходимость гарантирована, а когда — нет

В линейной регрессии с функцией потерь в виде среднеквадратичной ошибки (MSE) задача выпуклая — это значит, что существует единственный глобальный минимум, и градиентный спуск (если не мешают численные ошибки) гарантированно к нему сойдётся.

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

📉 В таких случаях градиентный спуск может:
▪️ сойтись к локальному минимуму
▪️ застрять на плато (участке с малыми градиентами)
▪️ не достичь глобального оптимума

💡 Что помогает:
▪️ оптимизаторы с моментумом (например, Adam, RMSProp)
▪️ адаптивное изменение learning rate
▪️ периодический «рестарт» обучения

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

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

Библиотека собеса по Data Science
📚 13 ресурсов, чтобы выучить математику с нуля — подборка, которую просили

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

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

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

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

👉 Читай статью тут
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Почему обратимая матрица сохраняет объем в пространстве

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

🔹 Говоря проще, обратимая матрица сохраняет объем (хотя и может вращать или искажать его), но не уменьшает количество измерений.

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

Библиотека собеса по Data Science
📌 Почему «логистическая регрессия» — это всё ещё регрессия, а не классификация

На первый взгляд, логистическая регрессия решает задачу классификации — ведь результатом часто становится 0 или 1. Но суть метода — в другом.

🔹 Что происходит на самом деле:

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

🔹 Почему это регрессия:

Потому что модель всё равно оптимизирует непрерывную функцию — отрицательное логарифмическое правдоподобие (log-loss), а не просто учится выбирать класс. Это приближает её к регрессионным методам: мы не просто «присваиваем» метку, а подгоняем параметры, как в классической регрессии.

🔹 А что насчёт классификации:

Классификацию мы получаем постфактум — когда применяем порог (обычно 0.5) к предсказанной вероятности.

⚠️ Главное — не путать внешний вид (0 или 1) с внутренней механикой. Логистическая регрессия — это регрессия, просто на логарифме вероятностей.

Библиотека собеса по Data Science
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
Как метод силуэта отличается от метода локтя

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

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

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

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

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

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

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

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

Библиотека питониста
Please open Telegram to view this post
VIEW IN TELEGRAM
🆚 Как сравниваются методы перерасчёта градиента и 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
Как обеспечить последовательность очистки данных для временных рядов в обучающем и тестовом наборах данных с учётом разных временных окон

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

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

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

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

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

Библиотека собеса по Data Science
Please open Telegram to view this post
VIEW IN 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