Машинное обучение и нейронные сети на PHP: библиотека PHP-ML

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

Это словосочетание, ровно как и «Нейронные сети», на слуху уже 2 года, и, как заявляют разнообразные эксперты, именно за этими вещами будущее.

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

PHP-ML — полноценная библиотека для работы с искусственным интеллектом, разработанная командой PHP-AI. В последнее время PHP-ML стала одной из самых популярных на GitHub. Как говорят сами создатели, пакет является «свежим подходом к машинному обучению на PHP». Из требований — установленная версия интерпретатора не ниже 7.0. Добавить разработку к своему проекту можно через Composer:

composer require php-ai/php-ml

Из возможностей:

  • Алгоритмы машинного обучения;
  • Перекрестная валидация;
  • Нейронные сети;
  • Препроцессинг;
  • Извлечение данных…
  • … и многое другое.

Простой пример по работе с классификацией

use Phpml\Classification\KNearestNeighbors;

$samples = [[1, 3], [1, 4], [2, 4], [3, 1], [4, 1], [4, 2]];
$labels = ['a', 'a', 'a', 'b', 'b', 'b'];

$classifier = new KNearestNeighbors();
$classifier->train($samples, $labels);

$classifier->predict([3, 2]); 
// возвращает 'b'

Также в отдельном репозитории доступны и другие примеры:

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

Тарас Сереванн, эксперт в области IT магии