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

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

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

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

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

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

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

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

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

В бэггинге модели независимы и усредняются, в то время как в бустинге модели взаимодействуют и учатся на ошибках друг друга, что позволяет им вместе достичь лучшей производительности.
👍10🔥3
Какой слой в gpt обрабатывает выход трансформера и как он работает?

В архитектуре GPT (Generative Pre-trained Transformer) слой, который обрабатывает выход трансформеров, называется "декодирующим слоем" или "генеративным слоем".

Этот слой работает следующим образом:
1. Составление вероятностного распределения слов: Для генерации текста декодирующий слой принимает выходные данные из трансформера, которые представляют собой скрытое состояние, кодирующее информацию о контексте. Декодирующий слой преобразует это скрытое состояние в вероятностное распределение над возможными словами в словаре.
2. Генерация слов: На основе вероятностного распределения декодирующий слой выбирает следующее слово для генерации. Это может быть выполнено с использованием методов выбора, таких как сэмплирование согласно вероятностям или выбор наиболее вероятного слова.
3. Обратная связь: Сгенерированное слово добавляется к предыдущему контексту, и этот расширенный контекст возвращается на вход декодирующему слою. Это позволяет модели учитывать уже сгенерированный текст при принятии решения о следующем слове.
4. Повторение: Процесс генерации слов повторяется до достижения определенной длины текста или до выполнения некоторого условия завершения, такого как генерация специального символа конца текста.
5. Обучение: Декодирующий слой обучается на парах вход-выход на больших текстовых корпусах. Обучение включает в себя подбор параметров так, чтобы модель максимизировала вероятность правильной генерации текста.
👍6
Что такое квантизация и бинаризация модели и в чем между ними разница?

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


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


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

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

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

• Градиентный спуск обновляет параметры модели на основе градиента, вычисленного на всем обучающем наборе.
• Стохастический градиентный спуск (SGD) обновляет параметры, используя случайные образцы из обучающего набора, делая обучение быстрее, но более шумным.
10👍4
Как работает LambdaMART?

1. Построение деревьев LambdaMART: LambdaMART использует деревья решений, которые предсказывают релевантность объектов (например, веб-страниц или товаров). Для каждого объекта есть целевая переменная - его реальный ранг или релевантность.

2. Вычисление функции потерь LambdaMART: Функция потерь оценивает, насколько хорошо предсказанные ранги соответствуют реальным рангам. Она учитывает веса (lambdas), которые определяют важность каждого объекта.

3. Градиентный бустинг для деревьев LambdaMART: LambdaMART использует градиентный бустинг для обучения последовательности деревьев. Каждое дерево строится для улучшения текущего ранжирования.

4. Ансамбль деревьев LambdaMART: После обучения деревьев они объединяются в ансамбль. Каждое дерево представляет собой слабый ранжировщик, но ансамбль улучшает ранжирование.

5. Предсказание рангов: Для новых объектов LambdaMART предсказывает их ранги, используя ансамбль деревьев. Это помогает определить порядок объектов в результатах поиска или рекомендациях, учитывая их релевантность.
🔥2🤯1😱1
Чем файл .pyc отличается от файла .py?

Хотя оба файла содержат байт-код, .pyc — это скомпилированная версия файла Python. Он имеет независимый от платформы байт-код.

Следовательно, мы можем выполнить его на любой платформе, поддерживающей формат .pyc.

Python автоматически генерирует его для повышения производительности (с точки зрения времени загрузки, а не скорости).
👍1
Что такое N-граммы? Как мы можем их использовать?

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

Если все веса нейронной сети установлены равными нулю, выходные данные каждого соединения будут одинаковыми (W*x = 0). Это означает, что градиенты, которые возвращаются к каждому соединению в слое, одинаковы. То есть все связи/веса изучают одно и то же, и модель никогда не сойдется.
👍3🤔1
Каковы основные параметры модели дерева решений?

✍️ максимальная глубина дерева
✍️ минимальные выборки на листовой узел
✍️ критерий примеси
👍9
Что такое регуляризация? Зачем нам это нужно?

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

Количество деревьев в случайном лесу обрабатывается n_estimators, а случайный лес уменьшает переобучение за счет увеличения количества деревьев. Не существует фиксированного эмпирического правила для определения количества деревьев в случайном лесу, оно довольно точно настраивается с учетом данных, обычно начиная с возведения в квадрат количества признаков (n), присутствующих в данных, с последующей настройкой, пока мы не получим получить оптимальные результаты.
👍8😁2🤔1
Когда бы вы использовали Adam, а когда SGD?

Adam имеет тенденцию сходиться быстрее, тогда как SGD часто сходится к более оптимальным решениям.
🤯52👍1
Что такое ROC-кривая? Когда её использовать?

ROC означает «Receiver Operating Characteristics». Схематическое изображение, показывающее контраст между истинно положительными показателями и ложноположительными. Она используется, когда нам нужно предсказать вероятность двоичного результата.
2👍2
Что такое bag of words? Как мы можем использовать его для классификации текста? ‍

Это представление текста, описывающее появление слов в документе. Порядок или структура слов не учитываются. Для классификации текста мы смотрим на гистограмму слов в тексте и рассматриваем каждое количество слов как признак.
👍5
Как выглядит регуляризация L2 в линейной модели?

Регуляризация L2 добавляет к нашей функции стоимости штраф, который равен сумме квадратов коэффициентов модели, умноженных на лямбда-гиперпараметр. Этот метод гарантирует, что коэффициенты близки к нулю, и широко используется в случаях, когда у нас есть много функций, которые могут коррелировать друг с другом.
👍2
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

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

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

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

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