JavaScript للتعلم الآلي: أدوات عملية وأمثلة كود

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

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

ابدأ الدورة

JavaScript للتعلم الآلي: أدوات عملية وأمثلة كود



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



مكتبات ML في JavaScript



النظام البيئي لـ JavaScript يتطور بنشاط. إليك الأدوات الرئيسية للعمل مع البيانات والنماذج:



  • TensorFlow.js — نسخة من الإطار المعروف من Google. يتيح تدريب النماذج مباشرة في المتصفح أو على Node.js.
  • Brain.js — مكتبة بسيطة للشبكات العصبية. مثالية لـ تعلم المفاهيم الأساسية.
  • ml.js — مجموعة من الأدوات للانحدار، التجميع، والتصنيف.
  • Natural — مكتبة لمعالجة اللغة الطبيعية (NLP).


لننظر إلى مثال باستخدام TensorFlow.js. التثبيت عبر npm:



npm install @tensorflow/tfjs


الآن لنكتب انحداراً خطياً بسيطاً:



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

// إنشاء نموذجconst model = tf.sequential();model.add(tf.layers.dense({units: 1, inputShape: [1]}));

// ترجمةmodel.compile({loss: 'meanSquaredError', optimizer: 'sgd'});

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

// التدريبmodel.fit(xs, ys, {epochs: 250}).then(() => { // التنبؤ model.predict(tf.tensor2d([5], [1, 1])).print();});


ستكون النتيجة قريبة من 9 (لأن 2*5 - 1 = 9). يوضح هذا المثال مدى سهولة البدء في تعلم نموذج باستخدام JavaScript.



قيود JavaScript في ML



على الرغم من سهولة الاستخدام، هناك قيود مهمة:



  • الأداء: JS أقل كفاءة من Python في الحسابات العددية. يستخدم TensorFlow.js WebGL، لكن النماذج المعقدة تعمل بشكل أبطأ.
  • النظام البيئي: مكتبات ML أقل من Python. لا توجد بدائل لـ PyTorch أو scikit-learn.
  • المجتمع: معظم الأمثلة والحلول تكون بلغة Python. من الصعب العثور على خطوط أنابيب جاهزة لـ JS.
  • الموارد: Node.js غير محسّن للعمل مع GPU (على الرغم من وجود حلول تجريبية).


ومع ذلك، بالنسبة للمشاريع الصغيرة، النماذج الأولية، وتطبيقات الويب، فإن JS مناسبة تماماً. خاصة إذا كنت تعرف بالفعل JavaScript ولا ترغب في تعلم لغة جديدة.



مثال عملي: تصنيف النصوص باستخدام Node.js



سنستخدم مكتبة Natural لتحديد المشاعر في مراجعة. هذا مفيد لروبوتات الدردشة أو تحليل التعليقات.



التثبيت:



npm install natural


كود المصنف:



const natural = require('natural');const classifier = new natural.BayesClassifier();

// التدريب على الأمثلةclassifier.addDocument('منتج ممتاز', 'إيجابي');classifier.addDocument('جودة سيئة', 'سلبي');classifier.addDocument('مقبول لكن غالي', 'محايد');

classifier.train();

// الاختبارconsole.log(classifier.classify('سيء جداً')); // سلبيconsole.log(classifier.getClassifications('شيء رائع'));


يوضح هذا المثال كيف تتعامل JavaScript مع مهام NLP. لـ برمجة مثل هذه الحلول، لا تحتاج إلى معرفة عميقة بالرياضيات — المكتبة تفعل كل شيء بنفسها.



متى تختار JavaScript لـ ML؟



إليك السيناريوهات التي تكون فيها JS مبررة:



  • تطبيقات الويب: النموذج يعمل

المدونات

توصيات الكتب