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

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

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

Обычная линейная регрессия методом наименьших квадратов

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

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

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

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

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

К-средство кластеризации

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

Алгоритм реализации K означает кластеризацию довольно прост.

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

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

Деревья решений:

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

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

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

Спасибо за прочтение. Если вы хотите поговорить об этом подробнее, просто напишите мне @ alt227Joydeep. Буду рад обсудить это дальше. Также, пожалуйста, хлопайте в ладоши и помогите этой статье привлечь больше аудитории.

Больше чтения: