Основы ML и выбор модели
Подтемы:
Какие основные типы задач машинного обучения существуют?
Основные типы задач машинного обучения:-
Обучение с учителем
(Supervised Learning): модели обучаются на размеченных данных, где каждому входному примеру соответствует выходной ответ. К задачам относятся классификация и регрессия. -
Обучение без учителя
(Unsupervised Learning): модели обучаются на неразмеченных данных без предоставления выходной информации. К задачам относятся кластеризация, снижение размерности и ассоциативное обучение. -
Полуобученное обучение
(Semi-supervised Learning): использует как размеченные, так и неразмеченные данные для обучения модели. -
Обучение с подкреплением
(Reinforcement Learning): агент обучается взаимодействовать с окружающей средой, чтобы выполнить определенную задачу, максимизируя некоторую награду.
Ссылки для изучения
Что такое алгоритмы без учителя в машинном обучении?
Алгоритмы без учителя в машинном обучении предназначены для работы с неразмеченными данными, то есть данными, где нет заранее определенных выходных меток или ответов. Они позволяют находить в данных закономерности, структуры или группы, не требуя заранее известных ответов. К основным задачам алгоритмов без учителя относятся кластеризация, снижение размерности и ассоциативное обучение.
Ссылки для изучения
Чем логистическая регрессия отличается от линейной регрессии?
Логистическая регрессия используется для задач классификации, в то время как линейная регрессия - для задач регрессии. В логистической регрессии используется логистическая функция для предсказания вероятности принадлежности к определенному классу, в то время как в линейной регрессии прогнозируется непрерывное числовое значение.
Ссылки для изучения
Почему некоторые предпочитают использовать линейную регрессию вместо деревьев решений?
Некоторые предпочитают использовать линейную регрессию вместо деревьев решений из-за следующих причин:
-
Простота интерпретации и понимания результатов модели.
-
Эффективность на больших наборах данных и при наличии линейных зависимостей между признаками и целевой переменной.
-
Меньшая склонность к переобучению, особенно при ограниченном количестве данных.
Ссылки для изучения
Примеры хороших ответов из реальных собеседований
- Успешное собеседование на Data Science | Middle ML Developer · 13:33–14:35Разбор интервью · Совместный разбор
Кандидат сравнивает экстраполяцию линейной регрессии с ограниченным диапазоном прогнозов дерева и random forest.
Каковы различия между алгоритмами k-Nearest Neighbors (kNN) и k-Means?
k-Nearest Neighbors (kNN) - это алгоритм классификации
или регрессии, который основывается на принципе “ближайших соседей”, используя
расстояние между точками данных.
k-Means - это алгоритм кластеризации, который группирует точки
данных в заданное количество кластеров, минимизируя среднеквадратичное
расстояние между точками кластера и их центроидами.
Ссылки для изучения
Примеры хороших ответов из реальных собеседований
- 100 Data Science вопросов мидлу! Парень c Физтеха проходит собеседование · 23:23–24:19Мок-собеседование · Ответ кандидата
Различает поиск соседей для классификации и регрессии с известными ответами и кластеризацию без меток; поясняет роль расстояния до центра кластера.
Какие есть еще линейные модели кроме лин. и лог. регрессий?
Помимо линейной и логистической регрессий, существуют и другие линейные модели:
-
Ridge регрессия: Регрессионная модель, которая вводит штраф на коэффициенты модели с целью снижения переобучения. -
Lasso регрессия: Также регрессионная модель, которая добавляет штраф к абсолютным значениям коэффициентов, что может привести к отбору признаков. -
ElasticNet регрессия: Комбинация Ridge и Lasso регрессий, которая вводит штрафы на коэффициенты как по их абсолютным значениям, так и по их квадратам. -
Метод опорных векторов (SVM): Линейная модель для задач классификации и регрессии, которая стремится найти гиперплоскость максимального зазора между классами. -
Линейная дискриминантный анализ (LDA): Статистический метод, который моделирует распределение признаков в каждом классе и использует его для принятия решений. -
Обобщенные линейные модели (GLM): Класс моделей, который обобщает линейные модели, позволяя выбирать различные функции связи и распределения ошибок.
Ссылки для изучения
Чем отличаются случайный лес и градиентный бустинг?
Случайный лес обучает деревья независимо на bootstrap-выборках и случайных подмножествах признаков. Их прогнозы усредняют или выбирают голосованием. Такая случайность снижает корреляцию деревьев и в основном уменьшает дисперсию модели; обучение легко распараллелить.
Градиентный бустинг строит деревья последовательно. Каждое новое дерево приближает отрицательный градиент функции потерь и корректирует текущий ансамбль. Бустинг часто даёт выше качество после настройки, но чувствительнее к learning rate, глубине, числу деревьев, шуму и переобучению. Его деревья обычно неглубокие, а прогнозы суммируются.
Ссылки для изучения
Примеры хороших ответов из реальных собеседований
- #2 Успешное собеседование в Яндекс | Секция Machine Learning · 1:35–3:10Разбор интервью · Совместный разбор
В интервью сравнивают независимое усреднение деревьев random forest с последовательным исправлением ошибки в gradient boosting.
В чём разница между случайным лесом и деревом решений в машинном обучении?
Основное различие между случайным лесом и деревом решений заключается в том, что случайный лес является ансамблевым методом, состоящим из множества деревьев решений, в то время как дерево решений - это одиночный алгоритм. В случайном лесе каждое дерево строится независимо на подмножестве данных, а затем результаты объединяются для получения итогового предсказания. Это позволяет снизить переобучение и повысить устойчивость модели.
Ссылки для изучения
Примеры хороших ответов из реальных собеседований
- #28 Собеседование Data Scientist в Т-Банк | Теория + Лайфкодинг · 3:49–4:30Разбор интервью · Ответ кандидата
Кандидат описывает random forest как bagging над несколькими деревьями с подвыборками данных/признаков и усреднением.
Есть три модели (бустинг, логрег и рандомфорест) на какие критерии следует обратить внимание при выборе модели?
При выборе модели следует обратить внимание на следующие критерии:
-
Производительность модели: Оцените скорость обучения и предсказания для каждой модели, особенно если важна скорость работы в реальном времени.
-
Обобщающая способность: сравнивайте модели на валидационной выборке или кросс-валидации. Тестовую выборку используйте для окончательной оценки после выбора модели.
-
Интерпретируемость: Некоторые модели, такие как логистическая регрессия, легче интерпретировать, чем другие, например, бустинг или случайный лес. Если важно понимать, какие признаки влияют на прогнозы, это стоит учитывать.
-
Устойчивость к выбросам: Оцените, насколько модели устойчивы к выбросам в данных. Некоторые модели могут быть более чувствительны к выбросам, чем другие.
-
Гибкость: Рассмотрите, насколько легко модель можно настроить и насколько она гибкая в использовании. Некоторые модели могут требовать меньше тюнинга гиперпараметров или быть более подходящими для конкретных типов данных.
Ссылки для изучения
В каком случае линейная регрессия будет лучше бустинга?
Линейная регрессия может быть лучше бустинга в случае, когда данные действительно линейно зависят от предикторов и нет необходимости в модели с высокой сложностью. Если взаимосвязи в данных просты и линейные, то линейная регрессия может обеспечить достаточно хорошее качество прогнозов при меньшем числе параметров и менее высокой вычислительной сложности.
Ссылки для изучения
Примеры хороших ответов из реальных собеседований
- Успешное собеседование на Data Science | Middle ML Developer · 13:33–14:35Разбор интервью · Совместный разбор
Кандидат объясняет преимущество линейной регрессии для экстраполяции по сравнению с деревьями и forest.
Когда логистическая регрессия предпочтительнее случайного леса?
Логистическая регрессия хороша, когда зависимость примерно линейна в log-odds, признаки разреженные, данных немного, а важны скорость и объяснимые коэффициенты. С регуляризацией она часто дает сильный baseline и неплохие вероятности. Случайный лес удобнее для нелинейностей и взаимодействий без ручного задания, но тяжелее, менее прозрачен и его вероятности могут требовать калибровки. Выбор делают по честной validation, включая calibration, latency и стабильность, а не по сложности алгоритма.
Ссылки для изучения
Расскажите, как вы будете собирать данные, создавать и выводить в продакшен.
Для сбора данных я бы использовал различные методы, включая внешние API, веб-скрапинг, базы данных и собственные источники. Затем данные можно обработать и очистить, чтобы подготовить их для моделирования. Для создания модели я бы использовал подходящие методы машинного обучения или статистического анализа в зависимости от задачи. После тщательной проверки и оценки модели, я бы интегрировал ее в продуктовую среду, используя подходящие инструменты и технологии, чтобы обеспечить надежную и эффективную работу в реальном времени.
Ссылки для изучения







