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

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

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

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

Наши каналы: https://t.me/proglibrary/9197
Download Telegram
Как вы работали бы с несбалансированным набором данных?

В несбалансированном наборе данных объектов одного класса намного больше, чем объектов другого. Например, в датасете с транзакциями только 400 являются мошенническими, а 300 тысяч — нет. Из-за этого модель может хуже определять мошеннические транзакции.

Чтобы бороться с этим, используют несколько подходов:
🟡 Undersampling. Удаление некоторого количества примеров преобладающего класса.
🟡 Oversampling. Увеличение количества примеров класса, который находится в меньшинстве.
🟡 Комбинирование undersampling и oversampling.
🟡 Создание синтетических данных. Для этого можно использовать SMOTE (англ. Synthetic Minority Oversampling Technique). Алгоритм генерирует некоторое количество искусственных примеров, похожих на имеющиеся в меньшем классе.

Также можно применять взвешивание классов, при котором модель будет сильнее штрафовать за ошибки на меньшем классе. Кроме того, ансамблевые методы могут помочь уменьшить эффект несбалансированности.
🔥8👍1🤯1
Что такое p-value?

P-значение (p-value) указывает на вероятность получить в эксперименте такие или ещё более сильно выраженные различия абсолютно случайно. Например, у нас есть две выборки: одна со средним 20, другая — 18. Наша нулевая гипотеза состоит в том, что эти выборки взяты из одного и того же распределения. Мы вычисляем вероятность получить наблюдаемое отклонение от среднего, исходя из предположения, что нулевая гипотеза верна. Считается, что если полученная вероятность (p) < 0.05, то можно отклонять нулевую гипотезу и принимать альтернативную. Стоит отметить, что граница в 0.05 — это условность.

Важно понимать, что p-значение не говорит о величине эффекта или его практической значимости; оно только помогает определить статистическую значимость результатов.
👍9
Какие методы оптимизации в машинном обучении вы знаете?

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

🟣 Градиентный спуск. Самый простой и известный метод. Параметры модели обновляются с помощью градиента, чтобы прийти к точке минимума. Градиент — это вектор, направление которого совпадает с направлением наискорейшего локального возрастания функции. Соответственно, нас интересует антиградиент, то есть направление наискорейшего локального убывания.

🟣 Стохастический градиентный спуск. Вариация метода выше. В этом случае мы подменяем вычисление градиента по всей выборке вычислением по случайной подвыборке. Это ускоряет процесс обучения.

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

🟣 Adagrad. Адаптация стохастического градиентного спуска. Алгоритм адаптирует размер шага для каждого параметра индивидуально, что позволяет более эффективно находить оптимум.

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

🟣 Adam (ADAptive Momentum). Объединяет в себе идеи градиентного спуска с моментом и RMSprop.
👍81
Чем различаются нейронная сеть с одним выходом и сигмоидальной функцией активации и такая же нейронная сеть, но с двумя выходами и softmax?

Основное различие кроется в применении.
▪️ Сигмоидальная функция преобразует любое входное значение в значение от 0 до 1. Это часто используется для задач бинарной классификации, где выход можно интерпретировать как вероятность принадлежности к одному из двух классов.
▪️ Softmax преобразует входные сигналы в набор чисел, которые в сумме дают 1. Может применяться в задачах многоклассовой классификации, где каждый выход представляет некоторую степень уверенности в том, что объект принадлежит к одному из классов.

Так, сеть с сигмоидальной функцией и одним выходом может подойти для задач, где нужно определить, принадлежит ли объект к определённому классу или нет («красный»/«не красный»).

Сеть с softmax и двумя выходами лучше подходит для ситуаций, где необходимо сделать выбор между двумя взаимоисключающими классами («красный»/«чёрный») или для задач многоклассовой классификации, где каждый класс представлен отдельным выходом.
👍3
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.

В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги

👉Подписаться👈
🤖 Как бы вы объяснили обучение с подкреплением (reinforcement learning)?

Этот метод моделирует обучение методом проб и ошибок. Вместо обучающей выборки алгоритм взаимодействует с некоторой средой (environment), а в роли «разметки» выступают награда (reward) или штраф (penalty). Это некоторые скалярные величины, которая выдаются после каждого шага взаимодействия со средой. Они показывают, насколько хорошо алгоритм справляется с задачей. По традиции, субъект, который взаимодействует со средой, называется в reinforcement learning агентом (agent).

Цель обучения с подкреплением — найти оптимальную стратегию, которая максимизирует совокупное вознаграждение, получаемое агентом с течением времени.
3
Какие метрики регрессии вы знаете?

🔹 MSE (Mean squared error), среднеквадратическая ошибка. Одна из самых популярных метрик в задаче регрессии. Также применяется в качестве функции потерь. Это среднее квадратов разностей между предсказанными и фактическими значениями.
🔹 MAE (Mean absolute error), средняя абсолютная ошибка. Это среднее абсолютных разностей между предсказанными и фактическими значениями.
🔹 MAPE (Mean absolute percentage error), cредняя абсолютная ошибка в процентах. Тут в знаменатель формулы, как у MAE, добавляют само целевое значение. Получается относительная метрика.
🔹 SMAPE (symmetric mean absolute percentage error). Вариация MAPE, которая позволяет обрабатывать случаи, если в знаменателе оказывается 0.
🔹 WAPE (weighted average percentage error). Ещё одна вариация MAPE, рекомендуется к использованию при расчёте точности прогнозирования.
🔹 RMSLE (root mean squared logarithmic error). Здесь добавляем в формулу логарифмы и некую нормировочную константу. Это ещё один способ перейти от абсолютных ошибок к относительным.
👍4
Какие метрики классификации вы знаете?

🔸 Accuracy (иногда, «точность»). Это доля объектов, для которых модель правильно предсказала класс. Есть обратная ей метрика — доля ошибочных классификаций (error rate). Считается как 1 — accuracy.
🔸 Precision (тоже переводят как «точность»). Это доля правильно предсказанных положительных объектов среди всех объектов, которые модель сочла положительным классом.
🔸 Recall («полнота»). Доля правильно предсказанных положительных объектов среди всех настоящих объектов положительного класса.
🔸 F1-мера. Это среднее гармоническое пары Precision-Recall.
🔸 AUC (Area Under Curve). Чем лучше классификатор разделяет два класса, тем больше площадь под кривой (её ещё называют ROC-кривой). Эта метрика показывает соотношение между долей истинно положительных результатов и долей ложноположительных результатов при разных порогах классификации.
5👍3
Какие основные рекомендательные модели вы знаете?

👤 Коллаборативная фильтрация. Метод строит рекомендации для пользователя, используя известные предпочтения (чаще всего оценки) других пользователей. То есть отталкиваемся от идеи, что похожим пользователям нравятся похожие объекты.
- User-based и item-based алгоритмы:
В первом случае строим предположение, что объект понравится пользователю, если он понравился похожим пользователям. Во втором случае предполагаем, что объект понравится пользователю, если ему понравились похожие объекты.
👤 Алгоритм SVD (сингулярное разложение). Делаем разложение матрицы оценок. Помимо предсказания оценок, алгоритм позволяет выявить скрытые признаки объектов и интересы пользователей.
💯5
Как вы бы проверили вес каждого признака в дереве решений?

Если вы строили дерево решений с помощью библиотеки scikit-learn, то можно использовать атрибут feature_importances_. Он возвращает вектор «важностей» признаков. Индекс элемента в векторе соответствует индексу признака в данных. Эти «важности» вычисляются на базе того, как признак уменьшает меру неопределённости в каждом дереве.
🔥5👍3
🔈16+ лучших нейронок для синтеза речи

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

Читать статью
👍3
Вопросы для собеседований на какой грейд вы хотели бы видеть чаще?
Anonymous Poll
56%
junior
44%
middle
22%
senior
Как изменится ROC-AUC, если к вероятностям принадлежности к первому классу применить логарифм?

ROC-AUC показывает, насколько хорошо модель сортирует (ранжирует) объекты класса. От абсолютных значений вероятностей метрика не зависит. Следовательно, применение логарифма не изменит значение ROC-AUC. Логарифмическая функция является монотонной, то есть она сохраняет порядок чисел: если одно число больше другого, то и его логарифм также будет больше.
👍15
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
👍1