Библиотека ml5.js предоставляет высокоуровневый интерфейс для работы с моделями машинного обучения в браузере, облегчая интеграцию числовых, текстовых и визуальных данных в интерактивные приложения. Понимание форматов входных данных является ключевым для корректного использования моделей и получения точных предсказаний.
Числовые данные в ml5.js обычно используются для регрессии, классификации и обучения простых нейронных сетей. Основные форматы:
Одиночные значения – представляют собой одно число, передаваемое модели. Используются для задач, где каждый пример описывается одной величиной (например, температура, возраст).
Массивы чисел – чаще всего применяются для
описания векторов признаков. Например, для задачи предсказания стоимости
недвижимости один объект может содержать массив
[площадь, количество комнат, этаж, удалённость от центра].
Для передачи чисел в ml5.js чаще всего применяются обычные массивы JavaScript:
const features = [180, 75, 30]; // рост, вес, возраст
model.predict(features).then(result => console.log(result));
Ключевой момент: массивы должны иметь одинаковую длину для всех примеров, иначе модель не сможет корректно обучиться или сделать предсказание.
Строки применяются для работы с текстом: классификация, генерация текста, анализ тональности. В ml5.js используются следующие подходы:
LSTM или RNN. Модель сама выполняет
токенизацию и векторизацию текста:const inputText = "Сегодня солнечная погода";
charRNN.predict(inputText, 100, (err, result) => {
console.log(result.sample);
});
Особенности работы с текстом:
Изображения являются одним из наиболее часто используемых типов данных в ml5.js благодаря встроенным моделям для распознавания объектов и стилей. Основные форматы входных изображений:
<img>),
HTMLVideoElement (<video>),
HTMLCanvasElement (<canvas>). Это
стандартные DOM-элементы, которые можно передавать напрямую в
модель:const image = document.getElementById('inputImage');
imageClassifier.classify(image).then(results => console.log(results));
p5.js объекты. В связке с p5.js изображение
может быть загружено через loadImage() и передано в модель
напрямую.
Массивы пикселей (Uint8Array или Float32Array).
При использовании кастомных моделей иногда требуется нормализовать
значения пикселей в диапазоне [0, 1] или
[-1, 1] в зависимости от архитектуры нейросети.
Ключевые моменты при работе с изображениями:
[0, 1], что повышает
стабильность предсказаний.Использование корректного формата данных позволяет эффективно интегрировать модели ml5.js в интерактивные веб-приложения и добиваться высокой точности предсказаний без дополнительной ручной обработки.