Собеседование на позицию Data Scientist: 46 типичных вопросов. Часть 1

Собеседование на позицию Data Scientist: 46 типичных вопросов. Часть 1

https://t.me/ai_machinelearning_big_data

Проверка знаний на собеседованиях — обычная практика. И мы сейчас не о глупых «Где вы видите себя через 5 лет?», а о нормальных вопросах по специальности. Вопросы будут смешаны по темам, но все они относятся к машинному обучению и Data Science. Попробуйте сначала ответить на каждый вопрос самостоятельно!

1. В чём разница между контролируемым и неконтролируемым машинным обучением?

Контролируемое машинное обучение:


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

Неконтролируемое обучение:


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

2. Перечислите этапы построения дерева решений

  1. Взять весь набор входных данных.
  2. Вычислить энтропию целевой переменной, а также прогнозные атрибуты.
  3. Рассчитать прирост информации по всем атрибутам (информацию о том, как отсортировать разные объекты друг от друга).
  4. Выбрать атрибут с наибольшим объёмом информации в качестве корневого узла. 
  5. Повторить ту же процедуру для каждой ветви, пока узел решения каждой ветви не будет завершён.

3. Что такое проблемы взрывающегося и затухающего градиента?

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

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

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

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

4. Как рассчитать точность прогноза, используя матрицу ошибок?

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


Формула точности: 

Точность = (истинно положительные + истинно отрицательные) / общее количество наблюдений. 

Предположим, что истинно положительных значений у нас 2981, истинно отрицательных — 110, а всего — 3311. Используя формулу, находим, что точность прогноза составляет 93,36 %.


5. Как работает ROC-кривая?

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

Если считать TPR и FPR для фиксированного порога μ є [0,1], то их можно представить в виде функций от аргумента μ:

TPR = TPR(μ), FPR = FPR(μ). При этом обе функции монотонно возрастают от 0 до 1, а значит, определена функция:

ROC(x) = TPR(FPR-1(x)), x є [0,1]

ROC-кривая — это график функции.

Как правило, у хорошего классификатора кривая лежит по большей части либо целиком выше прямой y=x. Это связано с тем что при хорошей классификации надо получать максимальный TPR при минимальном FPR.

6. Объясните алгоритм машинного обучения SVM

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

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

7. Что такое ансамбль методов?

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


8. Что такое Random Forest?

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

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

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

Нормальная k-кратная процедура перекрёстной проверки может быть проблематичной для временных рядов. 

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

  • сгиб 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].

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


10. Что такое логистическая регрессия? Или приведите пример логистической регрессии.

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

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

В этом случае результат прогноза будет двоичным, то есть 0 или 1 (выигрыш/проигрыш). В качестве переменных-предикторов здесь будут: сумма денег, потраченных на предвыборную агитацию конкретного кандидата, количество времени, затраченного на агитацию, и так далее.

11. Что вы понимаете под термином «нормальное распределение»?

Нормальное распределение — одно из основных распределений вероятности. 

Плотность нормального распределения выражается функцией Гаусса:

Где μ — математическое ожидание, σ — среднеквадратическое отклонение, σ ² — дисперсия, медиана и мода нормального распределения равны математическому ожиданию μ.

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

12. Что такое глубокое обучение?

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

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

13. В чём разница между машинным обучением и глубоким обучением?

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


14. Что такое рекуррентные нейронные сети (RNN)?

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

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

15. Что такое обучение с подкреплением?

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

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

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

16. Объясните, что такое регуляризация и почему она полезна

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

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

17. Что такое рекомендательные системы?

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


18. Какова цель A/B-тестирования? 

A/B-тестирование — это статистическая проверка гипотез для рандомизированных экспериментов с двумя переменными, A и B. 

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

19. Что такое закон больших чисел? 

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

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

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

20. Назовите несколько фреймворков для глубокого обучения

  • Pytorch.
  • TensorFlow.
  • Microsoft Cognitive Toolkit.
  • Keras.
  • Caffe.
  • Chainer.

21. Что такое рекомендательные системы? (Тема: Словарь)

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

23. Что такое нормальное распределение? (Тема: Статистика, Словарь)

Нормальное распределение, также известное как «график колокола», можно описать как распределение, при котором большинство наблюдений находится в центре, и по мере удаления от центра количество наблюдений падает. С точки зрения статистики наиболее важно то, что при нормальном распределении 68% данных находится в пределах одного стандартного отклонения от среднего значения, 95% – в пределах двух стандартных отклонений, и 99.7% – в пределах трех стандартных отклонений от среднего.

График нормального распределения.


24. В чем разница между линейной и логистической регрессией? (Тема: Алгоритмы регрессии и классификации)

Линейная регрессия – это статистический метод, в котором линия (или n-мерная плоскость в случае множества параметров) подстраивается под данные. Он используется для регрессии – когда целевое значение представляет собой действительное число. Логистическая регрессия – это метод классификации. Это трансформация линейной регрессии посредством функции сигмоиды, возвращающей вероятность соответствия входного набора классу 0 или классу 1.

25. Как выбрать число k для алгоритма кластеризации «метод k-средних» (k-Means Clustering), не смотря на кластеры?

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

Иллюстрация «метода локтя»



В данном случае очевидно, что «локоть» находится при k=3. Однако, это не всегда так очевидно, поэтому в тех случаях, когда это не так, используется метод силуэта. Этот метод использует «рейтинг силуэта», находящийся в диапазоне от -1 до 1 для каждого количества кластеров. Количество кластеров с максимальным рейтингом обычно является оптимальным.

26. Тест имеет показатель истинной позитивности 100% и ложной позитивности 5%. В вашей популяции каждый тысячный имеет болезнь, на которую проверяет тест. Учитывая только то, что вы получили положительный результат теста, какова вероятность того, что вы действительно болеете этой болезнью? (Тема: Показатели классификации)


Если вы больны, тест это покажет (поскольку истинная позитивность абсолютна). Но если вы не больны, то тест выдаст результат, что вы больны, с вероятностью 5%, и с вероятностью 95%, что не больны. То есть, присутствует 5% ошибка, если вы не больны. Из 1000 человек один больной получит истинный положительный результат. Из остальных 999 человек 5% получат ложные положительные результаты – почти 50 человек. То есть, из 1000 человек 51 получит положительный результат теста, но всего один будет болен на самом деле. Вероятность, что вы больны даже при положительном результате теста, составляет всего около 2%!

27. Как преобразование Бокса-Кокса улучшает качество модели? (Тема: Статистика, Алгоритмы)

Преобразование Бокса-Кокса заключается в возведении данных в некоторую степень: в квадрат, куб, взятие квадратного корня (степень 1/2). Поскольку возведение в степень 0 всегда дает 1, под «степенью 0» в методе Бокса-Кокса подразумевается логарифмическая трансформация.

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

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

28. Всегда ли методы градиентного спуска сходятся в одной и той же точке? (Тема: Нейронные сети)

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

Ниже приведены GIF’ы разных оптимизаторов (методов градиентного спуска) с демонстрацией их работы в пространстве ошибок.


Анимированное изображение можно посмотреть здесь.


29. Каковы ключевые шаги аналитического проекта? (Тема: Организация)

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

Часть 2

https://t.me/pythonl

Report Page