Оглавление:
- Вопросы для собеседования по машинному обучению
- Алгоритмы
- Фреймворки и языки
- Построение нейронных сетей
- Оценка моделей (производительность)
- Проекты
- Поведенческие вопросы
Вопросы для собеседования по машинному обучению
Собеседование с инженером по машинному обучению будет очень техническим, но это ваш шанс показать, что делает вас лучшим кандидатом.
Подготовьтесь к этим вопросам собеседования по искусственному интеллекту и машинному обучению и узнайте, как на них ответить.
Интервьюеры также могут использовать этот список для построения интервью, которое раскрывает способности кандидатов на машинное обучение. Вы узнаете их технические навыки и способность критически мыслить.
Вопросы, которых стоит ожидать от собеседования по машинному обучению.
Flickr
Алгоритмы
Будьте готовы продемонстрировать свои знания алгоритмов поверхностного обучения. Если вы не претендуете на должность строгого специалиста по данным, интервьюер не собирается вдаваться в подробности с вопросами по алгоритму. Но вы должны иметь возможность говорить о входах и о том, какие алгоритмы лучше всего использовать для какого приложения.
1. Когда бы вы использовали KNN (k ближайших соседей)?
KNN обычно используется для классификации. Это один из самых простых и часто используемых алгоритмов машинного обучения.
Ваш ответ может отличаться в зависимости от вашего опыта, но я бы рассмотрел KNN в большинстве случаев, когда классы и функции помечены
2. Опишите, как работает SVM (машина опорных векторов). Как можно использовать SVM с нелинейными данными?
SVM создает гиперплоскость или границу решения для классификации входных данных в зависимости от того, на какой стороне границы находятся новые данные. Они оптимизируются за счет максимального увеличения поля между границей и точками данных.
Помните, что ядра часто складываются вместе с SVM. Ядра преобразуют нелинейные данные в линейные данные, чтобы можно было оптимизировать SVM.
Фреймворки и языки
Интервьюер захочет узнать, какие языки и рамки вы использовали. Они также будут использовать эти вопросы, чтобы получить представление о том, как быстро вы подберете новую структуру и насколько вы настроены на то, какие структуры доступны для искусственного интеллекта.
3. Почему вам нравится использовать
Все, что есть в вашем резюме, - это честная игра. Особенно языки программирования, которые вы указываете в своих навыках. Так что будьте готовы говорить обо всех тонкостях.
Если правдивый ответ заключается в том, что вы использовали этот язык только потому, что они использовали его на вашей последней работе, это нормально. Просто будьте готовы поговорить о преимуществах и недостатках языка с точки зрения машинного обучения.
4. Расскажите о своем опыте использования
Если вы знакомы со структурой, которую использует компания, это должно быть легко для вас. Конечно, если вы указали их в своем резюме, вы сможете рассказать о них все.
Если вы нечасто использовали эту конкретную структуру, это не обязательно является препятствием. Любой достойный инженер-программист должен уметь адаптироваться к новой среде без огромной кривой обучения. В описании вакансии, вероятно, будет перечислено несколько основных платформ, которые использует компания. Изучите их до начала интервью.
Некоторые аспекты, на которые следует обратить внимание при исследовании нового фреймворка:
- С какими задачами он справляется лучше всего?
- Каковы сильные / слабые стороны?
- Какие языки хорошо взаимодействуют с фреймворком?
Вы должны уметь разумно говорить об этой среде.
Если фреймворк с открытым исходным кодом, попробуйте его на своем персональном компьютере. Вы также можете пройти несколько доступных онлайн-курсов, которые дадут вам временную лицензию.
Построение нейронных сетей
5. Что бы вы сделали, если бы ваш алгоритм не сходился?
Это открытый вопрос, который должен быть легким для всех, кто занимается машинным обучением.
Снижение скорости обучения (альфа) - хороший первый шаг. Как интервьюер, я хотел бы, чтобы кандидат описал более логичный подход к поиску альфы. Попробуйте стратегический диапазон альфа и постройте функцию стоимости по количеству итераций.
6. Когда бы вы использовали градиентный спуск против нормального уравнения?
Вы можете спросить о плюсах и минусах различных методов оптимизации алгоритма.
Помните, что обычное уравнение нельзя использовать с классификацией, поэтому это сравнение имеет значение только для регрессии. Нормальное уравнение выбирается, когда количество функций не очень велико. Он имеет преимущество перед градиентным спуском в том, что вам не нужно выбирать скорость обучения или повторять.
Если есть много функций, то нормальное уравнение очень медленное, поэтому я бы выбрал градиентный спуск.
Ожидайте вопросов о построении нейронных сетей на собеседовании на должность по машинному обучению или искусственному интеллекту.
Викимедиа
Оценка моделей (производительность)
Одна из основных задач инженера по машинному обучению - оптимизировать нейронную сеть и понять, насколько хорошо она работает.
7. Почему переобучение - это плохо и как это исправить?
Переобучение - это когда алгоритм очень хорошо соответствует обучающим данным, но точно предсказывает новые ситуации. Очевидно, это плохо, потому что это бесполезно в реальных ситуациях.
Опишите несколько способов улучшения переобучения. Добавление члена регуляризации и увеличение лямбда может дать хорошие результаты. Уменьшение количества функций или уменьшение порядка полиномов - это варианты, но не во всех ситуациях.
8. Как узнать, хороша ли ваша модель?
Это похоже на вопрос выше, когда кандидат должен понимать, как оценивать модели.
Вы можете объяснить, как доступные данные обучения разделяются на данные обучения, данные проверки и данные тестирования и для чего они используются. Я бы хотел услышать, как кандидат говорит об изменении степени полинома и лямбда и о сравнении ошибки в данных проверки.
Проекты
Приходите на собеседование, чтобы обсудить предыдущие проекты. Как и в любом собеседовании, все в вашем резюме - это честная игра.
Подготовьте портфолио проектов с работы, учебы или личного пользования. Вы можете быть ограничены в том, что вы можете сказать из Соглашения о неразглашении или секретной работы, поэтому четко укажите, что вы можете обсудить.
Вот несколько вопросов, которые можно ожидать:
9. Какой ваш любимый проект машинного обучения, над которым вы работали?
Ради этого собеседования вы можете выбрать проект, наиболее подходящий для вашей работы, как ваш любимый. Это даст вам возможность выделить свой соответствующий опыт.
Если вы предпочитаете обсудить, какая из них вам больше всего нравится, чтобы дать менеджеру по найму представление о том, понравится ли вам новая должность, это тоже хорошая идея.
10. Расскажите мне о решенной вами сложной проблеме.
Выберите проблему, которую можно легко описать. Отчасти хороший ответ на этот вопрос показывает, что вы можете описывать сложные проблемы машинного обучения для нетехнической аудитории.
Когда вы описываете свое решение, не делайте этого, если только вы действительно не приложили все усилия. Увеличение вклада вашей команды покажет, что вы хороший командный игрок. Если возможно, укажите клиента, график и бюджет, на которые влияет эта проблема. Покажите, как ваш вклад увеличивает прибыль, а не только непосредственную проблему.
Поведенческие вопросы
Не забывайте, что интервью, скорее всего, будет включать поведенческие вопросы. И для многих инженеров и специалистов по обработке данных это самая сложная часть! Мы тратим так много времени на подготовку к техническим вопросам, что забываем, что мы также будем оценивать то, как мы вписываемся в команду.
Ниже приведены более важные поведенческие вопросы, чтобы вы могли подготовиться заранее. На вопросы, которые просят вас описать конкретное время, используйте модель STAR, чтобы обрисовать свои ответы. Читать