(Почти) все самые распространенные алгоритмы машинного обучения в Javascript

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

Мои воспоминания о том, что я узнал тогда, довольно туманны.

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

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

  • линейная регрессия
  • линейная регрессия со стохастическим градиентным спуском
  • логистическая регрессия со стохастическим градиентным спуском
  • линейный дискриминантный анализ
  • КОРЗИНА
  • наивный байес
  • классификатор КНН
  • Машина опорных векторов
  • расфасовка
  • повышение

Полный код доступен здесь. Каждый метод находится в отдельном файле .js в папке скриптов.

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

playgrd.com || facebook.com/playgrdstar || instagram.com/playgrdstar/