Aprendizaje automático en JavaScript (Node.js): bibliotecas para ML

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

Aprendizaje automático en JavaScript (Node.js): bibliotecas y herramientas



Aunque Python sigue siendo el lenguaje dominante para el aprendizaje automático, JavaScript (especialmente la plataforma Node.js) está ganando popularidad rápidamente en este campo. Esto se debe a la posibilidad de ejecutar modelos directamente en el navegador, la unificación de stacks (full-stack JS) y la aparición de potentes bibliotecas para trabajar con redes neuronales, álgebra lineal y estadística. En este artículo, revisaremos las bibliotecas clave de aprendizaje automático para Node.js, sus capacidades y ejemplos de uso.



1. TensorFlow.js — el buque insignia del aprendizaje automático en JS



TensorFlow.js es un puerto del popular framework de Google, adaptado para JavaScript. Permite entrenar modelos desde cero, ejecutar modelos preentrenados y realizar inferencias tanto en Node.js como en el navegador. La biblioteca admite aceleración por GPU a través de WebGL (en el navegador) o CUDA (a través de un addon de Node.js).



Instalación:

npm install @tensorflow/tfjs @tensorflow/tfjs-node


Ejemplo: regresión lineal

const tf = require('@tensorflow/tfjs-node');

// Datos de entrenamientoconst xs = tf.tensor2d([1, 2, 3, 4], [4, 1]);const ys = tf.tensor2d([2, 4, 6, 8], [4, 1]);

// Creación del modeloconst model = tf.sequential();model.add(tf.layers.dense({units: 1, inputShape: [1]}));

// Compilaciónmodel.compile({optimizer: 'sgd', loss: 'meanSquaredError'});

// Entrenamientomodel.fit(xs, ys, {epochs: 200}).then(() => { // Predicción model.predict(tf.tensor2d([5], [1, 1])).print();});


Capacidades clave:

  • Soporte completo para redes neuronales (convolucionales, recurrentes, transformers)
  • Carga de modelos desde Keras (Python) y TensorFlow Hub
  • Trabajo con grafos de cómputo y diferenciación automática
  • Herramientas integradas para visualización (tfjs-vis)


2. Brain.js — simplicidad y comodidad



Brain.js es una de las bibliotecas más simples para crear redes neuronales en JavaScript. Es ideal para principiantes y proyectos pequeños. Admite redes directas y recurrentes (LSTM, GRU), así como trabajo con series temporales.



Instalación:

npm install brain.js


Ejemplo: clasificación XOR

const brain = require('brain.js');const net = new brain.NeuralNetwork();

net.train([ {input: [0, 0], output: [0]}, {input: [0, 1], output: [1]}, {input: [1, 0], output: [1]}, {input: [1, 1], output: [0]}]);

const output = net.run([1, 0]); // ~0.98console.log(output);


Características:

  • Barrera de entrada mínima — solo unas pocas líneas de código
  • Soporte integrado para normalización de datos
  • Posibilidad de guardar y cargar modelos entrenados en JSON
  • Soporte para redes recurrentes (LSTMTimeStep, GRUTimeStep)


3. Synaptic — arquitectura modular



Synaptic es una biblioteca de código abierto que ofrece una arquitectura flexible para construir redes neuronales. No depende de bibliotecas externas (excepto JS puro) y permite crear topologías de red arbitrarias, incluidos perceptrones multicapa, redes de memoria a largo plazo (LSTM) e incluso redes de cápsulas.



Instalación:

npm install synaptic


Ejemplo: creación de un perceptrón

const synaptic = require('synaptic');

const { Layer, Network, Trainer } = synaptic;

const inputLayer = new Layer(2);const hiddenLayer = new Layer(3);const outputLayer = new Layer(1);

inputLayer.project(hiddenLayer);hiddenLayer.project(outputLayer);

const myNetwork = new Network({ input: inputLayer, hidden: [hiddenLayer], output: outputLayer});

const t

Recommendations