ch
Feedback
Библиотека собеса по Data Science | вопросы с собеседований

Библиотека собеса по Data Science | вопросы с собеседований

前往频道在 Telegram

Вопросы с собеседований по Data Science и ответы на них. Курс по Ai-агентам: https://clc.to/9L0Tqg По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/7dfb7235 Для обратной связи: @proglibrary_feeedback_bot

显示更多
4 487
订阅者
-224 小时
+17
+3430
帖子存档
Что, если мы установим все веса нейронной сети равными 0? Если все веса нейронной сети установлены равными нулю, выходные данные каждого соединения будут одинаковыми (W*x = 0). Это означает, что градиенты, которые возвращаются к каждому соединению в слое, одинаковы. То есть все связи/веса изучают одно и то же, и модель никогда не сойдется.

Что такое N-граммы? Как мы можем их использовать? Функция разбиения на последовательные последовательности слов называется n-граммами. Его можно использовать для определения N наиболее часто встречающихся слов (как часто за словом X следует слово Y) в данном предложении.

Чем файл .pyc отличается от файла .py? Хотя оба файла содержат байт-код, .pyc — это скомпилированная версия файла Python. Он имеет независимый от платформы байт-код. Следовательно, мы можем выполнить его на любой платформе, поддерживающей формат .pyc. Python автоматически генерирует его для повышения производительности (с точки зрения времени загрузки, а не скорости).

Что выведет код сверху?
Anonymous voting

Как работает LambdaMART? 1. Построение деревьев LambdaMART: LambdaMART использует деревья решений, которые предсказывают релевантность объектов (например, веб-страниц или товаров). Для каждого объекта есть целевая переменная - его реальный ранг или релевантность. 2. Вычисление функции потерь LambdaMART: Функция потерь оценивает, насколько хорошо предсказанные ранги соответствуют реальным рангам. Она учитывает веса (lambdas), которые определяют важность каждого объекта. 3. Градиентный бустинг для деревьев LambdaMART: LambdaMART использует градиентный бустинг для обучения последовательности деревьев. Каждое дерево строится для улучшения текущего ранжирования. 4. Ансамбль деревьев LambdaMART: После обучения деревьев они объединяются в ансамбль. Каждое дерево представляет собой слабый ранжировщик, но ансамбль улучшает ранжирование. 5. Предсказание рангов: Для новых объектов LambdaMART предсказывает их ранги, используя ансамбль деревьев. Это помогает определить порядок объектов в результатах поиска или рекомендациях, учитывая их релевантность.

В чем отличие стохастического градиентного спуска от обычного? Стандартный градиентный спуск (Gradient Descent) и стохастический градиентный спуск (Stochastic Gradient Descent или SGD) - это два важных метода оптимизации в машинном обучении. Они отличаются в том, как обновляют параметры модели в процессе обучения. • Градиентный спуск обновляет параметры модели на основе градиента, вычисленного на всем обучающем наборе. • Стохастический градиентный спуск (SGD) обновляет параметры, используя случайные образцы из обучающего набора, делая обучение быстрее, но более шумным.

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

Что такое квантизация и бинаризация модели и в чем между ними разница? Квантизация и бинаризация модели - это методы снижения объема памяти и вычислительной сложности нейронных сетей, путем уменьшения точности представления весов и активаций модели. Вот как они работают: Квантизация модели: • Идея: Квантизация заключается в уменьшении точности чисел, используемых для представления весов и активаций модели. Вместо хранения и вычисления чисел с плавающей запятой, мы используем целочисленные числа с ограниченным числом бит. • Пример: Вместо хранения числа с плавающей запятой 0.753218, мы можем использовать квантованное значение, например, 8-битное целое число 155. • Плюсы: Квантизация снижает объем памяти и требования к вычислительным ресурсам, что особенно полезно для встраиваемых систем и мобильных устройств. • Минусы: Это может привести к некоторой потере точности, так как мы снижаем разрешение чисел. Бинаризация модели: • Идея: Бинаризация идет еще дальше и заключается в том, чтобы представлять веса и активации как бинарные (0 или 1) значения. Вместо вещественных чисел используются биты. Это делает модель еще более компактной. • Пример: Вместо числа с плавающей запятой можно использовать всего два значения: 0 и 1. • Плюсы: Бинаризация дает значительное снижение объема памяти и требований к вычислительным ресурсам. Она подходит для задач, где крайне ограничены ресурсы. • Минусы: Бинаризация может привести к еще большей потере точности, и сложные модели могут стать непригодными для задач с высокими требованиями к точности. Оба метода, квантизация и бинаризация, имеют свои компромиссы между размером модели и ее производительностью. Их выбор зависит от конкретных потребностей приложения и доступных ресурсов.

Какой слой в gpt обрабатывает выход трансформера и как он работает? В архитектуре GPT (Generative Pre-trained Transformer) слой, который обрабатывает выход трансформеров, называется "декодирующим слоем" или "генеративным слоем". Этот слой работает следующим образом: 1. Составление вероятностного распределения слов: Для генерации текста декодирующий слой принимает выходные данные из трансформера, которые представляют собой скрытое состояние, кодирующее информацию о контексте. Декодирующий слой преобразует это скрытое состояние в вероятностное распределение над возможными словами в словаре. 2. Генерация слов: На основе вероятностного распределения декодирующий слой выбирает следующее слово для генерации. Это может быть выполнено с использованием методов выбора, таких как сэмплирование согласно вероятностям или выбор наиболее вероятного слова. 3. Обратная связь: Сгенерированное слово добавляется к предыдущему контексту, и этот расширенный контекст возвращается на вход декодирующему слою. Это позволяет модели учитывать уже сгенерированный текст при принятии решения о следующем слове. 4. Повторение: Процесс генерации слов повторяется до достижения определенной длины текста или до выполнения некоторого условия завершения, такого как генерация специального символа конца текста. 5. Обучение: Декодирующий слой обучается на парах вход-выход на больших текстовых корпусах. Обучение включает в себя подбор параметров так, чтобы модель максимизировала вероятность правильной генерации текста.

В чем разница между бустингом и бэггингом? Разница между бустингом и бэггингом заключается в том, как они комбинируют прогнозы базовых моделей: 1. БэггингПринцип: В бэггинге создается множество подвыборок данных путем случайного выбора с заменой из исходного набора данных. Затем над каждой подвыборкой обучается отдельная базовая модель (например, решающее дерево). • Прогноз: Прогнозы отдельных моделей усредняются (для регрессии) или выбирается наиболее часто встречающийся класс (для классификации). • Пример: Случайный лес (Random Forest) - это пример бэггинга, где базовые модели - решающие деревья. 2. БустингПринцип: В бустинге базовые модели обучаются последовательно. Каждая новая модель фокусируется на ошибках, сделанных предыдущими моделями, и пытается их исправить. • Прогноз: Прогнозы базовых моделей взвешиваются, и веса назначаются на основе их производительности. Прогнозы базовых моделей объединяются, и каждая следующая модель старается уменьшить ошибки предыдущих. • Пример: Градиентный бустинг (Gradient Boosting) и AdaBoost - это популярные методы бустинга. В бэггинге модели независимы и усредняются, в то время как в бустинге модели взаимодействуют и учатся на ошибках друг друга, что позволяет им вместе достичь лучшей производительности.

Как работает Dropout? Dropout - это метод регуляризации нейронных сетей, который помогает предотвратить переобучение. Он работает следующим образом: 1. Исключение нейронов: В процессе обучения нейронной сети, на каждом шаге обучения, dropout случайным образом "отключает" (или исключает) некоторые нейроны сети. Это означает, что в процессе прямого и обратного распространения ошибки, эти нейроны не участвуют. 2. Параметр "вероятность отключения": Dropout вводит параметр "вероятность отключения" (обычно обозначается как p), который указывает, с какой вероятностью каждый нейрон будет исключен на каждом обновлении (проходе) через сеть. 3. Устранение переобучения: Dropout помогает бороться с переобучением, потому что он заставляет сеть стать более устойчивой и генерализировать лучше на новых данных. Из-за случайного отключения нейронов сеть вынуждена распределять вычислительные ресурсы более эффективно. 4. Использование во время тестирования: Важно помнить, что dropout используется только во время обучения сети. Когда сеть применяется для создания предсказаний на новых данных, dropout выключается, и все нейроны используются.

Какие существуют эмбеддинги в NLP и в чем они отличаются? 1. Word2Vec: Создает плотные векторы слов, подходит для множества задач NLP. Обучается на основе локальных контекстов в предложениях. 2. GloVe: Использует глобальную статистику совместной встречаемости слов, хорошо подходит для классификации текстов. 3. FastText: Учитывает подслова, полезен для языков с морфологией. 4. ELMo: Контекстуализированные эмбеддинги, учитывает значение слова в зависимости от контекста. 5. BERT: Мощная модель, учитывает контекст с обеих сторон слова, применяется во многих задачах NLP. 6. ULMFiT: Основан на LSTM, дообучается для конкретных задач с ограниченными данными.

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

Опишите вкратце ваш самый интересный проект в DS - как проект помог бизнесу, какой стек использовали и в чем суть проекта?

Что такое A/B тестирование моделей и как оно используется в MLOps? A/B тестирование моделей - это метод сравнения двух или более моделей машинного обучения для определения наилучшей производительности. В MLOps, это используется для оценки эффективности новых моделей перед их развертыванием в production.

Что такое контейнеризация, и как она используется в MLOps? Контейнеризация - это технология, которая позволяет упаковывать приложения и их зависимости в изолированные контейнеры. В MLOps она используется для упаковки моделей и их зависимостей, что делает развертывание более надежным и портируемым.

Что такое CI/CD в контексте MLOps и как это работает? CI (Continuous Integration) и CD (Continuous Deployment) в MLOps означают непрерывную интеграцию и непрерывное развертывание. Это практики автоматической сборки, тестирования и развертывания моделей машинного обучения при каждом изменении кода или данных.

Подходы к задаче ранжирования 🔸 Pointwise, он же поточечный. Мы будем рассматривать релевантность как абсолютное мерило и будем штрафовать модель за абсолютную разность между предсказанной релевантностью и той, которую мы знаем по обучающей выборке. Например, асессор поставил документу оценку 3, а мы бы сказали 2, поэтому штрафуем модель на 1. 🔸 Pairwise, попарный. Мы будем сравнивать документы друг с другом. Например, в обучающей выборке есть два документа, и нам известно, какой из них более релевантный по данному запроса. Тогда мы будем штрафовать модель, если она более релевантному поставила прогноз ниже, чем менее релевантному, то есть неправильно сранжировала пару. 🔸 Listwise. Он тоже основан на относительных релевантностях, но уже не внутри пар: мы ранжируем моделью всю выдачу и оцениваем результат — если на первом месте оказался не самый релевантный документ, то получаем большой штраф.

Как следует поддерживать развернутую модель? Шаги по поддержанию развернутой модели: 🟠 Мониторинг Необходим постоянный мониторинг всех моделей для определения точности их работы. Когда вы что-то меняете, вы хотите выяснить, как изменения повлияют на ситуацию. 🟠 Оценка Метрики оценки текущей модели рассчитываются, чтобы определить, нужен ли новый алгоритм. 🟠 Сравнение Новые модели сравниваются друг с другом, чтобы определить, какая модель работает лучше. 🟠 Перезапуск Наиболее эффективная модель дообучается на новых данных.