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

В каждой науке о данных интервьюеров спрашивают о плюсах и минусах алгоритмов машинного обучения. Они часто спрашивают: «Почему вы внедрили алгоритм X, а не алгоритм Y? Каковы плюсы и минусы обоих алгоритмов?»

На этом этапе мы должны ответить на эти вопросы умно и с баллами, чтобы интервьюер мог быть уверен в ваших основах машинного обучения :)

Итак, давайте углубимся в эту тему — «Каковы плюсы и минусы некоторых популярных алгоритмов машинного обучения?»

  • Алгоритмы контролируемого машинного обучения:

ПРИМЕЧАНИЕ.Я пишу эту статью на основе своих личных заметок, которые я сделал для пересмотра и интервью в области науки о данных и машинного обучения. Я делюсь тремя плюсами и минусами каждого алгоритма. Я предполагаю, что вы хорошо разбираетесь в обучении с учителем и обучении без учителя.

  1. Линейная регрессия:

Плюсы:

  • Линейная регрессия проста в реализации и легче интерпретирует выходные коэффициенты.
  • Когда вы знаете, что связь между независимыми и зависимыми переменными имеет линейную зависимость, этот алгоритм лучше всего использовать из-за его меньшей сложности по сравнению с другими алгоритмами.
  • Линейная регрессия подвержена переобучению, но этого можно избежать, используя некоторые методы уменьшения размерности, методы регуляризации (L1 и L2) и перекрестную проверку.

Минусы:

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

2. Логистическая регрессия:

Плюсы:

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

Минусы:

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

3.Машина опорных векторов:

Плюсы:

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

Минусы:

  • SVM не очень хорошо работает, когда в наборе данных больше шума, т. е. целевые классы перекрываются.
  • В случаях, когда количество функций для каждой точки данных превышает количество выборок обучающих данных, SVM будет работать хуже.
  • Поскольку классификатор опорных векторов работает, помещая точки данных выше и ниже классифицирующей гиперплоскости, нет вероятностного объяснения классификации.

4.Дерево решений:

Плюсы:

  • Дерево решений не требует нормализации данных.
  • Отсутствующие значения/значения NULL в наборе данных не влияют на процесс построения дерева решений в какой-либо значительной степени.
  • Это очень легко сделать в случае проблем с классификацией. Он хорошо работает на небольших наборах данных.

Минусы:

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

5. Случайный лес:

Плюсы:

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

6. Наивный Байес:

Плюсы:

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

Минусы:

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

7. K-Ближайшие соседи:

Плюсы:

  • KNN также называют Ленивым Леранером. Для него не предусмотрен период обучения. Он хранит данные обучения и учится на них только во время прогнозирования в реальном времени. Это делает KNN намного быстрее, чем другие алгоритмы, требующие обучения, например. SVM, линейная регрессия и т. д.
  • Поскольку алгоритм KNN не требует обучения перед выполнением прогнозов, новые данные могут быть легко добавлены, что не повлияет на точность алгоритма.
  • KNN очень прост в реализации. Для реализации KNN требуются только два параметра, т. е. значение K и функция расстояния (например, евклидова или манхэттенская и т. д.).

Минусы:

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

8. Алгоритмы повышения (AdaBoost, Gradient Boosting, XGBoost):

Плюсы:

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

Минусы:

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

— — — — — — — — — — — — — — — — — — —

  • Алгоритм неконтролируемого машинного обучения:
  1. Кластеризация KMeans:

Плюсы:

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

Минусы:

  • Трудно предсказать количество кластеров, то есть значение k. Кроме того, на результат сильно влияют начальные входные данные, такие как количество кластеров (значение k).
  • Порядок данных сильно повлияет на конечный результат. Он очень чувствителен к масштабированию. Если мы изменим масштаб наших данных с помощью нормализации или стандартизации, то результат полностью изменит окончательный результат.
  • Нехорошо выполнять работу по кластеризации, если кластеры имеют сложную геометрическую форму.

— — — — — — — — — — — — — — — — — — —

  • Алгоритм машинного обучения уменьшения размерности:
  1. Анализ основных компонентов (АПК):

Плюсы:

  • Когда в наборе данных слишком много переменных. Использование PCA для уменьшения размерности набора данных может предотвратить такое переоснащение.
  • Это помогает нам уменьшить очень большой набор данных. Это может быть очень полезно, если нам нужно запустить алгоритм с нашими данными и/или визуализировать их. В противном случае было бы очень сложно легко визуализировать все наши функции.
  • Это поможет им быстрее сойтись. При меньшем количестве функций время обучения алгоритмов уменьшится.

Минусы:

  • Перед выполнением PCA требуется нормализация данных. Все переменные должны иметь среднее значение 0 и стандартное отклонение 1. В противном случае те переменные, масштаб которых больше, будут доминировать в PCA.
  • Использование PCA может привести к некоторой потере информации, если мы не выберем правильное количество основных компонентов, необходимых для нашего набора данных и его дисперсии.
  • Когда мы применяем анализ основных компонентов к нашему набору данных, исходные функции будут преобразованы в основные компоненты: линейные комбинации функций исходных данных.

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

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

Использованная литература:

  • Компьютерщики для компьютерщиков
  • Каггл

Подписание…