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

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

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

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

Наши каналы: https://t.me/proglibrary/9197
Download Telegram
Можете ли вы объяснить, как GAN генерируют изображения?

Обычная генеративно-состязательная сеть (Generative Adversarial Networks, GAN) состоит из двух основных компонентов: генератор и дискриминатор. Первая генерирует новые данные, стремясь создать изображения, которые выглядят как настоящие. Вторая пытается отличить сгенерированные изображения от реальных.

На вход генератора подается случайный вектор (шум). Генератор преобразует этот вектор в изображение, используя серию слоёв, которые постепенно увеличивают размерность данных и добавляют детали. На выходе получается изображение, которое затем оценивается дискриминатором. Цель дискриминатора — правильно классифицировать изображения как реальные или нет. Если он ошибается, то генератор получает сигнал, как улучшить свои изображения.

#глубокое_обучение
Что вы знаете про фреймворк Optuna? Зачем он нужен?

Optuna — это фреймворк для автоматической оптимизации гиперпараметров в задачах машинного обучения. Он использует Gaussian Process-Based Sampler для байесовской оптимизации, который основывается на гауссовских процессах. Помимо этого, Optuna применяет алгоритмы для ранней остановки бесперспективных экспериментов.

В контексте фреймворка употребляются два понятия:
▪️Study — оптимизация на базе целевой функции
▪️Trial — одно выполнение целевой функции.

Также Optuna позволяет легко распараллелить процесс поиска гиперпараметров. Для отслеживания процесса можно использовать dashboard с визуализацией обучения в реальном времени.

🔗 Ссылка на документацию

#машинное_обучение
Выберите возможный эффект, который последует за увеличением минимального количества примеров на лист в дереве решений:
Anonymous Quiz
42%
Размер дерева решений увеличивается
58%
Размер дерева решений уменьшается
Объясните механизм multihead attention

Механизм attention используется в трансформерах. Он позволяет заставить модель «обращать внимание» на важные слова в предложении. Multihead attention расширяет эту идею, используя несколько «голов» внимания для одновременного анализа информации как бы с разных точек зрения. Каждая «голова» работает независимо, позволяя модели захватывать разнообразные взаимосвязи и зависимости в данных.

На практике мы делим весь эмбеддинг и прогоняем каждую часть через разные матрицы. Так мы получаем разнообразные представления. Плюсом к этому идёт возможность распараллелить процесс. В итоге результаты всех независимых механизмов внимания объединяются и проходят через линейный слой для получения финального представления.

#глубокое_обучение
#NLP
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
У вас есть данные о продолжительности звонков в колл-центр. Как может выглядеть распределение? Как вы можете проверить свои предположения?

Для начала проведём предобработку данных. Заполнять пропуски в них мы не будем. Нулевые значения достаточно просто удалить.

Наше предположение состоит в том, что данные должны следовать логарифмически нормальному распределению. Можно использовать график квантиль-квантиль (Q-Q). Нам нужно выбрать набор интервалов для квантилей. На графике точка (x, y) будет соответствовать одному из квантилей второго распределения (координата y), нанесённому на тот же квантиль первого распределения (координата x). Таким образом, линия является кривой с параметром, обозначающим номер интервала для квантиля.

Если сравниваемые два распределения похожи, точки на графике Q — Q будут приблизительно лежать на линии y = x. Если распределения линейно связаны, точки на графике Q — Q будут приблизительно лежать на линии, но не обязательно на линии y = x.

#статистика
В чём разница между обнаружением объектов (object detection) и сегментацией изображения?

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

▪️Обнаружение объектов.

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

▪️Сегментация изображений.

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

#глубокое_обучение
#компьютерное_зрение
Что делать, если AUC < 0.5?

В случае бинарной классификации AUC эквивалентна вероятности того, что классификатор присвоит большее значение положительному классу (класс 1) по сравнению с отрицательным (класс 0). Если AUC < 0.5, это означает, что модель предсказывает хуже случайного угадывания, однако инвертирование предсказанных значений может сделать модель полезной, так как она фактически «ошибается» в противоположную сторону.

#машинное_обучение
Чем сезонность отличается от тренда во временных рядах?

Оба этих термина возникают при декомпозиции временного ряда, то есть разложении его на составляющие.

▪️Тренд характеризует плавное долгосрочное изменение временного ряда. Он может быть восходящим, нисходящим или постоянным.
▪️Сезонность отображает циклические изменения временного ряда с постоянным периодом.

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

#машинное_обучение
Коротко опишите процесс обучения нейронной сети

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

▪️Прямой проход.
— Вычисляется взвешенная сумма входов в каждом нейроне.
— К этой сумме применяется функция активации.
— Предсказывается выход и вычисляется разницу между предсказанным и реальным значением.

▪️Обратный проход.
— Вычисляется градиент функции потерь по отношению к весам, используя метод обратного распространения ошибки (backpropagation).
— Градиенты используются для обновления весов.

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

#глубокое_обучение
⚡️Proglib запускает канал про ИИ в сфере видео

Вот несколько топовых постов за последнее время:

⭐️Инструмент, который сам делает короткие вертикальные видео из ваших длинных роликов, например, на ютуб
⭐️Подборка нейро-генераторов видео с пробным периодом
⭐️Анонс ИИ-«нетфликса», который будет штамповать вам мультики по запросам

👉Подписывайтесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
Почему метод опорных векторов (SVM) так называется?

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

При обучении SVM веса должны быть подобраны таким образом, чтобы объекты классов лежали как можно дальше от разделяющей гиперплоскости. Так, алгоритм максимизирует зазор (margin) между гиперплоскостью и объектами классов, которые расположены ближе всего к ней. Эти объекты и называют опорными векторами.

#машинное_обучение
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.

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

👉Подписаться👈
У вас есть языковая модель. Что произойдёт с новым словом из тестового датасета, которое не присутствовало в обучающем датасете?

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

▪️Игнорировать слово;
▪️Воспользоваться встроенными механизмами обработки редких или неизвестных слов, такими как применение специальных токенов.

Результат будет зависеть от конкретной реализации и архитектуры модели.

#NLP
✍️Библиотека программиста» находится в поиске автора оригинальных статей

Кто нужен?
● Энтузиасты (джуны и выше), которые держат руку на пульсе, читают помимо книг зарубежные техноблоги
● Энтузиасты, которым есть что сказать

Тематика
● DevOps
● В четырех случаях из пяти вы предлагаете тему статьи

Объем
● От 7 до 15 тыс. знаков без учета кода
● 2-3 статьи в месяц

Оплата
● 8к руб. за статью
● Работаем с самозанятыми (компенсируем налог), ИП

Я пишу «так себе», что делать?
Чтобы написать статью, которую не стыдно опубликовать, достаточно овладеть инфостилем. У нас есть бесплатный курс для начинающих копирайтеров «Статьи для IT: как объяснять и распространять значимые идеи». Время прохождения курса: 1-2 недели.

✉️Пишите на hello@proglib.io
Что такое критерий Колмогорова-Смирнова?

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

Нам дано непрерывное распределение F и выборка, полученная из неизвестного распределения. Нужно выбрать между двумя гипотезами: выборка была получена из распределения F; выборка была получена не из распределения F.

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

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

#статистика
🎮Новый канал по разработке игр

Мы наконец-то запустили канал по разработке игр — теперь все самое важное и полезное из мира геймдева можно узнать в одном месте.

👉Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Объясните, почему Случайный лес (Random Forest) моделирует нелинейные зависимости?

Случайный лес — это ансамблевый метод машинного обучения, который строит множество решающих деревьев и объединяет их прогнозы для получения более точных результатов. При построении Random Forest не делается никаких предположений о линейности данных. И сам алгоритм не предполагает использования таких предположений.

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

#машинное_обучение
Что называют шумом в данных?

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

▫️ошибки измерения;
▫️аномалии;
▫️человеческий фактор.

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

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

#машинное_обучение
👀Что из этого сгенерировала нейросеть?

Подписывайтесь на наш новый канал про нейросети для создания изображений, там есть:

🌸Новые нейросети и инструменты, например, вот модель генерирует картинки по наброску
🌸Промты для разных задач
🌸Лайфхаки по использованию нейросетей

👉Подписывайтесь!
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое прунинг (pruning) дерева решений?

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

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

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

#машинное_обучение