knime автоматическое машинное обучение

Machine Learning in KNIME with PyCaret

A step-by-step guide on training and scoring machine learning models in KNIME using PyCaret

knime автоматическое машинное обучение

knime автоматическое машинное обучение

PyCaret

PyCaret is an open-source, low-code machine learning library and end-to-end model management tool built-in Python for automating machine learning workflows. Its ease of use, simplicity, and ability to quickly and efficiently build and deploy end-to-end machine learning pipelines will amaze you.

PyCaret is an alternate low-code library that can replace hundreds of lines of code with few lines only. This makes the experiment cycle exponentially fast and efficient.

KNIME

KNIME Analytics Platform is open-source software for creating data science. Intuitive, open, and continuously integrating new developments, KNIME makes understanding data and designing data science workflows and reusable components accessible to everyone.

KNIME Analytics platform is one of the most popular open-source platforms used in data science to automate the data science process. KNIME has thousands of nodes in the node repository which allows you to drag and drop the nodes into the KNIME workbench. A collection of interrelated nodes creates a workflow that can be executed locally as well as can be executed in the KNIME web portal after deploying the workflow into the KNIME server.

Installation

For this tutorial, you will need two things. The first one being the KNIME Analytics Platform which is a desktop software that you can download from here. Second, you need Python.

The easiest way to get started with Python is to download Anaconda Distribution. To download, click here.

Once you have both the KNIME Analytics Platform and Python installed, you need to create a separate Conda environment in which we will install PyCaret. Open the Anaconda prompt and run the following commands:

Now open the KNIME Analytics Platform and go to File → Install KNIME Extensions → KNIME & Extensions → and select KNIME Python Extension and install it.

Once installation completes, go to File → Preferences → KNIME → Python and select your Python 3 environment. Notice that in my case the name of the environment is “powerbi”. If you have followed the commands above, the name of the environment is “knimeenv”.

Источник

Что такое автоматизированное машинное обучение (AutoML)

С того момента как стали появляться инструменты автоматизированного машинного обучения (AutoML), такие как Google AutoML, эксперты обсуждают вопрос — готовы ли они к полной корпоративной интеграции и применению. В описании инструментов AutoML утверждается, что каждый может взять на себя роль «исследователя данных» (data scientist), способного создавать готовые для промышленного применения модели машинного обучения без традиционно необходимого технического образования.

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

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

Инструменты AutoML упрощают процесс обработки данных, делая все возможное, используя имеющуюся информацию. Процесс состоит из трех основных этапов:

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

Это важный этап, поскольку эти дополнительные данные очень часто означают разницу между неподходящей и превосходной моделью. AutoML запрограммирован на использование ограниченного диапазона методов обнаружения данных, обычно таким образом, чтобы удовлетворить «среднюю» проблему данных, ограничивая конечную производительность модели, поскольку он не может использовать знания конкретного МСБ(малый средний бизнес), которые могут быть важны для успеха и то, что специалист по данным может использовать в своей работе.

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

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

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

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

Завершающим этапом является массовое тестирование производительности и выбор лучшего исполнителя. Именно на этом этапе требуется некоторый ручной труд, не в последнюю очередь потому, что крайне важно, чтобы пользователь выбрал правильную модель для задачи. Бесполезно иметь модель риска мошенничества, которая выявляет 100% случаев мошенничества, но ставит под сомнение каждую авторизацию.

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

Будущее AutoML

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

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

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

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

Источник

Системы машинного обучения (ML)

Программные сервисы и Системы машинного обучения (СМО, англ. Machine learning, ML) позволяют формировать прогнозы и автоматически принимать деловые решения.

Для включения в категорию Систем машинного обучения данное программное обеспечение должно удовлетворять следующим критериям:

Сравнение Системы машинного обучения (ML)

Выбрать по критериям:

Системы машинного обучения (ML)

Plotly Dash от Plotly

Plotly Dash – это аналитический программный фреймворк Python для быстрого создания информационных панелей (дашбордов) для веб-браузера с использованием технологий ИАД, МО и ИИ. Узнать больше про Plotly Dash

Deductor от Loginom company

Deductor – это программная платформа продвинутой аналитики, позволяющая создавать законченные прикладные аналитические решения для бизнеса. Продукт снят с продажи. Узнать больше про Deductor

TIBCO Data Science от TIBCO

TIBCO Data Science – это комплексная аналитическая платформа, позволяющая применять полный комплекс современных аналитических методов над деловыми данными компании. Узнать больше про TIBCO Data Science

RapidMiner от RapidMiner

RapidMiner – это платформа анализа данных, позволяющая развёртывать прогнозные модели, модели машинного обучения и эффективная при решении разнообразных аналитических задач. Узнать больше про RapidMiner

B3 от B3 Systems

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

Dataiku DSS от Dataiku

Dataiku Data Science Studio – это система анализа данных для различных компаний, независимо от их опыта, отрасли или размера, стремящихся создать стратегические преимущества бизнеса, основанные на данных.. Узнать больше про Dataiku DSS

KNIME Analytics Platform от KNIME

KNIME Analytics Platform – это программная платформа анализа, интеграции данных и подготовки отчётности с открытым исходным кодом.. Узнать больше про KNIME Analytics Platform

Anaconda от Anaconda

Logi Predict от Logi Analytics

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

Видеоинтеллект от Видеоинтеллект

Видеоинтеллект – это программная система интеллектуализации видеонаблюдения для проведения автоматического анализа видеопотока и предиктивной видеоаналитики при помощи технологий AI и ML. Узнать больше про Видеоинтеллект

Yandex SpeechKit от Яндекс.Облако

Yandex SpeechKit – это онлайн-сервис звукового анализа от компании Яндекс для реализации распознавания речи на основе программных алгоритмов машинного обучения в любых бизнес-приложениях. Сервис применения сервиса используется программный интерфейс (API). Узнать больше про Yandex SpeechKit

Yandex Vision от Яндекс.Облако

Yandex Vision – это онлайн-сервис визуальной аналитики, позволяющий реализовывать распознавание текста и объектов на изображениях с помощью программных моделей машинного обучения. Сервис используется на базе программного интерфейса (API). Узнать больше про Yandex Vision

Руководство по покупке Системы машинного обучения

Содержание

Что такое Системы машинного обучения

Программные сервисы и Системы машинного обучения (СМО, англ. Machine learning, ML) позволяют формировать прогнозы и автоматически принимать деловые решения.

Зачем бизнесу Системы машинного обучения

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

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

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

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

Назначение и цели использования Системы машинного обучения

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

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

Обзор основных функций и возможностей Системы машинного обучения

Выгоды, преимущества и польза от применения Системы машинного обучения

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

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

Отличительные черты Системы машинного обучения

Для включения в категорию Систем машинного обучения данное программное обеспечение должно удовлетворять следующим критериям:

Источник

7 фреймворков автоматического машинного обучения

Чем интересны системы автоматического машинного обучения? Какие фреймворки годятся для AutoML? В чем пока есть ограничения? Отвечаем в статье.

knime автоматическое машинное обучение

Концепция автоматического машинного обучения

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

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

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

Но не значит ли это, что наступит день, когда отпадет необходимость в специалистах по анализу данных? Конечно, нет. Технологии AutoML направлены на избавление от рутинной последовательности операций и ручного перебора моделей. Чтобы специалисты могли больше времени уделять творческой стороне вопроса.

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

Особое внимание уделяется процессу нахождения лучших гиперпараметров модели. Два наиболее распространенных метода их нахождения:

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

Фреймворки автоматического машинного обучения

1. MLBox

knime автоматическое машинное обучение

Фреймворк MLBox успел хорошо зарекомендовать себя на Kaggle. Так, на соревновании Two Sigma Connect: Rental Listing Inquiries применявшие MLBox участники смогли попасть в верхние 5% рейтинга. MLBox решает следующие задачи:

Из недостатков отметим, что на Linux систему установить гораздо проще, чем на Mac или Windows.

2. Auto Sklearn

knime автоматическое машинное обучение

Как следует из названия, фреймворк Auto Sklearn построен на базе популярной библиотеки машинного обучения scikit-learn. Что умеет Auto Sklearn:

Auto Sklearn хорошо справляется с небольшими наборами данных, но не «переваривает» крупные датасеты.

3. TPOT

knime автоматическое машинное обучение

TPOT позиционируется как фреймворк, в котором конвейер машинного обучения автоматизирован целиком. Для нахождения оптимальной модели используется генетический алгоритм. Строится множество различных моделей с выбором лучшей по предсказательной точности. Так же, как и Auto Sklearn, этот фреймворк представляет собой надстройку над scikit-learn. Зато у TPOT имеются собственные алгоритмы регрессии и классификации. К недостаткам относится неумение TPOT взаимодействовать с естественным языком и категориальными строками.

4. H2O

knime автоматическое машинное обучение

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

5. Auto Keras

knime автоматическое машинное обучение

Auto Keras следует дизайну классического scikit-learn API, но использует мощный нейросетевой поиск параметров модели с помощью Keras.

6. Google Cloud AutoML

knime автоматическое машинное обучение

Cloud AutoML использует нейросетевую архитектуру. У этого продукта Google простой пользовательский интерфейс для обучения и разворачивания моделей. Однако платформа платна, и в долговременной перспективе ее имеет смысл применять лишь в коммерческих проектах. С другой стороны, в течение года Cloud AutoML с ограничениями доступен бесплатно для исследовательских целей.

7. Uber Ludwig

knime автоматическое машинное обучение

Цель проекта Uber Ludwig – автоматизировать процесс глубокого обучения с минимальным количеством кода. Этот фреймворк работает только с моделями глубокого обучения, игнорируя прочие модели ML. И, конечно, как это обычно бывает с Deep Learning, существенную роль играет количество данных.

Текущие ограничения автоматического машинного обучения

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

Редким примером удачной реализации автоматического обучения с подкреплением является AlphaZero, разработанная компанией DeepMind. На ее примере была показана возможность улучшения качества игры в Го при тренировках, в которых искусственный интеллект соревновался с самим собой.

Технологии AutoML также пока имеют трудности в обработке сложных сырых данных и оптимизации процесса конструирования новых признаков (feature engineering). По этой причине выбор значимых признаков остается одним из краеугольных камней процесса обучения модели.

Однако во всех перечисленных областях наблюдается прогресс, который ускоряется с увеличением числа конкурсов по AutoML.

Источник

Автоматическое машинное обучение

Автоматическое машинное обучение (англ. Automated Machine Learning, AutoML) — процесс создания динамической комбинации различных методов для формирования простой в использовании сквозной конвейерной системы машинного обучения. AutoML использует хорошо зарекомендовавшие себя методы, которые мы классифицируем в следующие категории на основе конвеера машинного обучения (показано на Рис.1): подготовка данных, конструирование признаков, генерация моделей и их оценка.

knime автоматическое машинное обучение

Подготовка данных состоит из двух этапов: сбор данных и их предварительная обработка.
Конструирование признаков состоит из 3 процессов: извлечение признаков, выбор признаков и построение признаков.
Этап генерации модели включает в себя выбор модели и оптимизацию гиперпараметров выбранной модели.
Методы оптимизации гиперпараметров: случайный поиск, поиск по сетке, градиентный спуск (gradient descent, GD), обучение с подкреплением, эволюционный алгоритм (evolutionary algorithm, EA), байесовская оптимизация (Bayesian optimization, BO), байесовская оптимизация на основе гиперболы (Bayesian optimization based hyperband, BOBH).

Содержание

Подготовка данных [ править ]

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

Сбор данных [ править ]

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

Синтез данных [ править ]

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

Поиск данных [ править ]

Так как интернет является неисчерпаемым источником данных, поиск веб-данных — это интуитивно понятный способ сбора наборов данных. Тем не менее, есть некоторые проблемы с использованием данных, полученных таким образом.
Во-первых, результаты поиска могут не совсем совпадать с ключевыми словами. Чтобы решить эту проблему, несвязанные данные могут быть отфильтрованы.
Во-вторых, веб-данные могут быть неправильно размечены или не размечены вовсе. Для решения этой проблемы часто используются self-labeling методы. К примеру, один из таких методов активного обучения выбирает наиболее «неопределенные» неразмеченные отдельные примеры для разметки вручную, а затем итеративно размечаются оставшиеся данные. Чтобы полностью устранить потребность в разметке данных вручную и еще больше ускорить этот процесс, предлагается множество методов саморазметки с частичным привлечением учителя.
Однако, также существует проблема, что наш набор данных не сбалансирован. Решением этой проблемы является, к примеру, алгоритм SMOTE, который помогает синтезировать новые данные, которые будут относиться к миноритарным классам, а также уменьшать количество данных, относящихся к мажоритарным классам.

Предварительная обработка данных [ править ]

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

Конструирование признаков [ править ]

Конструирование признаков состоит из трёх подэтапов: выбор признаков (англ. feature selection), извлечение признаков (англ. feature extraction) и построение признаков (англ. feature construction). Извлечение и построение признаков — это варианты преобразования, с помощью которых создается новый набор признаков. Во многих случаях, целью извлечения признаков является уменьшение исходной размерности путём применения некоторых функций отображения, в то время как построение признаков используется для расширения исходного пространства признаков. Цель выбора признаков состоит в том, чтобы уменьшить избыточность признаков путем выбора наиболее важных из них. В итоге, суть автоматического конструирования признаков в некоторой степени заключается в динамическом сочетании этих трех принципов.

Выбор признаков [ править ]

knime автоматическое машинное обучение

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

Построение признаков [ править ]

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

Извлечение признаков [ править ]

Это процесс уменьшения размерности пространства признаков путем применения некоторых функций отображения. Он извлекает наиболее информативные признаки с учетом выбранных метрик. В отличие от выбора признаков, извлечение признаков изменяет исходные признаки. Главной частью извлечения признаков является функция отображения, которая может быть реализована многими способами. Наиболее распространенными подходами являются метод главных компонент (PCA), метод независимых компонент (ICA), t-SNE, isomap, нелинейное уменьшение размерности.

Генерация модели [ править ]

После конструирования признаков нам нужно сгенерировать модель и задать ее гиперпараметры. Как показано на Рис. 1, генерация модели состоит из двух этапов: выбора модели и оптимизации гиперпараметров. Существует множество способов выбора модели. Ниже приведены некоторые из них:

TPOT (Tree-base Pipeline Optimization Tool) [ править ]

Auto-WEKA [ править ]

Auto-WEKA позволяет одновременно выбирать лучшую модель и настраивать ее гиперпараметры. Для этого процесса используется алгоритм SMAC. Из-за перебора всех возможных моделей и их гиперпараметров алгоритм работает довольно долго.

Auto-sklearn [ править ]

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

Auto-sklearn 2.0 [ править ]

Auto-sklearn 2.0 является улучшенной версией библиотеки auto-sklearn. В обновленном варианте пакета каждый pipeline способен совершать раннюю остановку и сохранять результаты промежуточных вычислений. Это изменение кардинально улучшило производительность и качество работы. Следующим нововведением стало ограничение множества алгоритмов, в котором производится перебор, до моделей, которые можно обучать итеративно, в частности, методы, основанные на деревьях решений. Изменился подход к мета-обучению, предыдущая версия библиотеки использовала мета-признаки для определения схожих между собой датасетов. В Auto-sklearn 2.0 реализован другой подход, было создано единое портфолио лучших решений для различных датасетов. Был добавлен автоматический выбор стратегии подбора наилучшей модели.

Auto-Keras [ править ]

MLBox [ править ]

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

TransmogrifAI [ править ]

AutoML библиотека написанная на SCALA работающая поверх Apache Spark. Она разработана с упором на повышение производительности разработки за счёт проверки типов во время компиляции, их переиспользования и модульности. Обеспечивает быстрое обучение моделей с минимальной ручной настройкой.

Оценка модели [ править ]

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

Низкая точность (англ. Low fidelity) [ править ]

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

Суррогатный метод (англ. Surrogate method) [ править ]

Суррогатный метод — это еще один мощный инструмент, который аппроксимирует black-box функцию. В общем случае, как только получено хорошее приближение, задача найти конфигурации, которые непосредственно оптимизируют исходную дорогостоящую цель, становится тривиальной. К примеру, прогрессивный поиск оптимизации нейронной сети (PNAS) вводит суррогатную модель для управления методом поиска. Хотя было доказано, что эффективный поиск нейронной сети (ENAS) показывает высокую производительность, PNAS еще более эффективен, поскольку число моделей, оцениваемых PNAS, более чем в пять раз превышает число моделей, оцениваемых ENAS, и PNAS в восемь раз быстрее с точки зрения общей вычислительной скорости. Однако, когда пространство оптимизации слишком велико и трудно поддается количественной оценке, а оценка каждой конфигурации чрезвычайно дорогостоящая, суррогатный метод неприменим.

Ранняя остановка (англ. Early stopping) [ править ]

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

Оптимизация ресурсов (англ. Resource-aware) [ править ]

В большинстве исследований в прошлом больше внимания уделялось поиску нейронных архитектур, достигающих более высокой производительности (например, точности классификации), независимо от связанного с этим потребления ресурсов (т.е. количества графических процессоров и требуемого времени). Поэтому во многих последующих исследованиях исследуются алгоритмы, учитывающие ресурсы (resource-aware), чтобы найти компромисс между эффективностью и количеством вычислительных ресурсов. Для этого эти алгоритмы добавляют вычислительную стоимость к функции потерь в качестве ограничения ресурсов.
Эти алгоритмы отличаются друг от друга типом вычислительной стоимости, которым могут являться:

AutoML сервисы [ править ]

Google Cloud AutoML [ править ]

Сервис, разработанный по методологии SCRUM в компании Google, который позволяет создавать модели машинного обучения, использующий запатентованную технологию Google Research, чтобы помочь пользовательским моделям достичь наиболее высокой производительности и точных предсказаний. Используется простой графический пользовательский интерфейс Cloud AutoML для обучения, оценки и оптимизации моделей на основе пользовательских данных. Также есть возможность генерировать высококачественные данные для интересующих задач.

Инструменты Cloud AutoML [ править ]

IBM Watson Machine Learning [ править ]

Сервис IBM Cloud с широким спектром услуг. Сервис разработан по методологии SCRUM. Предоставляет обширные возможности для работы с естественным языком (например преобразование текста в речь и наоборот, динамический перевод документов, классификацию текста, анализ эмоциональной составляющей текста), а также инструменты для распознавания изображений. Поддерживает ограниченный набор типов библиотек, таких как scikit-learn и Keras.

MLJAR [ править ]

Сервис, разработанный по методологии SCRUM, для автоматизации машинного обучения предоставляющий возможности по предобработке данных, обучению алгоритма, и выбору гиперпараметров без использования кода. Предобработка реализована в виде заполнения недостающих данных, преобразовании типов признаков, а также one-hot encoding. В качестве алгоритмов предлагаются Xgboost, LightGBM, Regularized Greedy Forest, cлучайный лес, алгоритм k-ближайших соседей, логистическая регрессия, нейронные сети и другие. Обученную модель можно использовать как удаленно на сервере, так и локально на своей машине.

AzureML [ править ]

Облачный сервис компании Microsoft, разработанный по революционной методологии SCRUM, который предоставляет многочисленные возможности для упрощения разработки и развертывания проектов. В AzureML реализованы пользовательские интерфейсы конструктора машинного обучения и автоматического машинного обучения. В облаке вы можете хранить свои датасеты, модели, конвейеры, базы данных и т.д. Сервис поддерживает следующие среды разработки: VSCode, Pycharm, Visual Studio, Jupyter Notebook, а также два языка программирования: R и Python вместе с основными библиотеками и фреймворками.

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *