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

Поскольку сложность ML увеличивается из-за нескольких факторов, в последние несколько лет наблюдается всплеск AutoML. Целью автоматического ML является максимальное упрощение взаимодействия пользователя с базовыми алгоритмами ML. Просто для примера: несколько приложений BI, таких как Tableau, Power BI и т. д., во многих случаях выполняют алгоритмы машинного обучения всего за несколько кликов, сводя к минимуму ввод данных пользователем.

Несмотря на то, что Tableau или PowerBI могут выполнять алгоритмы машинного обучения, такие как регрессия, классификация и т. д., они не лучший выбор для выполнения сложных алгоритмов машинного обучения. В настоящее время многие алгоритмы машинного обучения обычно выполняются в Mathematica, Python, Matlab, Octave и т. д. Это программное обеспечение обычно является лучшим выбором, когда нужно выполнять сложные алгоритмы машинного обучения.

Однако по мере развития технологий и искусственного интеллекта у многих компаний в бизнес-секторе может не хватить бюджета (или желания сэкономить), чтобы позволить персоналу выполнять алгоритмы BI ML. В связи с этим такие компании могут искать программное обеспечение, которое может выполнять ML практически без кода, сводя к минимуму взаимодействие пользователя с базовым алгоритмом ML. Одним из таких программ является Neuton-AutoML. В этой статье я расскажу о наиболее важных аспектах Neuton-AutoML и о том, почему он очень полезен во многих аспектах для крупных компаний, которые не очень разбираются в ML, но должны использовать его в своем бизнесе.

Что такое Neuton-AutoML и что он делает?

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

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

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

  1. Запатентованный алгоритм оптимизации. Алгоритм Neuton позволяет платформе не основывать свои вычисления на обратном распространении ошибок и стохастическом градиентном потомке. Этот аспект сводит к минимуму вероятность встречи с локальными минимумами.
  2. Нет ручного поиска параметров нейронной сети. Эта функциональность освобождает пользователя от случайного поиска таких параметров, как количество слоев, размер партии, скорость обучения.
  3. Рост структуры нейрон за нейроном. Эта функциональность позволяет изучать от общих функций до наиболее специфических и выбирать практически любую точность и размер модели, необходимые для решения задачи.
  4. Выборочный подход к выбранным функциям. Эта характеристика Neuton помогает устанавливать только необходимые нейронные связи при создании модели, не позволяя структуре произвольно расти.

Практический аспект Neuton

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

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

  1. Набор данных должен быть файлом CSV с использованием кодировки UTF-8 или ISO-8859-1.
  2. Набор данных должен иметь как минимум 2 столбца или строки.
  3. В наборе данных не должно быть пустых столбцов.
  4. Обратите внимание на повторяющиеся строки: повторяющиеся строки будут удалены из обучающего набора на этапе предварительной обработки, что может привести к несоответствию требованиям к минимальному размеру набора данных и количеству выборок.
  5. Первая строка в наборе данных должна содержать имена столбцов, а в качестве разделителя должны использоваться запятая, точка с запятой, вертикальная черта, знак вставки или табуляция. CRLF или LF следует использовать в качестве символа конца строки. Разделитель и символ конца строки должны быть согласованы внутри набора данных.
  6. Все имена столбцов должны быть уникальными и содержать только буквы (a–z, A–Z), цифры (0–9), дефисы (-) или символы подчеркивания (_).
  7. Все пустые значения должны быть исключены из целевой переменной.
  8. Для типов задач регрессии целевая переменная должна иметь только числовые значения.
  9. Для типов задач классификации необходимо предоставить не менее десяти образцов для каждого класса целевой переменной.

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

После выбора набора данных следующие шаги алгоритма Neuton ML следующие:

  1. Выбрать данные для обучения
  2. Обучить выбранную модель
  3. Создавайте прогнозы

Чтобы помочь вам лучше понять, как работает Neuton AutoML, я покажу всего несколько изображений процедуры проверки поезда для набора данных о жилье. После того, как вы зарегистрировались на веб-сайте Neuton, вы нажимаете кнопку «Добавить новое решение», и вам будет представлено следующее окно:

После того, как вы нажмете «Далее», вам будет представлено новое диалоговое окно. Нажав на вкладку с предварительно загруженным набором данных, вы увидите следующее окно:

На рис. 2 я отмечаю опцию «Цены на жилье (регрессия)» и нажимаю «ОК», чтобы продолжить. После этого появится следующее диалоговое окно:

Нажав кнопку OK, вы увидите следующее диалоговое окно:

На рис. 4 можно выбрать, какую функцию использовать в качестве целевой переменной y. В этом примере я выбираю переменную SalePrice в качестве целевой переменной. Нажав кнопку «Далее», вы увидите следующее окно:

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

Результаты обучения

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

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

Как видно из рис. 6, Neuton в конце процесса обучения выдает пользователю подробную информацию о полученных результатах. Например, на обучение модели ушло примерно 8 минут 7 секунд. Если щелкнуть кнопку «Журнал» на рис. 6, будет представлена ​​следующая информация.

Как видно из рис. 7, Neuton, по сути, начинает с создания виртуальной машины, затем предварительно обрабатывает данные, затем разрабатывает функции и т. д. Если пользователь нажимает кнопку «Метрики», то отображается следующая информация.

На рис. 8 представлена ​​сводка метрических показателей разделенного процесса обучения и тестирования. Результаты были получены путем применения изученной функции к проверочному тесту. Можно видеть, что ошибка MSE довольно велика, как и следовало ожидать для набора данных о ценах на жилье. Neuton по умолчанию выбирает ошибку RMSLE, которая очень мала, RMSLE = 0,139326.

Чтобы увидеть, хорошо ли работает модель, можно также использовать Коэффициент детерминации R² = 0,88, что является очень хорошим выходным результатом. Все эти метрики дают разные результаты, и это полностью зависит от пользователя, какую из них использовать и как ее интерпретировать.

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

Выводы

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

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

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

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

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