Если вы новичок в науке о данных, вот с чего можно начать

Машинное обучение - одна из самых известных и важных областей науки о данных. Термин машинное обучение впервые был использован в 1959 году исследователем IBM Артуром Самуэлем. После этого область машинного обучения вызвала большой интерес у других, особенно в связи с его использованием в классификациях.

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

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

В целом мы делим алгоритмы машинного обучения на 4 категории:

  1. Контролируемые алгоритмы. Алгоритмы, требующие некоторого контроля со стороны разработчика во время работы. Для этого разработчик маркирует данные обучения и устанавливает строгие правила и границы, которым должен следовать алгоритм.
  2. Неконтролируемые алгоритмы. Алгоритмы, которые не требуют прямого контроля со стороны разработчика. В этом случае желаемые результаты алгоритмов неизвестны и должны определяться алгоритмом.
  3. Полууправляемые алгоритмы. Алгоритмы, сочетающие в себе аспекты контролируемых и неконтролируемых алгоритмов. Например, не все данные обучения будут помечены, и не все правила будут предоставлены при инициализации алгоритма.
  4. Алгоритмы подкрепления. В этих типах алгоритмов используется метод, называемый исследованием / эксплуатацией. Жест этого прост; машина выполняет действие, наблюдает за результатами, а затем учитывает эти результаты при выполнении следующего действия и так далее.

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

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

№1: Регрессия

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

Вы можете представить себе регрессионный анализ как уравнение. Например, если у меня есть уравнение y = 2x + z, y - моя зависимая переменная, а x, z - независимые. Регрессионный анализ определяет, насколько сильно x и z влияют на значение y.

Та же логика применима к более сложным и сложным задачам. Для адаптации к различным проблемам существует много типов алгоритмов регрессии; возможно, топ-5:

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

№2: Классификация

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

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

Существуют разные типы алгоритмов классификации; 4 лучших из них:

  1. K-ближайший сосед: KNN - это алгоритм, который использует наборы обучающих данных для поиска k ближайших точек данных в некоторых наборах данных.
  2. Деревья решений. Это можно представить как блок-схему, в которой каждая точка данных классифицируется по двум категориям за раз, а затем по каждой еще по две и так далее.
  3. Наивный Байесов: этот алгоритм вычисляет вероятность того, что элемент попадает в определенную категорию, используя правило условной вероятности.
  4. Машина опорных векторов (SVM). В этом алгоритме данные классифицируются на основе степени полярности, которая может выходить за рамки прогноза X / Y.

№3: Ансамблирование

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

Алгоритмы ансамбля имеют 3 основных типа: Bagging, Boosting и Stacking.

  1. Бэггинг. В бэггинг алгоритмы выполняются параллельно на разных обучающих наборах, все одинакового размера. Затем все алгоритмы тестируются с использованием одного и того же набора данных, и голосование используется для определения общих результатов.
  2. Повышение: в случае повышения алгоритмы выполняются последовательно. Затем общие результаты выбираются с помощью взвешенного голосования.
  3. Укладка: Как следует из названия, наложение состоит из двух уровней, расположенных друг над другом, базовый уровень представляет собой комбинацию алгоритмов, а верхний уровень - это мета-алгоритм, основанный на результатах базового уровня.

№4: Кластеризация

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

Есть 4 типа алгоритмов кластеризации:

  1. Кластеризация на основе центроидов. Этот алгоритм кластеризации объединяет данные в кластеры на основе начальных условий и выбросов. k-means - это наиболее хорошо осведомленный и используемый алгоритм кластеризации на основе центроидов.
  2. Кластеризация на основе плотности. В этом типе кластеризации алгоритм объединяет области с высокой плотностью в кластеры, создавая распределения произвольной формы.
  3. Кластеризация на основе распределения: этот алгоритм кластеризации предполагает, что данные состоят из вероятностных распределений, а затем группирует данные в различные версии этого распределения.
  4. Иерархическая кластеризация: этот алгоритм создает дерево иерархических кластеров данных, и количество кластеров можно изменять, вырезая дерево на правильном уровне.

№5: Ассоциация

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

Наиболее часто используемый алгоритм ассоциации - Apriori.

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

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

Последние мысли

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

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

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

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

So,

Мой совет: разобраться в механике, освоить ее использование и начать строительство.