Вопросы для собеседования на позицию Machine Learning Junior

_____

2.8 Вопросы для собеседования «Основные термины машинного обучения»

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

Вопрос №1

Расскажите о типах задач в машинном обучении. Приведите пример на каждый из них.

Ответ №1

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

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

Вопрос №2

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

Ответ №2

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

  • если нам нужно определить само число = размер дохода, то это задача регрессии;
  • если же нужно определить категорию (ниже среднего, средний, выше среднего), то это уже задача классификации.

Вопрос №3

Пусть перед вами стоит задача регрессии по предсказанию дохода человека. У вас есть все необходимые признаки. Объём выборки достаточно большой. Пусть вы уже построили саму модель. Как вы определите, что ваша модель получилась хорошей? Какие расчёты будете производить до построения модели и после?

Ответ №3

Чтобы оценить качество модели, мы должны рассчитать метрику качества полученной модели. Метрика качества — это мера того, насколько точно полученная модель способна предсказать целевую функцию (правильные ответы). Так как перед нами задача регрессии, то можно использовать MAE, MSE или RMSE. При построении модели мы можем получить переобучение (overfitting) — явление, когда построенная модель хорошо объясняет примеры из обучающей выборки, но относительно плохо работает на примерах, не участвовавших в обучении. Поэтому в первую очередь необходимо разделить имеющиеся данные на две части — обучающую и тестовую выборки. На первой строить модель, а на второй проверять качество. Отсутствие значимого различия между значениями метрик на обучающей и тестовой выборке будет сигнализировать о том, что модель не переобучилась.

3.7 Вопросы для собеседования SQL

Вопрос №1

Для чего нужен оператор UNION?

Ответ №1

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

Пример использования

SELECT column(s) FROM first_table 
UNION 
SELECT column(s) FROM second_table;

Вопрос №2

Для чего используется ключевое слово ORDER BY?

Ответ №2

Для сортировки данных в порядке возрастания (ASC) или убывания (DESC).

Пример использования

SELECT * FROM user ORDER BY name DESC;

Выбираются пользователи, которые будут отсортированы по имени в порядке убывания. Дополните ответ на этот вопрос по SQL тем, что без указания DESC данные были бы отсортированы по умолчанию — в порядке возрастания:

SELECT * FROM user ORDER BY name;

Вопрос №3

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

Ответ №3

SELECT email, COUNT(email) 
FROM customers 
GROUP BY email 
HAVING COUNT(email) > 1;

Функция COUNT() возвращает количество строк из поля email. Оператор HAVING работает почти так же, как и WHERE, вот только применяется не для всех столбцов, а для набора, созданного оператором GROUP BY.

Вопрос №4

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

Ответ №4

SELECT * FROM workers 
WHERE salary > (SELECT AVG (salary) FROM workers);

Вопрос №5

Замените в таблице зарплату работника на 1 000, если она равна 900, и на 1 500 в остальных случаях.

Ответ №5

Замена значений — одна из наиболее часто встречаемых задач по SQL на собеседованиях. Решить её несложно:

UPDATE table SET salary = 
CASE 
WHEN salary = 900 THEN 1000 
ELSE 1500 
END;

Оператор UPDATE используется для изменения существующих записей. Но ответы на подобные вопросы с собеседований по SQL должны быть более развёрнутыми. Уточните, что после UPDATE следует указать, какие записи должны быть обновлены. В противном случае обновятся все записи в таблице.

В нашем примере условие задаётся через оператор CASE: если текущая зарплата равна 900, изменяем её на 1 000, в остальных случаях — на 1 500.

4.6 Вопросы для собеседования Линейная регрессия

Вопрос №1

Какой тип задачи в машинном обучении занимает регрессия? Приведите пример задачи из жизни.

Ответ №1

Регрессия — это задача обучения с учителем.

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

Примеры: предсказание погоды, определение курса валюты на основании ранних данных, прогнозирование числа покупок товара или цены этого товара на основе его характеристик.

Вопрос №2

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

Ответ №2

Формула регрессии:

y— = ƒ(w,x) = w0 + w1x1 + … + wkxk

где

y— — целевая переменная,

(x1,…,xk) — вектор признаков,

w0,w1,…,wk — параметры модели или,

как их ещё называют,

w1,…,wk — вектор весов,

а число w0 — свободный коэффициент или сдвиг (bias).

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

Нужно подобрать такие значения коэффициентов w, при которых значение Loss будет наименьшим.

Вопрос №3

Допустим, перед вами стоит задача регрессии по предсказанию объёма продаж магазина. Какие можно использовать признаки?

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

Ответ №3

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

Чтобы оценить качество модели, нужно рассчитать метрику качества полученной модели. Метрика качества — это мера того, насколько точно полученная модель способна предсказать целевую функцию (правильные ответы). Так как перед нами задача регрессии, то можно использовать метрики MAE, MSE или RMSE.

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

Вопрос №4

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

Ответ №4

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

Решить задачу методом МНК при наличии таких признаков в выборке не получится: определитель матрицы XTX =0 равен нулю, поэтому нельзя найти обратную матрицу (XTX)-1, и тогда невозможно найти вектор w.

Существует несколько подходов для устранения эффекта мультиколлинеарности.

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

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

было — w = (XTX)-1XTy, стало — w = (XTX+αI)-1XTy, где:

I — единичная матрица,

а коэффициент α, как правило, находится в диапазоне от 0,1 до 0,4.

5. Регуляризация линейной регрессии

Вопрос №1

Что такое остатки регрессии?

Ответ №1

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

e = y – y–

y — реальное значение;

y– — предсказанное значение.

Вопрос №2

Остатки регрессии должны быть гомоскедастичными или гетероскедастичными? Что означают эти термины? Посмотрите на примеры и ответьте, где представлены остатки корректной модели. image image

Ответ №2

Чтобы построенная модель была корректной, остатки должны быть гомоскедастичными.

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

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

Вопрос №3

Что такое регуляризация модели линейной регрессии? Для чего она нужна?

Напишите формулы для L1- и L2-регуляризации. В чём их основные преимущества?

Ответ №3

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

Регуляризация в машинном обучении вносит в обучающую функцию систему «штрафов» за слишком большие коэффициенты и помогает избавляться от ненужных свойств (шумов).

L1-регуляризация — она же «манхеттенское расстояние» или «регрессия лассо» (от LASSO, least absolute shrinkage and selection operator — оператор наименьшего абсолютного сокращения и выбора).

Формула L1-регуляризации: image

L2-регуляризация — она же регуляризация Тихонова или «регрессия хребта».

Формула L2-регуляризации: image

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

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

Written on May 22, 2023
  • Возврат на главную страницу