Библиотека собеса по Data Science | вопросы с собеседований
4.33K 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
Как избежать чрезмерной оптимизации гиперпараметров (hyperparameter tuning)

Часто на этапе настройки гиперпараметров (например, с помощью Grid Search или Random Search) можно столкнуться с перенастройкой модели, что приведет к плохой её обобщающей способности на новых данных.

Как избежать переоптимизации гиперпараметров?
Использовать кросс-валидацию для оценки производительности модели на разных поднаборах данных.

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

Настроить ограничения на количество итераций или время оптимизации.
Как бы вы объяснили байесовский вывод человеку, который не знаком со статистикой

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

Ключевые идеи байесовского вывода:

✔️ Мы начинаем с предварительных знаний о каком-то явлении (априорная вероятность).
✔️ Затем получаем новые данные, которые обновляют наше мнение.
✔️ Используем формулу Байеса для пересчёта вероятностей.

Представьте, что у вас есть зонт. Утром вы смотрите в окно: если идёт дождь, вероятность, что он продолжится, высокая. Но если в прогнозе написано, что дождь маловероятен, вы пересматриваете свою уверенность. Вы комбинируете предыдущие знания (погоду в это время года) и новые данные (прогноз, вид за окном), чтобы принять решение.
Что такое катастрофическое забывание (catastrophic forgetting) в нейронных сетях

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

🔍 Причина проблемы:
Когда модель обучается на новых данных, её веса обновляются таким образом, что они начинают лучше соответствовать новым примерам, но при этом могут «перезаписать» ранее полученные знания, если нет механизма их сохранения.
Какие существуют атаки на модели машинного обучения?

🔹 Атаки с изменением входных данных (Adversarial Attacks) — небольшие изменения в данных, которые заставляют модель ошибаться (например, изменение пикселей на изображении может заставить нейросеть принять панду за гиббона).
🔹 Атаки с отравлением данных (Data Poisoning) — внесение вредоносных примеров в обучающий набор, чтобы модель училась неправильно.
🔹 Извлечение модели (Model Extraction) — злоумышленник создаёт копию вашей модели, отправляя ей множество запросов и анализируя ответы.
🔹 Атаки на конфиденциальность (Membership Inference) — попытка определить, использовались ли конкретные данные в обучении модели, что угрожает приватности пользователей.
В чем разница между Data Scientist и Machine Learning Engineer?

🔹 Data Scientist в первую очередь фокусируется на преобразовании бизнес-задач в задачи, основанные на данных, предлагает и прототипирует решения.
🔹 Machine Learning Engineer берет эти решения, превращает их в работающие алгоритмы и модели, развертывает и поддерживает их в продакшене.
🧮🔠 Математика в действии: решаем хитрые задачи по прогнозированию, оптимизации и логике

Статья, которая поможет развить навыки решения задач с помощью математики.

➡️ Вот что вас ждет

1️⃣ Прогнозирование численности населения — используем цепи Маркова для предсказания миграций между городом и пригородами.

2️⃣ Минимизация затрат — находим минимальное скалярное произведение векторов для оптимального распределения задач между работниками.

3️⃣ Машина времени — решаем задачу максимального числа пересекающихся временных интервалов с помощью заметающей прямой.

4️⃣ Алгоритм Целлера — вычисляем день недели по дате. Проверка на практике.

🔵 Хочешь прокачаться в математике для ML? Тогда разбирайся с этими задачами и не упусти вебинар: «Математика для ML: от теории к практике».

👉 Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Какие технические навыки нужны для перехода от небольшого анализа данных к крупным проектам в Data Science?

🔹 Хранение данных
1. Распределенные системы хранения: Hadoop HDFS, AWS S3, Azure Blob Storage, NoSQL
2. Data Lakes для обработки неструктурированных и сырых данных

🔹 Обработка данных
1. Фреймворки для работы с big data: MapReduce, Apache Spark
2. Методы параллельных вычислений для ускорения анализа

🔹 Реализация системы
1. Построение надежных data pipelines
2. Мониторинг и логирование моделей
3. Контейнеризация (Docker, Kubernetes) для развертывания и масштабирования

Библиотека собеса по Data Science
Как защитить модели от атак в машинном обучении?

Аугментация данных и робастное обучение — добавление случайных шумов в данные для повышения устойчивости модели.
Adversarial Training — специальное обучение модели на данных с атаками, чтобы она их распознавала.
Дифференциальная приватность — техники, предотвращающие утечку информации о тренировочных данных.
Мониторинг аномалий — выявление подозрительных входных данных и реагирование на них.

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

Ответ:
Количество бросков, необходимых до появления первого орла, подчиняется геометрическому распределению.

Библиотека собеса по Data Science
В чем разница между Linear Regression, Random Forest и GBDT? Как их реализовать в распределенных вычислениях

🔹 В чем разница между Linear Regression, Random Forest и GBDT?

Linear Regression (LR) — простой и быстрый, но работает только с линейными зависимостями.
Random Forest (RF) — устойчив к выбросам и переобучению, но может быть медленным.
Gradient Boosting Decision Trees (GBDT) — обеспечивает высокую точность, но требует тонкой настройки и больше времени на обучение.

🔹 Как реализовать эти алгоритмы в распределенных системах?

RF — легко распараллеливается, так как деревья строятся независимо.
GBDT — сложнее, но можно ускорить построение деревьев в каждой итерации.
LR — можно параллелить через parameter server и асинхронные обновления.

Библиотека собеса по Data Science
Что такое функции активации и как они различаются по вычислительной сложности, разреженности и поведению градиента

Функция активации нейрона определяет выходной сигнал, который определяется входным сигналом или набором входных сигналов.

▪️ Sigmoid
Преобразует входы в диапазон 0-1 (бинарная классификация).
Проблемы: исчезающие градиенты при экстремальных значениях.
Разреженность: низкая.

▪️ Tanh
Преобразует входы в диапазон -1 до 1.
Проблемы: исчезающие градиенты, но менее выраженные, чем у сигмоиды.
Разреженность: средняя.

▪️ ReLU (Rectified Linear Unit)
Устанавливает отрицательные значения в 0, оставляя положительные.
Проблемы: «умирающий ReLU» — нейроны становятся неактивными.
Разреженность: высокая.

▪️ Leaky ReLU
Модификация ReLU с малым наклоном для отрицательных значений.
Проблемы: «умирающий ReLU» минимизируется.
Разреженность: ниже, чем у ReLU.

Библиотека собеса по Data Science
🏃‍♀️ 40+ каналов, которые должен читать каждый разработчик

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

IT Job Hub | Работа и вакансии в IT — избранные IT-вакансии

Библиотека программиста — новости из мира IT и технологий

Книги для программистов — самые годные книги по любым языкам и стекам

IT-мемы — мемы про жизу айтишника

Proglib Academy — обучение и курсы, чтобы стать топовым специалистом

Азбука айтишника — азы из мира разработки

Библиотека нейросетей — лайфхаки и промпты для разных задач, баттлы нейронок и новости из мира ИИ

Библиотека фронтендера — все о JS, React, Angular и не только

Библиотека мобильного разработчика — лайфхаки и новости из мира Swift и Kotlin

Библиотека хакера — уязвимости, атаки, бэкдоры и как от них защититься

Библиотека тестировщика — самое интересное о том, как крашить код

🦫 Go
Библиотека Go-разработчика
Библиотека задач по Go
Библиотека Go для собеса
Вакансии по Go

#️⃣ C#
Библиотека шарписта
Библиотека задач по C#
Библиотека собеса по C#
Вакансии по C#

🔧 DevOps
Библиотека devops’а
Библиотека задач по DevOps
Библиотека собеса по DevOps
Вакансии по DevOps & SRE

🐘 PHP
Библиотека пхпшника
Библиотека задач по PHP
Библиотека PHP для собеса
Вакансии по PHP, Symfony, Laravel

🐍 Python
Библиотека питониста
Библиотека Python для собеса
Библиотека задач по Python
Вакансии по питону, Django, Flask

☕️ Java
Библиотека джависта
Библиотека задач по Java
Библиотека Java для собеса
Вакансии по Java

📊 Data Science
Библиотека дата-сайентиста
Библиотека задач по Data Science
Библиотека Data Science для собеса
Вакансии по Data Science

🎮 C++
Библиотека C/C++ разработчика
Библиотека задач по C++
Библиотека C++ для собеса
Вакансии по C++

Подписывайтесь на интересные вам каналы и сохраняйте пост в закладки, чтобы не потерять 🔑
Please open Telegram to view this post
VIEW IN TELEGRAM
Применение различных конфигураций слоев ввода и вывода в Рекуррентных Нейронных Сетях (RNN)

✔️ One-to-One:
• Описание: один вход — один выход.
• Пример: классификация изображений. В этой задаче, нейронная сеть получает изображение как вход, а затем генерирует один результат (класс изображения) на выходе.

✔️ One-to-Many:
• Описание: один вход — несколько выходов.
• Пример: преобразование изображений в текст (image-to-text). Здесь сеть принимает одно изображение как вход и генерирует последовательность выходных данных, например, описание изображения в виде текста.

✔️ Many-to-Many:
• Описание: несколько входов — несколько выходов.
• Пример: перевод текста (например, машинный перевод). Модель принимает последовательность слов (вход) и генерирует соответствующую последовательность слов на другом языке (выход).

Библиотека собеса по Data Science
Почему трансформеры справляются с большими объемами данных лучше, чем рекуррентные нейронные сети

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

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

Библиотека собеса по Data Science
Как можно разбить непрерывные признаки на интервалы на основе распределения данных, и каковы плюсы и минусы такого подхода

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

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

Некоторые распространенные методы:

🔹 Транзакционные данные — сбор информации с терминалов и платежных систем.

🔹 Веб-скрейпинг — извлечение данных из открытых интернет-источников.

🔹 Логирование пользовательских действий — анализ поведения в приложениях и на сайтах.

🔹 Данные с датчиков — отслеживание параметров работы устройств, автомобилей, IoT-систем.

Библиотека собеса по Data Science
Какие методы выборки чаще всего используются для отбора подмножества из конечной популяции

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

Библиотека собеса по Data Science
Нужна ли математика программисту

Можно ли стать разработчиком, если в школе ненавидел математику? А если наоборот — тащился от алгебры и геометрии, но кодить не умеешь? Эта статья раскладывает всё по полочкам: где без математики никуда, а где можно и без неё.

➡️ Что внутри:

✓ Почему все считают, что программисты — математики

✓ В каких сферах разработки можно вообще не знать математику

✓ Где хватит готовых библиотек, а где придётся разбираться в формулах

✓ Какие области программирования требуют мощного математического бэкграунда

✓ Что делать, если математика — это боль, но хочется освоить ML или Data Science

✓ Топ книг, которые помогут понять и даже полюбить математику

🔵 Чтобы знать математику, забирайте наш курс → «Математика для Data Science»

📎 Читать статью

Proglib Academy
Please open Telegram to view this post
VIEW IN TELEGRAM
Какие существуют методы обнаружения выбросов

Методы делятся на статистические и плотностные.

📊 Статистические методы:
Правило 3σ — предполагает нормальное распределение, выбросы находятся за границами ±3 стандартных отклонений.
Метод box-plot — выбросы определяются на основе квартилей и 1.5 межквартильного размаха.
Z-оценка — стандартизация данных, точки с высоким Z-score считаются выбросами.

📈 Плотностные методы:
DBSCAN — алгоритм кластеризации, который помечает шумовые точки как выбросы.
LOF (Local Outlier Factor) — анализирует локальную плотность точки и её отличие от соседей.

Библиотека собеса по Data Science