---
title: Сравнение методов машинного обучения
seo:
  title: Сравнение методов машинного обучения — Data Scientist
  description: Тема «Сравнение методов машинного обучения» для собеседования Data Scientist. Чем логистическая регрессия отличается от линейной регрессии? Чем отличается градиентный бустинг от случайного леса?
---

[Все темы Data Scientist](/data-scientist)

## <strong>Чем логистическая регрессия отличается от линейной регрессии?</strong> [#q-14bee738d69b81598458c728fb54f8d2]

Логистическая регрессия используется для задач классификации, в то время как линейная регрессия - для задач регрессии. В логистической регрессии используется логистическая функция для предсказания вероятности принадлежности к определенному классу, в то время как в линейной регрессии прогнозируется непрерывное числовое значение.

:::note[Ссылки для изучения]

1. [Отличие между логистической и линейной регрессией](https://aws.amazon.com/ru/compare/the-difference-between-linear-regression-and-logistic-regression/)
   :::

---

## <strong>Чем отличается градиентный бустинг от случайного леса?</strong> [#q-14bee738d69b81fea606fc3ea85751c3]

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

:::note[Ссылки для изучения]

1. [Ансамбли моделей](https://ranalytics.github.io/data-mining/044-Ensembles.html)
   :::

---

## <strong>Почему некоторые предпочитают использовать линейную регрессию вместо деревьев решений?</strong> [#q-14bee738d69b813dbb5bf64e6c7fb396]

Некоторые предпочитают использовать линейную регрессию вместо деревьев решений из-за следующих причин&#58;

- Простота интерпретации и понимания результатов модели.

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

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

:::note[Ссылки для изучения]

1. [Ансамбли моделей](https://ranalytics.github.io/data-mining/044-Ensembles.html)
   :::

---

## <strong>Каковы различия между алгоритмами</strong> <code>k&#45;Nearest Neighbors &#40;kNN&#41;</code> <strong>и</strong> <code>k&#45;Means</code><strong>?</strong> [#q-14bee738d69b815ab831ff1f68a48ef8]

<code>k&#45;Nearest Neighbors &#40;kNN&#41;</code> - это алгоритм классификации
или регрессии, который основывается на принципе "ближайших соседей", используя
расстояние между точками данных.

<code>k&#45;Means</code> - это алгоритм кластеризации, который группирует точки
данных в заданное количество кластеров, минимизируя среднеквадратичное
расстояние между точками кластера и их центроидами.

:::note[Ссылки для изучения]

1. [kNN в ML](https://habr.com/ru/articles/149693/)
   :::

---

## <strong>Что будешь делать, если тебе надо обработать рукописный код (просил именно какие модели буду использовать).</strong> [#q-14bee738d69b81ea876af3ff4609f65c]

Для обработки рукописного кода можно использовать следующие модели машинного обучения&#58;

1. <code>CNN &#40;Convolutional Neural Networks&#41;</code>&#58; Эффективны для
   распознавания визуальных паттернов в изображениях, включая рукописный текст.

1. <code>RNN &#40;Recurrent Neural Networks&#41;</code>&#58; Подходят для работы
   с последовательными данными, что делает их хорошим выбором для интерпретации
   последовательности символов в рукописных строках.

1. <code>LSTM &#40;Long Short&#45;Term Memory&#41;</code>&#58; Разновидность
   RNN, особенно эффективная для длинных последовательностей данных и сохранения
   контекста в тексте.

1. <code>CRNN &#40;Convolutional Recurrent Neural Network&#41;</code>&#58;
   Комбинирует CNN для извлечения признаков с RNN для обработки
   последовательностей, оптимально для распознавания рукописного текста.

1. <code>Transformer и BERT</code>
   <code> модели</code>&#58; Эти модели, основанные на механизме внимания, могут
   быть дообучены для обработки последовательностей символов, полученных после
   предварительной обработки изображений рукописного текста.

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

:::note[Ссылки для изучения]

1. [Распознавание рукописного текста](https://habr.com/ru/articles/720614/)
   :::

---

## <strong>Какие есть еще линейные модели кроме лин. и лог. регрессий?</strong> [#q-14bee738d69b81979ec8c35f56c144d7]

Помимо линейной и логистической регрессий, существуют и другие линейные модели&#58;

1. <code>Ridge регрессия</code>&#58; Регрессионная модель, которая вводит штраф
   на коэффициенты модели с целью снижения переобучения.

1. <code>Lasso регрессия</code>&#58; Также регрессионная модель, которая
   добавляет штраф к абсолютным значениям коэффициентов, что может привести к
   отбору признаков.

1. <code>ElasticNet регрессия</code>&#58; Комбинация Ridge и Lasso регрессий,
   которая вводит штрафы на коэффициенты как по их абсолютным значениям, так и
   по их квадратам.

1. <code>Метод опорных векторов &#40;SVM&#41;</code>&#58; Линейная модель для
   задач классификации и регрессии, которая стремится найти гиперплоскость
   максимального зазора между классами.

1. <code>Линейная дискриминантный анализ &#40;LDA&#41;</code>&#58;
   Статистический метод, который моделирует распределение признаков в каждом
   классе и использует его для принятия решений.

1. <code>Обобщенные линейные модели &#40;GLM&#41;</code>&#58; Класс моделей,
   который обобщает линейные модели, позволяя выбирать различные функции связи и
   распределения ошибок.

:::note[Ссылки для изучения]

1. [Линейные модели в ML](https://education.yandex.ru/handbook/ml/article/linear-models)
   :::

---

## <strong>Чем принципиально отличаются случайный лес и град. бустинг?</strong> [#q-14bee738d69b816db65fffc75784b1e7]

Случайный лес и градиентный бустинг - это два разных подхода к построению ансамблей моделей машинного обучения&#58;

{/* prettier-ignore */}
1. <code>Случайный лес &#40;Random Forest&#41;</code>&#58;

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

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

    - Прогнозы получаются путем усреднения прогнозов всех деревьев (для регрессии) или путем голосования (для классификации).

    - Случайный лес обладает хорошей устойчивостью к переобучению и хорошей способностью к обобщению на новые данные.

1. <code>Градиентный бустинг &#40;Gradient Boosting&#41;</code>&#58;

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

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

    - Прогнозы получаются путем суммирования прогнозов всех деревьев.

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

:::note[Ссылки для изучения]

1. [Градиентный бустинг](https://education.yandex.ru/handbook/ml/article/gradientnyj-busting)
   :::

---

## <strong>В чём разница между случайным лесом и деревом решений в машинном обучении?</strong> [#q-14bee738d69b817785a8cd93ab36e25a]

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

:::note[Ссылки для изучения]

1. [Ансамбли моделей](https://ranalytics.github.io/data-mining/044-Ensembles.html)
   :::

---

## <strong>Есть три модели (бустинг, логрег и рандомфорест) на какие критерии следует обратить внимание при выборе модели?</strong> [#q-14bee738d69b81bb978dd4682b0e6fca]

При выборе модели следует обратить внимание на следующие критерии&#58;

1. Производительность модели&#58; Оцените скорость обучения и предсказания для каждой модели, особенно если важна скорость работы в реальном времени.

1. Обобщающая способность&#58; сравнивайте модели на валидационной выборке или кросс-валидации. Тестовую выборку используйте для окончательной оценки после выбора модели.

1. Интерпретируемость&#58; Некоторые модели, такие как логистическая регрессия, легче интерпретировать, чем другие, например, бустинг или случайный лес. Если важно понимать, какие признаки влияют на прогнозы, это стоит учитывать.

1. Устойчивость к выбросам&#58; Оцените, насколько модели устойчивы к выбросам в данных. Некоторые модели могут быть более чувствительны к выбросам, чем другие.

1. Гибкость&#58; Рассмотрите, насколько легко модель можно настроить и насколько она гибкая в использовании. Некоторые модели могут требовать меньше тюнинга гиперпараметров или быть более подходящими для конкретных типов данных.

:::note[Ссылки для изучения]

1. [Ансамбли моделей](https://ranalytics.github.io/data-mining/044-Ensembles.html)
   :::

---

## <strong>В каком случае линейная регрессия будет лучше бустинга?</strong> [#q-14bee738d69b8165a848c56339a9afc1]

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

:::note[Ссылки для изучения]

1. [Ансамбли моделей](https://ranalytics.github.io/data-mining/044-Ensembles.html)
   :::
