Машинное обучение (ML) — это будущее нашего мира. В ближайшие годы почти каждый продукт будет включать компоненты машинного обучения. Прогнозируется, что рынок машинного обучения вырастет до 30,6 млрд долларов в 2024 году с прогнозируемых 7,3 млрд в 2020 году. Этот спрос на навыки машинного обучения широко распространен во всей отрасли.

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

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

Сегодня мы рассмотрим:

  • Обзор интервью по машинному обучению
  • Специфичные для компании процессы
  • Вопросы для начинающих (10)
  • Промежуточные вопросы (15)
  • Дополнительные вопросы (10)
  • Вопросы по продукту (5)
  • Что изучать дальше

Обзор интервью по машинному обучению

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

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

  • Алгоритмы и теория машинного обучения: сравнение алгоритмов и их точное измерение
  • Навыки программирования: обычно Python или языки предметной области.
  • Интерес к машинному обучению: отраслевые тенденции и ваше видение будущих компонентов машинного обучения.
  • Вопросы по отрасли или продукту. Как вы используете общие знания ML и применяете их к конкретным продуктам?

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

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

Специфичные для компании процессы

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

Подготовьтесь к большому дню с помощью кураторских практических вопросов для интервью для определенных компаний, таких как перечисленные ниже, на CodingInterview.com от Educative!

Интервью с машинным обучением Google

Интервью Google ML, обычно называемое интервью инженера по машинному обучению, подчеркивает навыки в Алгоритмах, машинном обучении и Python.

Некоторые общие вопросы включают градиентный спуск, методы регуляризации/нормализации и встраивания.

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

Интервью с Amazon ML

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

Ожидается, что инженеры машинного обучения в Amazon будут создавать системы машинного обучения и использовать модели глубокого обучения. Исследователи данных устраняют пробелы между технической и коммерческой сторонами, связанные с данными. Ученые-исследователи имеют более высокий уровень образования и работают над улучшением функций ASR, NLU и TTS.

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

Интервью с машинным обучением в Facebook

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

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

Интервью с машинным обучением в Твиттере

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

Техническая часть интервью проверяет ваше приложение и интуицию в теории машинного обучения (включая SQL и Python). Twitter ищет информацию о статистике, экспериментальных моделях, интуитивных представлениях о продукте и проектировании систем.

Вопросы для начинающих (10)

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

1. Каков компромисс между предвзятостью и дисперсией?

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

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

Другими словами, простые модели стабильны (низкая дисперсия), но сильно смещены. Сложные модели склонны к переоснащению, но отражают истинность модели (низкое смещение). Оптимальное уменьшение ошибки требует компромисса между смещением и дисперсией, чтобы избежать как высокой дисперсии, так и высокого смещения.

2. Объясните разницу между контролируемым и неконтролируемым машинным обучением.

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

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

3. Каковы наиболее распространенные алгоритмы обучения с учителем и обучения без учителя?

Алгоритмы контролируемого обучения:

  • "Линейная регрессия"
  • Логистическая регрессия
  • Деревья решений
  • Случайные леса
  • Наивный Байес
  • "Нейронные сети"

Примеры неконтролируемых алгоритмов:

  • Кластеризация: k-средних
  • Визуализация и уменьшение размерности
  • Анализ главных компонентов (PCA), t-распределение
  • Стохастическое встраивание соседей (t-SNE)
  • Изучение правил ассоциации (априори)

4. Объясните разницу между KNN и кластеризацией методом k-средних.

Основное отличие состоит в том, что KNN требует помеченных точек (алгоритм классификации, обучение с учителем), а k-средних нет (алгоритм кластеризации, обучение без учителя).

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

5. Что такое теорема Байеса? Почему мы используем это?

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

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

6. Что такое наивные байесовские классификаторы? Почему мы их используем?

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

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

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

7. Объясните разницу между ошибками типа I и типа II.

Ошибка типа I – это ложноположительный (заявление о том, что что-то произошло, когда этого не произошло), а ошибка типа II – ложноотрицательный (утверждение, что ничего не произошло, когда оно произошло). на самом деле есть).

8. В чем разница между дискриминативной и генеративной моделями?

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

9. Что такое параметрические модели? Приведите пример.

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

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

10. Объясните разницу между массивом и связанным списком.

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

Варианты поиска для массива: линейный поиск и двоичный поиск (если он отсортирован).

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

Единственным вариантом поиска для связанного списка является линейный.

Дополнительные вопросы для собеседования с новичками могут включать:

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

Промежуточные вопросы (15)

Эти промежуточные вопросы берут основные теории машинного обучения, описанные выше, и применяют их более строго.

1. Какой метод перекрестной проверки вы бы выбрали для набора данных временных рядов?

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

  • Сгиб 1: тренировка [1], тест [2]
  • Сгиб 2: обучение [1 2], тест [3]
  • Сгиб 3: обучение [1 2 3], тест [4]
  • Сгиб 4: обучение [1 2 3 4], тест [5]
  • Сгиб 5: обучение [1 2 3 4 5], тест [6]

2. Как выбрать классификатор на основе размера обучающей выборки?

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

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

3. Объясните кривую ROC и AUC.

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

AUC (площадь под кривой ROC) — это просто площадь под кривой ROC. AUC измеряет двумерную площадь под кривой ROC от (0,0) до (1,1). Он используется в качестве показателя производительности для оценки моделей бинарной классификации.

4. Объясните LDA для неконтролируемого обучения.

Скрытое распределение Дирихле (LDA) — это распространенный метод моделирования темы. Это генеративная модель для представления документов в виде комбинации тем, каждая из которых имеет собственное распределение вероятностей.

LDA стремится спроецировать особенности пространства более высокого измерения на пространство более низкого измерения. Это помогает избежать проклятия размерности.

5. Как убедиться, что модель не переобучен?

Есть три метода, которые мы можем использовать для предотвращения переобучения:

  1. Используйте методы перекрестной проверки (например, перекрестную проверку в k-кратном размере).
  2. Сохраняйте модель простой (т. е. используйте меньше переменных), чтобы уменьшить дисперсию.
  3. Используйте методы регуляризации (например, LASSO), которые штрафуют параметры модели, которые могут привести к переоснащению.

6. Как связаны первичный и внешний ключи в SQL?

SQL — один из самых популярных форматов данных, используемых в машинном обучении, поэтому вам необходимо продемонстрировать свою способность манипулировать базами данных SQL.

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

Если вы столкнетесь с этим вопросом, ответьте на основную концепцию и объясните, как вы будете настраивать таблицы SQL и запрашивать их.

7. Какие подходы к оценке вы бы использовали для оценки эффективности модели машинного обучения?

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

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

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

Вам необходимо идентифицировать найденные данные и удалить строки/столбцы или заменить их другими значениями.

Pandas предоставляет для этого полезные методы: isnull() и dropna(). Это позволяет вам идентифицировать и удалить поврежденные данные. Метод fillna() можно использовать для заполнения недопустимых значений заполнителями.

9. Объясните, как бы вы разработали конвейер данных.

Конвейеры данных позволяют нам взять модель науки о данных и автоматизировать или масштабировать ее. Распространенным инструментом конвейера данных является Apache Airflow, а для их размещения используются Google Cloud, Azure и AWS.

Для подобного вопроса вы хотите объяснить необходимые шаги и обсудить реальный опыт построения конвейеров данных.

Основные шаги для хоста Google Cloud следующие:

  1. Войдите в облачную платформу Google
  2. Создание вычислительного экземпляра
  3. Извлеките содержимое учебника из GitHub.
  4. Используйте AirFlow для обзора конвейера
  5. Используйте Docker для настройки виртуальных хостов
  6. Разработать контейнер Docker
  7. Откройте пользовательский интерфейс Airflow и запустите конвейер машинного обучения.
  8. Запустите развернутое веб-приложение

10. Как исправить высокую дисперсию в модели?

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

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

11. Что такое гиперпараметры? Чем они отличаются от параметров модели?

Параметр модели — это переменная, внутренняя по отношению к модели. Значение параметра оценивается по обучающим данным.

Гиперпараметр — это переменная, внешняя по отношению к модели. Значение нельзя оценить по данным, и они обычно используются для оценки параметров модели.

12. Вы работаете с набором данных. Как выбрать важные переменные?

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

13. Как вы выбираете, какой алгоритм использовать для набора данных?

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

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

14. Каковы преимущества и недостатки использования нейронных сетей?

Преимущества:

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

Недостатки:

  • Требуются сложные процессоры
  • Продолжительность сети несколько неизвестна
  • Мы слишком сильно полагаемся на значение ошибки
  • Природа черного ящика

15. Какой метод разделения деревьев решений используется по умолчанию?

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

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

Дополнительные вопросы промежуточного собеседования могут включать:

  • Что такое преобразование Бокса-Кокса?
  • Проблема с забором воды
  • Объясните преимущества и недостатки деревьев решений.
  • В чем проблема взрывающегося градиента при использовании метода обратного распространения ошибки?
  • Что такое матрица путаницы? Зачем тебе это?

Дополнительные вопросы (10)

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

1. Вам дан набор данных с пропущенными значениями, которые разбросаны по 1 стандартному отклонению от медианы. Какой процент данных останется нетронутым?

Данные распределены по медиане, поэтому можно предположить, что мы работаем с нормальным распределением. Это означает, что примерно 68 % данных находятся на уровне 1 стандартного отклонения от среднего. Таким образом, около 32% данных остаются неизменными.

2. Вам говорят, что ваша регрессионная модель страдает от мультиколлинеарности. Как проверить, что это правда, и построить лучшую модель?

Вы должны создать матрицу корреляции, чтобы идентифицировать и удалить переменные с корреляцией выше 75%. Имейте в виду, что наш порог здесь субъективен.

Вы также можете рассчитать VIF (коэффициент инфляции дисперсии), чтобы проверить наличие мультиколлинеарности. Значение VIF больше или равное 4 свидетельствует об отсутствии мультиколлинеарности. Значение меньше или равное 10 говорит нам о наличии серьезных проблем с мультиколлинеарностью.

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

3. Почему XGBoost работает лучше, чем SVM?

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

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

4. Вы строите случайную модель леса с 10 000 деревьев. Ошибка обучения равна 0,00, но ошибка проверки составляет 34,23. Объясните, что пошло не так.

Ваша модель, вероятно, переоснащена. Ошибка обучения 0,00 означает, что классификатор имитировал шаблоны обучающих данных. Это означает, что они недоступны для наших невидимых данных, возвращая более высокую ошибку.

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

5. Объясните этапы построения модели машинного обучения.

Во многом это будет зависеть от имеющейся модели, поэтому можно было бы задавать уточняющие вопросы. Но в целом процесс выглядит следующим образом:

  1. Понимание бизнес-модели и конечной цели
  2. Сбор данных
  3. Сделать очистку данных
  4. Базовый анализ разведочных данных
  5. Используйте алгоритмы машинного обучения для разработки модели
  6. Используйте неизвестный набор данных для проверки точности

6. Каковы полнота, специфичность и точность приведенной ниже матрицы путаницы?

  • TP / True Positive: случай был положительным и прогнозировался как положительный.
  • TN / True Negative: случай был отрицательным и прогнозировался как отрицательный.
  • FN / False Negative: случай был положительным, но прогнозировался как отрицательный.
  • FP / False Positive: случай был отрицательным, но прогнозировался как положительный

  • Отзыв = 20%
  • Специфичность = 30%
  • Точность = 22%

Пояснение:

Отзыв = TP / (TP+FN) = 10/50 = 0,2 = 20 %

Специфичность = TN / (TN+FP) = 15/50 = 0,3 = 30 %

Точность = TP/(TP + FP) = 10/45 = 0,2 = 22 %

7. Какова основная цель использования модели кодер-декодер в НЛП?

Мы используем модель кодер-декодер для генерации выходной последовательности на основе входной последовательности.

Что делает модель кодер-декодер настолько мощной, так это то, что декодер использует конечное состояние кодера в качестве своего начального состояния. Это дает декодеру доступ к информации, которую кодер извлек из входной последовательности.

8. Для глубокого обучения с TensorFlow, какое значение требуется в качестве входных данных для оценки EstimatorSpec?

Требуется метрика потерь. При выполнении модели с помощью TensorFlow мы используем объект EstimatorSpec для организации обучения, оценки и прогнозирования.

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

  • tf.estimator.ModeKeys.TRAIN
  • tf.estimator.ModeKeys.EVAL
  • tf.estimator.ModeKeys.PREDICT

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

9. Правда ли, что при использовании scikit-learn нам нужно масштабировать значения наших функций, когда они сильно различаются?

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

10. В вашем наборе данных 50 переменных, но 8 переменных имеют пропущенные значения более 30%. Как вы решаете эту проблему?

Есть три общих подхода, которые вы можете использовать:

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

Дополнительные дополнительные вопросы для собеседования могут включать:

  • Вы должны оценить регрессионную модель на основе R², скорректированного R² и допуска. Каковы ваши критерии?
  • Почему для k-средних или kNN мы используем евклидово расстояние вместо манхэттенского расстояния?
  • Модели линейной регрессии обычно оцениваются с использованием скорректированного R² или значения F. Как бы вы оценили модель логистической регрессии?
  • Объясните разницу между SVM с обычным мягким полем и SVM с линейным ядром.

Вопросы по продукту (5)

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

1. Как бы вы реализовали систему рекомендаций для наших пользователей?

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

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

В Интервью о машинном обучении подробно рассматривается этот вопрос с использованием системы рекомендаций Netflix.

Общие шаги по настройке системы рекомендаций следующие:

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

2. Какие данные вы считаете самыми ценными в нашем бизнесе?

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

Некоторые общие ответы могут быть такими:

  • Качественные данные, понятные командам машинного обучения, полезны для масштабирования и создания правильных прогнозов.
  • Данные, которые говорят нам, чего хочет клиент, необходимы для всех бизнес-решений.
  • Лучшее управление данными может увеличить их годовой доход
  • Наиболее ценными для компании являются данные о клиентах, ИТ-данные и внутренние финансовые данные.

3. Как бы вы структурировали процесс выбора рекламы для системы прогнозирования рекламы?

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

В системе, основанной на каналах, компонент выбора объявлений будет выбирать k лучших релевантных объявлений, основываясь больше на интересах пользователей, чем на условиях поиска.

Вот общее решение этого вопроса. Скажем, мы используем воронкообразный подход к моделированию. Было бы целесообразно разделить процесс выбора рекламы на следующие три этапа:

  • Этап 1. Быстрый выбор объявлений по заданному запросу и пользовательскому контексту в соответствии с критериями выбора.
  • Этап 2. ранжируйте эти выбранные объявления на основе простого и быстрого алгоритма обрезки объявлений.
  • Этап 3. Примените модель машинного обучения к обрезанным объявлениям, чтобы выбрать лучшие.

4. Каковы архитектурные компоненты системы на основе каналов?

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

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

  • Выбор твита: пул твитов пользователя перенаправляется в компоненты ранжирования.
  • Генерация обучающих данных: положительные и отрицательные примеры обучения
  • Ranker: для прогнозирования вероятности взаимодействия

5. Что вы думаете о GPT-3? Как вы думаете, мы можем его использовать?

Этот вопрос оценивает ваши инвестиции в отрасль и ваше видение того, как применять новые технологии. GPT-3 — это новая модель генерации языка, которая может генерировать человекоподобный текст.

Есть много точек зрения на GPT-3, поэтому почитайте немного о том, как он используется для демонстрации критического мышления нового поколения.

Некоторые общие ответы могут быть такими:

  • Улучшение чат-ботов и автоматизация обслуживания клиентов
  • Улучшение поисковых систем с помощью НЛП
  • Профессиональное обучение и презентации для постоянного обучения
  • Улучшение кода JSX
  • Упрощение дизайна UI/UX

Дополнительные вопросы интервью могут включать:

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

Что изучать дальше

Поздравляю! Теперь вы узнали 40 основных вопросов, с которыми вы столкнетесь на собеседовании по машинному обучению. Предстоит еще многому научиться, чтобы закрепить свои знания и освоить системный дизайн, Python и все инструменты машинного обучения.

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

Чтобы перейти к большему количеству практики, ознакомьтесь с курсом Educative Grokking the Machine Learning Interview. Вы узнаете, как проектировать системы с нуля, и разовьете способность думать о системах машинного обучения на высоком уровне. Это идеальное место, чтобы поднять свои навыки машинного обучения на новый уровень и выделиться среди конкурентов.

Удачного обучения!

Продолжить чтение о машинном обучении на Educative

Начать обсуждение

Есть ли какие-то общие вопросы на собеседованиях по машинному обучению, которые мы пропустили? Была ли эта статья полезна? Дайте нам знать в комментариях ниже!