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

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

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

Алгоритмы регрессии

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

Общие алгоритмы регрессии

  • Регрессия методом наименьших квадратов
  • Линейная регрессия
  • Логистическая регрессия

Курс Coursera Джонса Хопкинса о регрессионных моделях

Алгоритмы кластеризации

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

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

Общие алгоритмы кластеризации

  • K-означает
  • Иерархическая кластеризация

Замечательное вводное видео по кластеризации

Алгоритмы уменьшения размерности

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

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

Алгоритмы уменьшения общей размерности

  • Анализ основных компонентов
  • Фильтр низкой дисперсии
  • Фильтр высокой корреляции
  • Случайные леса
  • Устранение обратного признака / построение прямого признака

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

Алгоритмы дерева решений

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

Общие алгоритмы дерева решений:

  • Дерево классификации и регрессии
  • C4.5 и C5.0
  • Случайные леса
  • Детектор автоматического взаимодействия с хи-квадрат

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

Глубокое обучение

Шумиха вокруг машинного обучения и ИИ вызвана глубоким обучением. Это современные версии искусственных нейронных сетей, которые используют дешевые вычисления для обучения все более крупных нейронных сетей. Это мощные универсальные аппроксимации функций, доказавшие свою способность решать некоторые из самых сложных задач. См. Alpha Go.

Common Deep Learning al

  • Составные автокодировщики
  • Сверточные нейронные сети
  • Рекуррентные нейронные сети
  • Capsule Networks (подробнее здесь)

Посмотрите этот отрывок из книги. Он охватывает основные архитектуры для глубокого обучения.

Забрать

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