التعلم الآلي باستخدام JavaScript: مكتبات لـ Node.js — نظرة عامة وأمثلة

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

التعلم الآلي باستخدام JavaScript (Node.js): المكتبات والأدوات



على الرغم من أن Python لا تزال اللغة المهيمنة في مجال علوم البيانات، إلا أن نظام JavaScript البيئي (خاصة Node.js) يتطور بنشاط ويقدم أدوات قوية للتعلم الآلي. وهذا يسمح لمطوري الواجهة الأمامية والخلفية بتضمين نماذج التعلم الآلي مباشرة في تطبيقات الويب والحلول الخادمة وروبوتات الدردشة وحتى أجهزة إنترنت الأشياء. في هذه المقالة، سنستعرض المكتبات الرئيسية لـ Node.js التي تتيح تدريب الشبكات العصبية وتشغيل النماذج المدربة مسبقًا وتنفيذ مهام التعلم الآلي الكلاسيكية.



1. TensorFlow.js — إطار عمل قوي من Google

TensorFlow.js هو نسخة كاملة من TensorFlow الشهير بلغة JavaScript. يعمل في كل من المتصفح و Node.js، باستخدام WebGL أو CUDA (عبر @tensorflow/tfjs-node-gpu) لتسريع العمليات الحسابية. تتيح المكتبة تحميل النماذج المدربة مسبقًا (مثل MobileNet، PoseNet) وتدريب نماذج خاصة بك.



التثبيت:

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


مثال: شبكة عصبية بسيطة للانحدار

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

// إنشاء نموذج بسيط: y = 2x - 1const model = tf.sequential();model.add(tf.layers.dense({units: 1, inputShape: [1]}));

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

// بيانات التدريبconst xs = tf.tensor2d([-1, 0, 1, 2, 3, 4], [6, 1]);const ys = tf.tensor2d([-3, -1, 1, 3, 5, 7], [6, 1]);

async function train() { await model.fit(xs, ys, {epochs: 250}); model.predict(tf.tensor2d([10], [1, 1])).print(); // يجب أن يكون ~19}train();

TensorFlow.js مثالي لمهام الرؤية الحاسوبية ومعالجة اللغة الطبيعية والعمل مع السلاسل الزمنية مباشرة على الخادم.



2. Brain.js — شبكات عصبية للمهام البسيطة

Brain.js هي مكتبة خفيفة الوزن لإنشاء وتدريب الشبكات العصبية. سهلة التعلم، ولا تتطلب معرفة عميقة بالرياضيات، ومناسبة تمامًا للنماذج الأولية. تدعم الشبكات متعددة الطبقات، LSTM والشبكات المتكررة.



التثبيت:

npm install brain.js


مثال: 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] }], { iterations: 2000 });

const output = net.run([1, 0]); // ~0.97 (قريب من 1)console.log(output);

Brain.js مفيد للتصنيف والتنبؤ وتحليل النصوص (مثل تحديد المشاعر).



3. ML.js — مجموعة من الخوارزميات الكلاسيكية

ML.js هي مجموعة من الوحدات للتعلم الآلي التقليدي (بدون شبكات عصبية عميقة). تتضمن تطبيقات لـ KNN، و Naive Bayes، و SVM، وتجميع K-means، و PCA، وأشجار القرار وغيرها الكثير. كل خوارزمية هي حزمة npm منفصلة.



التثبيت (مثال مع KNN):

npm install ml-knn


مثال: تصنيف زهور القزحية (Iris)

const KNN = require('ml-knn');

// عينة التدريب: [طول الكأس، العرض، طول البتلة، العرض]const trainingSet = [[5.1, 3.5, 1.4, 0.2], [7.0, 3.2, 4.7, 1.4], [6.3, 3.3, 6.0, 2.5]];const labels = ['setosa', 'versicolor', 'virginica'];

const knn = new KNN(trainingSet, labels, {k: 3});const prediction = knn.predict([5.9, 3.0, 4.2, 1.5]); // 'versicolor'console.log(prediction);

ML.js لا غنى عنه للتنفيذ السريع للطرق الإحصائية عندما لا تكون الشبكات العصبية مطلوبة.



4. Natural — معالجة اللغة الطبيعية (NLP)

Natural هي مكتبة لمعالجة اللغة الطبيعية على Node.js. تتضمن الترميز، والاشتقاق (Porter, Lancaster)، والتصنيف (Naive Bayes، الانحدار اللوجستي)، و TF-IDF، وتحليل المشاعر، والمقارنة الصوتية.



التثبيت:

npm install natural<                    

توصيات