Top.Mail.Ru
Колонки

3 задачи по ML, чтобы подготовиться к собеседованию на Junior Data Scientist

Колонки
Елена Кантонистова
Елена Кантонистова

Кандидат физико-математических наук, одна из авторов хендбука «Академии Яндекса» по ML

Анастасия Удальцова

Спрос на дата-сайентистов продолжает расти — чтобы начинающему специалисту успешно выполнить тестовое задание, хорошо бы накануне попрактиковаться в решении задач. Елена Кантонистова, кандидат физико-математических наук, академический руководитель магистерской программы «Машинное обучение и высоконагруженные системы» факультета компьютерных наук НИУ ВШЭ и одна из авторов хендбука «Академии Яндекса» по машинному обучению, разобрала упражения, которые наиболее часто встречаются в тестовых заданиях на должность Junior Data Scientist.

3 задачи по ML, чтобы подготовиться к собеседованию на Junior Data Scientist

Инструкция перед чтением задач 

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

При чтении рекомендую вначале решать задачу самостоятельно, а затем уже сверяться с тем, как это сделала я. 

 

Задача про градиентный спуск 

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


Ответ: нет, неверно.

 

Решение

Посмотрим на формулу градиентного спуска ,

где:

  •  — векторы весов модели на  шагах соответственно,
  •  — градиент функции потерь на k-м шаге,
  • а  — величина градиентного шага.

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

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


Читайте по теме: AI Heroes: лучшие кейсы от экспертов Data Science


Еще одна причина неудачи метода — неверный выбор градиентного шага .

Например, при очень маленьком градиентном шаге метод будет идти в сторону минимума слишком медленно и остановится просто из-за ограничения на число итераций, не дойдя до него. А при слишком большом градиентном шаге метод может не попасть в минимум и «прыгать» вокруг него до тех пор, пока не остановится из-за ограничения на число итераций. Иногда метод при большом градиентном шаге может даже разойтись.

В классическом машинном обучении мы почти не сталкиваемся с описанными проблемами, но вот в Deep Learning этих проблем достаточно. Для их решения придумано множество модификаций градиентного спуска. 

 

Задача про метрики

Пусть мы обучили логистическую регрессию и метод опорных векторов для решения задачи бинарной классификации, предсказали классы с помощью моделей на тестовых данных и измерили f1-score. Оказалось, что значение метрики у логистической регрессии на 0,1 выше, чем у метода опорных векторов.

Означает ли это, что логистическая регрессия лучше решает задачу?


Ответ: нет, не означает.

 

Решение

Метрика f1-score зависит от порога, по которому мы переводим предсказанные моделью «вероятности» в классы. По умолчанию порог для перевода равен 0,5: то есть если уверенность модели в положительном классе составляет 0,5 или больше, мы относим объект к положительному классу, а иначе — к отрицательному. 

При увеличении порога точность (precision) растет, а полнота (recall) падает, и наоборот. Метрика f1-score нелинейно зависит от точности и полноты и вычисляется по формуле:



Поэтому она будет изменяться при изменении порога. 

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

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


Читайте также: Как работает современный Data Scientist. Почему 80% работы улетает в корзину?


 

Задача про градиентный бустинг

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

 

Решение

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

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

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


Читайте по теме: Все о профессии дата-сайентиста: от ключевых навыков до тонкостей трудоустройства


Это простой пример.

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

 

Такие задачи подобраны исходя из требований, которые обычно предъявляют к кандидатам на позицию Junior Data Scientist. Если после их решения захочется попробовать что-то посложнее, дополнительно можно почитать теоретические материалы и потренироваться в хендбуках.


А еще можете посмотреть курсы в каталоге образовательных программ на нашем сайте


 

Иллюстрации предоставлены автором

Фото на обложке сгенерировано нейросетью Midjourney

Подписывайтесь на наш Telegram-канал, чтобы быть в курсе последних новостей и событий!

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

Материалы по теме

  1. 1 Фокус на компанию. 6 советов дата-аналитику для работы с бизнесом
  2. 2 Стартует онлайн-чемпионат по анализу данных с призовым фондом 1 млн рублей
  3. 3 Все о профессии дата-сайентиста: от ключевых навыков до тонкостей трудоустройства
  4. 4 «Как я стал аналитиком»: путь от «чистого гуманитария» до работы в крупной фудтех-компании
  5. 5 Как бизнесу принимать оптимальные решения? Рассказываем о 5 сервисах на основе предиктивной аналитики