Отточите свои знания в области машинного обучения, задав эти вопросы на собеседовании

Учитывая популярность моих статей, Логические головоломки для собеседований Google по науке о данных, Проблемы практики собеседований с специалистами по данным Amazon, Вопросы и ответы на собеседованиях с Microsoft Data Science и 5 распространенных проблем собеседований по SQL для специалистов по данным, я собрал количество вопросов на собеседовании по машинному обучению и науке о данных в Интернете, и я ответил на них в меру своих возможностей. Вот так!

Если вам нравится такой материал, подпишитесь одним из ПЕРВЫХ на мой новый канал YouTube здесь! Пока еще нет видео, я поделюсь таким замечательным контентом, как этот, но в виде видео. Спасибо за вашу поддержку :)

В: Что такое перекрестная проверка?

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

В: Как определить / выбрать метрики?

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

  • Это задача регрессии или классификации?
  • Какова цель бизнеса? Например. точность vs отзыв
  • Каково распределение целевой переменной?

Существует ряд показателей, которые можно использовать, в том числе скорректированный r-квадрат, MAE, MSE, точность, отзыв, точность, оценка f1 и этот список можно продолжить.

Если вы хотите узнать больше о том, как можно оценить модель машинного обучения, ознакомьтесь с моей статьей Как оценить модель машинного обучения с помощью кода Python!

В: Объясните, что такое точность и отзыв

Вспомните: попытка ответить "Какая доля фактических положительных результатов была определена правильно?"

Точность пытается ответить: "Какая часть положительных идентификаций была на самом деле верной?"

В: Объясните, что такое ложноположительный и ложноотрицательный. Почему они важны друг от друга? Приведите примеры, когда ложные срабатывания более важны, чем ложноотрицательные, ложноотрицательные более важны, чем ложные срабатывания, и когда эти два типа ошибок одинаково важны.

ложное срабатывание - это неправильное определение наличия условия, когда оно отсутствует.

Ложноотрицательный - это неправильное определение отсутствия условия, когда оно действительно присутствует.

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

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

В: В чем разница между обучением с учителем и обучением без учителя? Приведите конкретные примеры

Контролируемое обучение включает изучение функции, которая сопоставляет входные данные с выходными на основе примеров пар вход-выход [1].

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

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

Прочтите мою статью Все модели машинного обучения за шесть минут, если вы хотите узнать об этом больше!

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

Это можно сделать двумя основными способами:

A) Скорректированный R-квадрат.

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

Однако каждая дополнительная независимая переменная, добавляемая к модели, всегда увеличивает значение R-квадрата, поэтому модель с несколькими независимыми переменными может показаться более подходящей, даже если это не так. Именно здесь на помощь приходит скорректированное R². Скорректированное R² компенсирует каждую дополнительную независимую переменную и увеличивается только в том случае, если каждая данная переменная улучшает модель выше того, что возможно по вероятности. Это важно, поскольку мы создаем модель множественной регрессии.

Б) Перекрестная проверка

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

В: Что означает НЛП?

NLP расшифровывается как Обработка естественного языка. Это ветвь искусственного интеллекта, которая дает машинам возможность читать и понимать человеческие языки.

В: Когда вы будете использовать случайные леса против SVM и почему?

Есть несколько причин, по которым случайный лес является лучшим выбором модели, чем машина опорных векторов:

  • Случайные леса позволяют определить важность функции. SVM не может этого сделать.
  • Случайные леса построить намного быстрее и проще, чем SVM.
  • Для задач классификации с несколькими классами для SVM требуется метод one-vs-rest, который менее масштабируем и потребляет больше памяти.

В: Что такое анализ главных компонентов? Объясните, для каких проблем вы бы использовали PCA.

В простейшем смысле PCA включает проецирование данных более высокого измерения (например, трех измерений) на меньшее пространство (например, двух измерений). Это приводит к более низкому измерению данных (2 измерения вместо 3 измерений) при сохранении всех исходных переменных в модели.

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

В: Почему наивный Байес такой плохой? Как бы вы улучшили алгоритм обнаружения спама, использующий наивный байесовский алгоритм?

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

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

В: Каковы недостатки линейной модели?

У линейной модели есть пара недостатков:

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

В: Считаете ли вы, что 50 маленьких деревьев решений лучше большого? Почему?

Другой способ задать этот вопрос: «Является ли случайный лес лучшей моделью, чем дерево решений?» И ответ - да, потому что случайный лес - это метод ансамбля, который требует много слабых деревьев решений, чтобы сделать сильного ученика. Случайные леса более точны, надежны и менее подвержены переобучению.

В: Почему среднеквадратичная ошибка - плохой показатель производительности модели? Что бы вы предложили вместо этого?

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

В: Какие предположения необходимы для линейной регрессии? Что делать, если некоторые из этих предположений нарушаются?

Предположения следующие:

  1. Данные выборки, используемые для подбора модели, репрезентативны для генеральной совокупности.
  2. Связь между X и средним Y является линейной.
  3. Дисперсия остатка одинакова для любого значения X (гомоскедастичность).
  4. Наблюдения независимы друг от друга.
  5. Для любого значения X, Y имеет нормальное распределение.

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

В: Что такое коллинеарность и что с ней делать? Как убрать мультиколлинеарность?

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

Вы можете использовать факторы инфляции дисперсии (VIF), чтобы определить, существует ли какая-либо мультиколлинеарность между независимыми переменными - стандартный тест заключается в том, что если VIF больше 5, то мультиколлинеарность существует.

Вопрос: Как проверить, соответствует ли регрессионная модель данным?

Есть несколько показателей, которые вы можете использовать:

R-квадрат / Скорректированный R-квадрат: относительная мера соответствия. Это объяснялось в предыдущем ответе

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

RMSE: абсолютный показатель соответствия.

В: Что такое дерево решений?

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

В: Что такое случайный лес? Почему это хорошо?

Случайные леса - это метод ансамблевого обучения, который строится на деревьях решений. Случайные леса включают создание нескольких деревьев решений с использованием самонастраиваемых наборов данных исходных данных и случайный выбор подмножества переменных на каждом шаге дерева решений. Затем модель выбирает режим всех прогнозов каждого дерева решений. Опираясь на модель большинство выигрывает, он снижает риск ошибки в отдельном дереве.

Например, если мы создали одно дерево решений, третье, оно предсказало бы 0. Но если бы мы полагались на режим всех 4 деревьев решений, предсказанное значение было бы 1. Это мощность случайных лесов.

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

В: Что такое ядро? Объясните трюк с ядром

Ядро - это способ вычисления скалярного произведения двух векторов 𝐱 x и 𝐲 y в некотором (возможно, очень многомерном) пространстве признаков, поэтому функции ядра иногда называется «обобщенным скалярным произведением» [2]

Уловка с ядром - это метод использования линейного классификатора для решения нелинейной задачи путем преобразования линейно неразделимых данных в линейно разделимые в более высоком измерении.

В: Выгодно ли выполнять уменьшение размерности перед установкой SVM? Почему или почему нет?

Когда количество функций больше, чем количество наблюдений, уменьшение размерности обычно улучшает SVM.

Спасибо за прочтение!

Если вам нравится моя работа и вы хотите меня поддержать…

  1. НАИЛУЧШИЙ способ поддержать меня - это подписаться на меня на Medium здесь.
  2. Будьте одним из ПЕРВЫХ, кто подписался на меня в Twitter здесь. Я буду публиковать здесь много новостей и интересного!
  3. Также будьте одним из ПЕРВЫХ, кто подпишется на мой новый канал YouTube здесь!
  4. Следуйте за мной в LinkedIn здесь.
  5. Зарегистрируйтесь в моем списке рассылки здесь.
  6. Посетите мой сайт terenceshin.com.

использованная литература

[1] Стюарт Дж. Рассел, Питер Норвиг, Искусственный интеллект: современный подход (2010), Прентис Холл.

[2] Алексей Григорьев, Как интуитивно объяснить, что такое ядро? (2016), Обмен стеками

Статьи по Теме