Рубрики
Без рубрики

6 библиотеки машинного обучения для JavaScript

Эта статья была первоначально опубликована по адресу: https: //www.blog.duomly.com/6-top-machine-learning-librarie … Tagged MachineLearning, JavaScript, программирование, новички.

Эта статья была первоначально опубликована по адресу: https://www.blog.duomly.com/6-top-machine-learning-libraries-for-javascript-in-2019/

Обычно люди применяют методы машинного обучения (ML) и алгоритмы, используя один из двух языков программирования: Python или R. Книги, курсы и учебные пособия по машинному обучению, чаще всего используют один из этих языков (или обоих).

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

  • Они подходят для неправомерных,
  • У них есть всеобъемлющие библиотеки ML.
  • Во многих случаях алгоритмы ML реализованы в Fortran, C, C ++ или цинтоне и вызываются из Python или R.

Java также используется для машинного обучения, но обычно профессиональными программистами.

В течение последних нескольких лет JavaScript приобрел популярность, и некоторые очень интересные библиотеки машинного обучения, по -видимому, обеспечили реализацию методов ML в браузерах или на Node.js. Удивительно, но многие из таких библиотек реализуют много кода в самом JavaScript.

В этой статье представлены несколько библиотек с открытым исходным кодом для JavaScript:

  • Ml.js,
  • Tensorflow.js,
  • Brain.js,
  • Conveltjs,
  • Webdnn,
  • естественный.

ML.JS

ML.JS-это всеобъемлющая библиотека JavaScript ML общего назначения для браузеров и Node.js. Он предлагает процедуры для:

  • Битовые операции на массивах, хэш -таблицах, сортировке, генерации случайных чисел и т. Д.
  • Линейная алгебра, манипуляции с массивом, оптимизация (метод Левенберга-Маркварда), статистика,
  • Перекрестная проверка,
  • Контролируемое обучение,
  • Неконтролируемое обучение.

Поддерживаемые методы обучения под контролем:

  • Линейная, полиномиальная, экспоненциальная и силовая регрессия,
  • К-ближайшие соседи,
  • Наивный Байес,
  • Поддержка векторных машин,
  • Деревья решений и случайный лес,
  • Нейронные сети при питании и т. Д.

Кроме того, ML.JS предлагает несколько неконтролируемых методов обучения:

  • Анализ главных компонентов,
  • Кластерный анализ (K-средние и иерархические кластеризации),
  • Самоорганизационные карты (сети Кохонена).

Лицензия: MIT.

Tensorflow.js

Tensorflow – одна из самых популярных библиотек машинного обучения. Он фокусируется на различных типах и структурах искусственных нейронных сетей, включая глубокие сети, а также на компоненты сетей. Tensorflow создается командой Google Brain и написана в C ++ и Python. Однако его можно использовать с несколькими языками, включая JavaScript.

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

Tensorflow.js – это библиотека ML JavaScript для использования в браузерах или на node.js. Он поддерживает WebGL.

Лицензия: Apache 2.0.

Brain.js

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

Он предоставляет расширенные варианты, такие как:

  • Использование графического процессора для обучения сети
  • Асинхронное обучение, которое может соответствовать нескольким сетям параллельно
  • Перекрестная проверка, которая является более сложным методом проверки

Brain.js сохраняет и загружает модели в/из файлов JSON.

Лицензия: MIT.

Conveltjs

Convnetjs – еще одна библиотека для нейронных сетей и глубокого обучения. Это позволяет обучать нейронные сети в браузерах. В дополнение к проблемам классификации и регрессии, он имеет модуль обучения подкрепления (с использованием Q-обучения), который все еще экспериментальный. ConvnetJS обеспечивает поддержку сверточных нейронных сетей, которые превосходят в распознавании изображений.

В Conveltjs нейронные сети являются списками слоев. Он обеспечивает следующие слои:

  • Входной (первый) слой
  • Полностью соединенный слой
  • Сверток слой
  • Объединение слоя
  • Локальный слой нормализации контрастности
  • Потери классификаторов (выходные) слои: Softmax и SVM
  • Уровень потерь регрессии (выходной), который использует L2

Он поддерживает несколько важных функций активации, таких как:

  • Рельеф
  • Сигмоидальный
  • Гиперболическая касательная
  • Использовать полностью

а также оптимизаторы, такие как:

  • Стохастический градиент спуск
  • Ададельта
  • Адаград
  • Convnetjs также предоставляет удобный способ сохранения и загрузки моделей в/из файлов JSON.

Лицензия: MIT.

Webdnn

WebDNN – это библиотека, ориентированная на глубокие нейронные сети, включая повторяющиеся нейронные сети с архитектурой LSTM. Он написан в TypeScript и Python и предлагает JavaScript и Python API.

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

Очень удобная особенность WebDNN – это возможность преобразовать и использовать модели, предварительно предварительные с помощью Pytorch, Tensorflow, Keras, Caffemodel или Chainer.

Лицензия: MIT.

естественный

Natural – это библиотека JavaScript для обработки естественного языка, используемой с Node.js.

Он поддерживает:

  • Токенизация (разбивая текст на массивы струн)
  • Расчет расстояний строк
  • Сопоставление похожих строк
  • Классификация (наивная байеса, логистическая регрессия и максимальная энтропия)
  • Анализ настроений (в настоящее время на восьми языках)
  • Фонетическое соответствие, инфекторы, н-граммы и т. Д.

Лицензия: MIT.

Вывод

И JavaScript, и машинное обучение приобретают большое внимание и популярность в течение последних нескольких лет. Несмотря на то, что изначально создавался для обеспечения динамического поведения веб -страниц, JavaScript становится одним из языков, которые выбирают для реализации и применения методов машинного обучения, особенно в браузерах или серверах (node.js).

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

Получайте их, изучая их!

Оригинал: “https://dev.to/duomly/6-machine-learning-libraries-for-javascript-463j”