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

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

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

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

Наши каналы: https://t.me/proglibrary/9197
Download Telegram
👾 Дуэт для старта в Data Science

Когда все казалось потерянным и надежда на карьеру в DS и аналитики исчезала. Он часами изучал возможности, но так и не находил выхода.

Но появилась она, с предложением, которое изменит всё…

...до 30 июня курс по математике за полцены и курс по Machine Learning в подарок

🛍14 990 ₽ (вместо 29 990 ₽)🛍

Что ждёт вас на курсе:

⭐️Полугодовая программа от преподавателей ВМК МГУ

⭐️47 видеолекций и 150 практических заданий

⭐️Бессрочный доступ ко всем материалам курса

⭐️Развернутая обратная связь по всем домашним заданиям и ссылки на полезные дополнительные материалы

🫶 Воспользуйтесь шансом, чтобы начать свой путь в Data Science – https://proglib.io/w/2cb0a5bd
Please open Telegram to view this post
VIEW IN TELEGRAM
Что вы знаете про правило цепи (chain rule)? Как оно используется в машинном обучении?

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

Для этого применяется правило цепи, которое позволяет выразить производную сложной функции через произведение производных её составных частей. Отметим также, что этот процесс идёт в обратном от прямого распространения порядке: сначала производная ошибки, потом сигмоиды третьего слоя, затем линейной функции второго. Именно поэтому процесс называется обратным распространением ошибки (error back propagation).

#математика
#машинное_обучение
Вы можете коротко рассказать, как онлайн-кинотеатры подбирают нам кино на вечер?

Онлайн-кинотеатры используют рекомендательные системы для подбора фильмов на основе предпочтений пользователей. Существует три основных типа рекомендательных систем:

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

▪️Фильтрация на основе содержания.
Система анализирует фильмы, которые пользователь смотрел ранее, и предлагает похожие фильмы (например, по жанру или актерам).

▪️Коллаборативная фильтрация.
Система находит пользователей с похожими вкусами и рекомендует фильмы, которые понравились им. Существует два вида коллаборативной фильтрации:
▫️User-based — рекомендации на основе предпочтений похожих пользователей.
▫️Item-based — рекомендации на основе сходства фильмов. Сходство определяется на базе предпочтений всех пользователей, которые оставили свои оценки.

Для коллаборативной фильтрации часто используется алгоритм k-ближайших соседей (KNN) для определения сходства между фильмами или пользователями.

🔹Пример работы системы:

▪️Создаётся матрица предпочтений пользователей и фильмов.
▪️Используется алгоритм KNN для нахождения ближайших соседей.
▪️Подбираются фильмы с наибольшим сходством с уже просмотренными фильмами.

Так, если вы посмотрели фильм «Матрица», система может порекомендовать другие фильмы с Киану Ривзом или в жанре научной фантастики.

#машинное_обучение
Можете ли вы объяснить вероятностную модель регрессии?

В задачах классификации и регрессии нам, по сути, нужно найти зависимость между исходными данными X и целевыми значениями Y. Обычно модель имеет параметры, которые подбираются в ходе обучения, поэтому модель можно записывать как функцию от входных данных x и некоторых параметров θ. Поскольку параметров обычно много, то θ, чаще всего, представляет собой некий массив чисел.

Общая идея вероятностного моделирования заключается в том, что вместо одного числа модель должна предсказывать распределение вероятностей на множестве Y при заданном значении x из множества X. То есть мы ищем вероятность наблюдать y при таком x и таких параметрах θ.

В регрессионной задаче, это можно записать как P(Y|X, θ). Далее, с помощью метода максимального правдоподобия или других методов оптимизации, мы подбираем параметры θ, которые максимизируют правдоподобие наблюдаемых данных.

#машинное_обучение
#теория_вероятностей
Вы подбрасываете честную монетку 576 раз. Без использования калькулятора вычислите вероятность того, что выпадет как минимум 312 орлов

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

Итак, ожидаемое число выпавших орлов равно n*p или 576*0.5 = 288. Давайте также вычислим стандартное отклонение. Для этого нужно извлечь квадратный корень из следующего выражения: n*p*(1 — p). Подставим все числа: 576*0.5*0.5. Получается 144. А квадратный корень из 144 — это 12.

Затем можно догадаться, что 312 — это 288 + 12*2, то есть среднее + два стандартных отклонения. Поэтому, исходя из приближения к нормальному распределению, мы знаем, что на ±2 стандартных отклонениях находятся 5% распределения. Так, вероятность того, что выпадет 312 или больше орлов, будет равна 2.5%.

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

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

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

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Что такое mutual Information (взаимная информация)?

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

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

Теперь представим, что мы рассматриваем только распределение веса, игнорируя рост, и только распределение роста, игнорируя вес. Эти распределения называются маржинальными. Они дают нам информацию о том, как часто встречаются определённые значения веса и роста независимо друг от друга.

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

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

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

Дендрограмма состоит из узлов и ветвей, где каждый узел представляет кластер, а ветви показывают объединение или разделение кластеров. По вертикальной оси дендрограммы откладывается мера расстояния или схожести между кластерами, а по горизонтальной оси — сами кластеры или объекты данных.

#машинное_обучение
Что называют сильным искусственным интеллектом, а что — слабым?

По традиции системы искусственного интеллекта делят на два вида. Первый — «слабый», а также «специализированный» или «прикладной». Такие системы ИИ предназначены для решения какой-то одной задачи или их небольшого множества. Второй вид — «сильный» или «универсальный» искусственный интеллект. К этому виду относят системы гипотетические, способные, подобно человеческому интеллекту, решать неопределённо широкий спектр задач.

Для последнего в английском языке применяется термин artificial general intelligence, AGI.

#машинное_обучение
❗️Вакансии «Библиотеки программиста» — ждем вас в команде!

Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉авторов в наше медиа proglib.io
👉контент-менеджеров для ведения телеграм-каналов

Подробности тут.

Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴

Ждем ваших откликов 👾
Please open Telegram to view this post
VIEW IN TELEGRAM
Назовите ключевые гиперпараметры нейронной сети

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

▪️Способ инициализации весов
Это довольно сильно может повлиять на сходимость модели.

▪️Количество скрытых слоёв
Также характеризуется глубиной нейросети.

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

▪️Функция активации
Привносит нелинейность в модель.

▪️Функция потерь
Определяет, насколько хорошо модель обучается, измеряя разницу между предсказанными и фактическими значениями.

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

▪️Learning rate (скорость обучения)
Устанавливает размер шага при обновлении весов нейросети. Очень высокий или низкий learning rate может замедлить или даже остановить обучение модели.

#глубокое_обучение
Допустим, вам надо предсказать доход человека. У вас есть все необходимые признаки, а данных достаточно. После построения модели как вы определите, что она получилась хорошей?

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

▪️Выбрать метрику качества модели: MAE (Mean Absolute Error), MSE (Mean Squared Error) или RMSE (Root Mean Squared Error). Она поможет понять, насколько точно модель предсказывает целевую переменную.

▪️Разделить имеющиеся данные на две части — обучающую и тестовую выборки. Обучающая выборка используется для построения модели, а тестовая — для оценки её качества. Это необходимо для предотвращения переобучения, когда модель хорошо работает на обучающих данных, но плохо на новых примерах.

▪️После построения модели на обучающих данных следует проверить её качество на тестовых данных. Если значения метрик на обучающей и тестовой выборках не сильно различаются, это указывает на то, что модель не переобучилась и способна давать хорошие предсказания.

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

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

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

👉Подписаться👈
Назовите достоинства и недостатки рекуррентных нейронных сетей

🔹Достоинства

▫️Рекуррентные нейронные сети (RNN) способный справляться с с анализом временных рядов, текста и других типов данных, которые можно назвать последовательностями.
▫️Они могут моделировать долгосрочные зависимости в данных.
▫️RNN используют одни и те же веса (W) на каждом шаге, что делает размер модели независимым от длины последовательности.

🔹Недостатки

▫️При обучении RNN часто сталкиваются с проблемой исчезающего градиента, то есть ситуацией, когда градиенты становятся экстремально малы. Также может случиться обратная ситуация: проблема взрывающегося градиента.
▫️Из-за своей структуры RNN могут быть сложны в обучении и требуют больших вычислительных ресурсов.
▫️Несмотря на то, что RNN могут запоминать предыдущие состояния, их «память» ограничена, и они могут забывать информацию через несколько шагов.

#глубокое_обучение
Вы заметили, что ваша модель недообучена. Что бы вы предприняли?

Можно рассмотреть несколько методов.

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

▪️Добавить больше релевантных признаков.

▪️Снизить влияние регуляризации.

▪️Увеличить продолжительность обучения.

▪️Взять больше данных (если можно).

#машинное_обучение
Можно ли сделать отбор признаков с помощью регуляризации LASSO?

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

#машинное_обучение
Что такое стоп-слова в NLP и как с ними работать?

Стоп-слова — это распространённые в языке слова, которые практически не несут смысловой нагрузки. Чаще всего это артикли, междометия, союзы и т.д. Например, в английском языке стоп-словами могут быть the, a и an.

В рамках подготовки текста к NLP-задачам стоп-слова обычно удаляются, так как они могут добавить много шума. Универсального способа определить список стоп-слова нет. Однако можно пользоваться готовыми инструментами. Так, в библиотеке NLTK есть предустановленный список. Перед первым использованием вам понадобится его скачать: nltk.download('stopwords'). После скачивания можно его импортировать и посмотреть на сами слова.

#NLP
Что вы знаете о теореме Чебышева?

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

Неравенство также можно интерпретировать так: вероятность того, что случайная величина X отклоняется от своего математического ожидания на более чем k стандартных отклонений, не превышает 1/k². Это утверждение справедливо для любых распределений с конечной дисперсией и не требует предположений о форме распределения.

#статистика
Можете ли вы объяснить модель ARIMA?

Модель ARIMA используется для прогнозирования временных рядов. Она сочетает три ключевых компонента: авторегрессию (AR), интегрирование (I) и скользящую среднюю (MA).

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

▪️Интегрирование
Интегрирование используется для превращения временного ряда в стационарный, устраняя тренды или сезонность.

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

Сочетая эти три компонента, модель ARIMA может улавливать различные зависимости. Стоит отметить, что существуют вариации модели ARIMA, такие как SARIMA (Seasonal ARIMA), которая включает дополнительные сезонные компоненты.

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