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

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

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

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

Наши каналы: https://t.me/proglibrary/9197
Download Telegram
🔈16+ лучших нейронок для синтеза речи

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

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

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

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

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

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

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

Если линейная регрессия предсказывает само значение целевой переменной, то логистическая используется для предсказания вероятности того, что объект принадлежит к определённому классу. Своё название логистическая регрессия берёт из того, что изначально прогнозирует логит (logit или log odd), логарифм отношения вероятности положительного события к отрицательному. Логит можно преобразовать в вероятность, например, через сигмоиду (если мы говорим о бинарной классификации).

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

#junior
👍9🔥4
Для чего используют batch normalization?

Это метод, который нормализует входы нейросети. На специальном слое batch normalization текущий батч (пакет данных) приводится к нулевому среднему и единичной дисперсии.

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

Стоит отметить, что до сих пор идут дискуссии о причинах эффективной работы batch normalization.

#junior
#middle
6
Какие метрики качества ранжирования вы знаете?

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

🟠 Precision at K (p@K). Это метрика качества ранжирования для одного объекта. Измеряет долю релевантных элементов среди первых k элементов в ранжированном списке.
🟠 Mean average precision at K (map@K). Чаще всего мы имеем дело со множеством объектов, а не с одним, например с сотнями тысяч пользователей. Идея map@K заключается в том, чтобы сначала вычислить среднее precision at K для каждого объекта, а затем усреднить итог.
🟠 Normalized Discounted Cumulative Gain (NDCG). Здесь разберём поэтапно:
- Сначала рассмотрим один объект и k наиболее релевантных элементов. Это будет Cumulative gain at K (CG@K), метрика, которая использует простую идею: чем более релевантные элементы в этом топе, тем лучше.
- Далее введём Discounted cumulative gain at K (DCG@K). Это модификация CG@K, учитывающая порядок элементов в списке. Необходимо домножить показатель релевантности элемента на вес равный обратному логарифму номера позиции.
- В конце концов придём к normalized discounted cumulative gain at K (nDCG@K). Это нормализованная версия DCG@K. Данная метрика принимает значения в диапазоне от 0 до 1.
🟠 Mean Reciprocal Rank (MRR). Метрика усредняет обратные ранги первых правильно угаданных элементов по всем объектам.

Формулы можно найти в этой статье

#middle
👍8
👨‍💼С точки зрения бизнес-процессов в чём разница между метрикой качества и функцией потерь?

Метрика качества напрямую связана с бизнес-целями. Она должна отвечать заказчику на вопрос: как построенная модель улучшает работу сервиса/компании? Например, бизнесу может быть интересна медианная длина сессии пользователя на сайте.

Если коротко:
✔️функция потерь возникает, когда мы сводим задачу построения модели к задаче оптимизации. Поэтому нам важно, чтобы она имела некоторые свойства, в частности была дифференцируемой;
✔️метрика же является объективным критерием качества, зачастую зависит только от предсказанных результатов.

Иногда метрика может совпадать с функцией потерь. Такое случается, например, при решении задачи регрессии, когда мы используем среднеквадратическую ошибку (MSE). А вот в задаче бинарной классификации чаще всего метрика и функция потерь не совпадают. В качестве первой может выступать число верно угаданных меток (accuracy), а в качестве второй — кросс-энтропия.

#junior
#middle
👍81
Как работает KNN (k-ближайших соседей, или k-nearest neighbors)?

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

Стоит отметить, что KNN можно довольно легко обобщить и на задачу регрессии. Например, можно брать среднее по k соседям.

#junior
🔥4👍3👏1🎉1
👩‍💻 Решение задачи на Python про сумму диагоналей матрицы

Задача: Дана матрица mat. Напишите функцию, которая возвращает сумму элементов диагоналей матрицы.

Первым делом следует уточнить у интервьюера, какие есть ограничения. Например, он сказал, что на вход мы получаем только квадратную матрицу, элементы на пересечении диагоналей считаются только один раз, элементы могут принимать значения от 1 до 100.

Тогда решение может выглядеть так:
🧩 Мы будем проходиться в цикле и сразу прибавлять к результату значения матрицы по индексам i (mat[i][i]). Дальше будем смотреть: если i не равно n-i-1, где n — размер матрицы, значит мы прибавляем к результату mat[i][n-i-1]. Эта проверка позволит нам избежать повторного прибавления к сумме элементов, которые стоят на пересечении диагоналей.

Это будет решение за O(n), так как мы один раз проходимся в цикле по элементам матрицы.

#junior
#middle
👍12👏21😢1
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.

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

👉Подписаться👈
👍1
Объясните, как используется энтропия в процессе построения дерева решений? Что ещё может использоваться вместо энтропии?

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

🌲 В контексте построения дерева-классификатора объекты — это случайные величины, которые могут принимать значение либо первого, либо второго класса. Если случайная величина принимает только одно значение, то она абсолютно предсказуема, и энтропия равна нулю. Если энтропия близка к единице, это значит, что случайная величина непредсказуема.

При построении дерева мы стремимся разбить объекты так, чтобы с получившимися группами энтропия была минимальной. Пример:
🟡 Допустим, у нас есть по 25 точек каждого класса — всего 50. Сначала мы выбираем разбиение, например, по X <= 5. Тогда в левую часть попадают 25 точек класса 0 и 12 точек класса 1, а в правую — ноль точек класса 0 и 13 точек класса 1. Энтропия левой группы равна 0.9, а правой — нулю. Это логично, ведь в правой группе все объекты принадлежат только одному классу, неопределённости нет.
🟡 Мы сделаем ещё несколько разбиений и выберем из них то, которое радикальнее всего уменьшит общую неопределённость системы.

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

#junior
#middle
🔥7👍61💯1
🔥 -50% на курс по математике + курс по machine learning в подарок

😲 В честь черной пятницы курс «Математика для Data Science» со скидкой 50%!

14 990 рублей 29 990 рублей до 30 ноября

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

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

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

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

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

🎁 Но это еще не все!

⚡️При покупке курса по математике, вы получите курс по machine learning в подарок!

👉 Переходите на сайт и изучайте подробности – https://proglib.io/w/ca575581

До встречи на обучении 🙌
В чём разница между L1- и L2-регуляризациями?

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

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

#junior
#middle
👍8🔥1
Чем различаются стекинг (Stacking) и блендинг (Blending)?

▪️Стекинг — это способ построения ансамблей, при котором результаты базовых алгоритмов объединяются в один с помощью обучаемой мета-модели.
Например, мы делим тренировочную выборку на n частей (фолдов). Затем на каждом шаге мы обучаем базовые алгоритмы на n — 1 фолдах и используем последний оставшийся фолд для предсказания (вычисления мета-признаков). На полученных мета-признаках обучается мета-модель. Описанный нами метод похож на кросс-валидацию.
▪️Блендинг — упрощённый подход. Мы просто делим тренировочную выборку на две непересекающиеся части. На первой учим базовые алгоритмы, на второй — делаем предсказания и далее строим мета-модель.

#junior
#middle
👍8