Эта статья была первоначально опубликована по адресу: 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”