Журнал Mail.ru Cloud Solutions
об IT-бизнесе, технологиях и цифровой трансформации

10 самых популярных алгоритмов машинного обучения Mail.ru Cloud Solutions
Mail.ru Cloud Solutions
  • 31 августа
  • Технологии

10 самых популярных алгоритмов машинного обучения

Популярное

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

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

Что это. Если у вас есть последовательность чисел [100, 200, 300, 400, 500, x], то линейная регрессия легко предскажет, что на месте x должно быть число 600. Этот алгоритм предсказывает простые линейные зависимости в данных и значения в рамках трендов.

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

Плюсы. Очень простая и интуитивная модель машинного обучения. Проста в реализации, быстра в работе.

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

Линейная регрессия определяет корреляцию между переменными

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

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

Логистическая регрессия выдает ответ в виде числа в промежутке от 0 до 1. Если число ниже определенного порога значения — то объект относится к первому классу объектов, а если выше — то ко второму. Калибровка порогового значения для разделения объектов на классы подбирается в ходе калибровки алгоритма.

Где применять. Там, где требуется несложная классификация малого числа объектов на малое число классов.

Плюсы. Скорость и наглядность.

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

Логистическая регрессия позволяет классифицировать простые объекты

3. K-средних

Что это. Этот алгоритм машинного обучения может сгруппировать объекты по степени похожести. По сути — раскидать множество объектов на несколько классов с примерно похожими свойствами.

Где применять. Поиск закономерностей, классификация объектов по нескольким параметрам. Работа с объектами, которые можно описывать набором переменных.

Плюсы. Логичность, простота, надежность, высокая скорость работы.

Минусы. Плохо отличает слишком похожие объекты. Иногда может неправильно определять класс объектов даже после тщательной калибровки модели.

Алгоритм к-средних позволяет разделить схожие объекты на группы

4. Метод опорных векторов

Что это. Еще один классификатор, по своему устройству радикально отличающийся от предыдущего — он пытается построить такую линию, чтобы самым точным образом разделить между собой разные типы объектов.

Где применять. Классификация объектов.

Плюсы. Простота реализации, работа с многомерными данными.

Минусы. Как и алгоритм K-средних, легко может спутать объекты, которые похожи на объекты другого класса.

Метод опорных векторов выбирает оптимальную линию, разделяющую классы объектов

5. Байесовский классификатор

Что это. Как следует из названия, этот алгоритм определяет класс, к которому принадлежит объект. В основе механизмов классификации — расчет вероятности, с которой объект относится к тому или иному типу данных. Этот метод пришел к нам из мира статистики.

Где применять. В задачах классификации, конечно же. Например, классическая задача — сказать, относится ли письмо к спаму или нет.

Плюсы. Простота реализации.

Минусы. Вероятностный подход с трудом справляется с классификацией сложных объектов.

Есть несколько байесовских алгоритмов, основная задача которых — классификация простых объектов

6. Нейронные сети

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

Где применять. Практически везде — этому алгоритму по плечу любой класс задач.

Плюсы. Универсальность. Работа со сложным данными — объектами с кучей параметров, звуком, фото, видео.

Минусы. Часто требует высокой вычислительной мощности. Настолько высокой, что на вашем ноутбуке тренировка этого алгоритма может занять годы. Иногда требуется применение специализированного вычислительного железа, например видеокарт (хотя всегда есть возможность взять видеокарту в аренду в облаке).

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

Схема простой нейросети: на входные узлы поступают данные, затем они обрабатываются скрытыми узлами, а результат передается на выход

7. Сверточные нейросети

Что это. Алгоритм-близнец традиционных нейросетей. Основное отличие — в хитрой группировке данных на группы и работа с этими группами внутри сети.

Где применять. В основном — при работе с изображениями и видео. Такие алгоритмы лежат в основе систем компьютерного зрения и слуха.

Плюсы. Самый качественный и точный алгоритм для работы с визуальным контентом.

Минусы. Сложность в отладке и внушительные требования к вычислительной мощности.

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

8. Деревья принятия решений

Что это. Алгоритм представляет состояния объекта в виде дерева. Например, «если человек мужского пола, возраст больше сорока и есть вредные привычки, то шанс развития сердечных заболеваний — выше среднего». Подробнее об этом алгоритме мы рассказывали в отдельной статье.

Где применять. Подходит для классификации и предсказания состояний на основе имеющихся данных.

Плюсы. Надежность, простота применения, интуитивность.

Минусы. Ограниченная сфера применения. Далеко не все модели можно описывать деревьями.

Визуально алгоритм можно представить как карту возможных результатов из ряда взаимосвязанных выборов

9. Алгоритм случайного леса

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

Где применять. Там же, где и простые решающие деревья — для предсказаний на основе параметров и для классификации.

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

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

Алгоритм случайного леса выдает самое популярное решение деревьев

10. Бустинг

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

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

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

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

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

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

Ссылка скопирована!

Что еще почитать про ИТ-бизнес