TОП-5 инструментов для машинного обучения

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

Microsoft Azure ML

Microsoft Azure Machine Learning – инфраструктура облачных вычислений от компании Microsoft, представляющая собой обновленную версию MS Azure. В контексте машинного обучения инструмент представляет собой платформу, которая позволяет вне зависимости от качества данных строить решения прямо «на облаке» и с легкостью создавать на их основе BI-приложения. При этом разработчики заверяют, что с Azure ML может разобраться даже старшеклассник – и призывают экспериментировать, ведь концепция облачных вычислений не требует особенных вычислительных мощностей «на месте».

Такая «красота», естественно, не задаром – и платить придется не один раз, правда, и совсем немного – меньше 50 центов за час эксперимента и 75 центов за час работы над прогнозом.

RapidMiner

RapidMiner – чуть ли не самый известный инструмент анализа данных, который прежде был известен под говорящим названием YALE (Yet Another Learning Environment – еще одна среда обучения). ПО разрабатывалось как раз в целях машинного обучения, так что на сегодня многие консервативные пользователи очевидно хорошо знакомы с его преимуществами. Среди них – удобный графический интерфейс с функцией «перетаскивания» потоков данных, которые, кстати говоря, выгружаются из самых разнообразных форматов, включая PDF.

Кроме того, у инструмента огромные возможности для расширения функционала – а еще платформа RapidMiner Extensions позволяет отдельным разработчикам вносить вклад в развитие среды, загружая и выставляя на суд общественности новые алгоритмы. Однако, как водится, за красоту, перспективу и бренд часто нужно платить – за полную версию ПО придется отдать от 999 долларов, а бесплатная Starter Edition налагает ограничения на обрабатываемый объем данных – до 1 Гб. 

Apache Mahout

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

ПО с открытым кодом ориентировано, главным образом, на алгоритмы совместной фильтрации, кластеризации и классификации – и, хотя в Hadoop они реализуются при помощи ключевой технологии map/reduce, сторонних разработчиков никто не ограничивает: наоборот, фонд активно поощряет их к созданию алгоритмов без привязки к Hadoop.

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

Caffe

Известному инструменту (если быть точнее, библиотеке) Caffe мы в свое время посвятили целую статью. Сегодня напоминаем, что Caffe представляет собой библиотеку на языке C++, реализующую алгоритмы глубокого обучения, которая была разработана (и продолжает разрабатываться сторонними разработчиками, вносящими свою лепту в развитие библиотеки) с упором на такие важные характеристики, как поддержание уровня чистоты данных, их читабельность и скорость обработки.

Открытый код, поддержка Python и интеграция с MATLAB, а также высокая скорость работы (эталонные 5 и 2 миллисекунды на обучение и тестирование одного изображения соответственно) позволили Caffe найти себе широкое применение, в том числе, и в коммерческой среде. Конечно, не обходится и без ложки дегтя: не всякая реализация работает одновременно быстро и достаточно стабильно; но, если решить дилемму «скорость vs надежность» в пользу скорости, библиотеке нет равных.

OpenCV

OpenCV (Open Source Computer Vision) – еще одна библиотека с открытым кодом, реализованная на C/C++ и на текущий момент находящаяся в процессе «переноса» на другие популярные языки, включая Python, Java и MATLAB. OpenCV предлагает широкий инструментарий для работы с визуализацией – в том числе, и в целях машинного обучения, причем сегодня она работает с большинством операционных систем – включая мобильные iOS и Android.

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

 Автор: Елизавета Филиппова

Добавить комментарий

Ваш адрес email не будет опубликован.

закрыть

Поделиться

Отправить на почту
закрыть

Вход

закрыть

Регистрация

+ =