Maschinelles Lernen mit JavaScript (Node.js): Bibliotheken für ML

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Maschinelles Lernen mit JavaScript (Node.js): Bibliotheken und Werkzeuge



Obwohl Python die dominierende Sprache für maschinelles Lernen bleibt, gewinnt JavaScript (insbesondere die Plattform Node.js) in diesem Bereich rasant an Popularität. Dies liegt an der Möglichkeit, Modelle direkt im Browser auszuführen, der Vereinheitlichung von Stacks (Full-Stack JS) und dem Aufkommen leistungsstarker Bibliotheken für die Arbeit mit neuronalen Netzen, linearer Algebra und Statistik. In diesem Artikel betrachten wir die wichtigsten Bibliotheken für maschinelles Lernen für Node.js, ihre Fähigkeiten und Anwendungsbeispiele.



1. TensorFlow.js — der Vorreiter des maschinellen Lernens in JS



TensorFlow.js ist ein Port des beliebten Google-Frameworks, das für JavaScript angepasst wurde. Es ermöglicht das Trainieren von Modellen von Grund auf, das Ausführen vortrainierter Modelle und die Durchführung von Inferenz sowohl in Node.js als auch im Browser. Die Bibliothek unterstützt GPU-Beschleunigung über WebGL (im Browser) oder CUDA (über ein Node.js-Addon).



Installation:

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


Beispiel: Lineare Regression

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

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

// Modell erstellenconst model = tf.sequential();model.add(tf.layers.dense({units: 1, inputShape: [1]}));

// Kompilierenmodel.compile({optimizer: 'sgd', loss: 'meanSquaredError'});

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


Wichtige Funktionen:

  • Vollständige Unterstützung neuronaler Netze (Convolutional, Recurrent, Transformer)
  • Laden von Modellen aus Keras (Python) und TensorFlow Hub
  • Arbeit mit Berechnungsgraphen und automatische Differenzierung
  • Integrierte Werkzeuge zur Visualisierung (tfjs-vis)


2. Brain.js — Einfachheit und Benutzerfreundlichkeit



Brain.js ist eine der einfachsten Bibliotheken zur Erstellung neuronaler Netze in JavaScript. Sie ist ideal für Anfänger und kleine Projekte. Sie unterstützt Feedforward- und rekurrente Netze (LSTM, GRU) sowie die Arbeit mit Zeitreihen.



Installation:

npm install brain.js


Beispiel: XOR-Klassifikation

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);


Besonderheiten:

  • Minimale Einstiegshürde — nur wenige Codezeilen erforderlich
  • Integrierte Unterstützung für Datennormalisierung
  • Möglichkeit zum Speichern und Laden trainierter Modelle im JSON-Format
  • Unterstützung für rekurrente Netze (LSTMTimeStep, GRUTimeStep)


3. Synaptic — modulare Architektur



Synaptic ist eine Open-Source-Bibliothek, die eine flexible Architektur zum Aufbau neuronaler Netze bietet. Sie ist unabhängig von externen Bibliotheken (außer reinem JS) und ermöglicht die Erstellung beliebiger Netzwerktopologien, einschließlich mehrschichtiger Perzeptrons, Netzwerke mit langer Kurzzeitgedächtnis (LSTM) und sogar kapselartiger Netze.



Installation:

npm install synaptic


Beispiel: Erstellen eines Perzeptrons

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

Empfehlungen