موثّق بالكامل (الالتقاط، والسمات، وبروتوكولات التقييم) · قرار النشر العلني قيد الدراسة
تصنيف حركات EMG
استخراج إشارة من بيانات صعبة القيود
≈59%
دقة تصنيف أربع حركات على أشخاص جدد (LOSO) · الصدفة 25%
≈29% ← ≈59%
الدقة على أشخاص جدد بعد رفع معدل أخذ العينات من 20Hz إلى 500Hz
15
سمة يدوية عبر 5 عائلات
المشكلة
مشروع بحثي لعميل: تصنيف أربع حركات يد (راحة، ثني، قبضة، قرص) من قناة EMG سطحية واحدة على الساعد، والهدف تشغيل يد اصطناعية. قيدان حكما كل شيء: القناة الواحدة تعني غياب أي معلومة مكانية، والثني والقرص يستخدمان المجموعة العضلية نفسها؛ وعدد الأشخاص صغير: 7 في مجموعة البيانات الأولى، و8 في الثانية، واثنان فقط في بعض التقييمات. والتسجيلات متصلة، وفي كل ملف حركة فترات راحة غير موسومة بين التكرارات.
الدور والمنهجية
(١) التشخيص قبل النمذجة: النماذج الأولى على 7 أشخاص بقيت قرب مستوى الصدفة، فكتبتُ برنامج تشخيص إحصائي بدل تجربة نموذج أكبر. التجربة الضابطة فيه حسمت الأمر: المصنّف حقق 45.0% على التسجيلات الحقيقية و56.5% على ضجيج غاوسي بالشكل نفسه. السبب كان حلقة Arduino التي تأخذ العينات بتردد 20Hz، بينما معلومات EMG تقع تقريبًا بين 20 و450Hz، فكل ما فوق 10Hz كان يتداخل (Aliasing). تعديل واحد في البرنامج الثابت (delay(50) ← delay(2)) رفع المعدل إلى 500Hz، وأُعيد التسجيل: 110 تسجيلات من 8 أشخاص. (٢) التنظيف: تشذيب حواف التسجيل، وفلتر Butterworth تمرير نطاق من الرتبة 4 ثنائي الاتجاه (20–249Hz)، وقصّ القفزات عبر RMS متحرك وعتبة IQR. ارتفع فصل الراحة عن النشاط بمقياس RMS من 1.8× إلى 3.7×. (٣) السمات: 15 سمة يدوية في خمس عائلات: زمنية (Waveform Length، وZCR، وSlope Sign Changes)، وطيفية (Mean Frequency عبر Welch PSD)، وتعقيد (Hjorth Mobility/Complexity، وSample Entropy)، وانحدار ذاتي (معاملات AR-Burg)، وطاقة المويجات (DWT db4، 3 مستويات)، إضافة إلى نسبة WL-to-MNF صمّمتُها لاستهداف الخلط بين الثني والقرص. (٤) بوابة النشاط: عتبة RMS تُسقط نوافذ الراحة غير الموسومة داخل تسجيلات الحركة. (٥) مقارنة النماذج: Random Forest، وXGBoost مضبوط بـOptuna، وCNN أحادي البعد، وCNN-LSTM، وخطّان هجينان CNN-XGBoost، لاختبار السمات اليدوية مقابل المتعلَّمة على هذا الحجم من البيانات. (٦) تدقيق التقييم: إعادة جدولة كل نتيجة بحسب بروتوكولها، من التقسيم العشوائي على مستوى النافذة إلى ترك شخص كامل خارج التدريب (LOSO)، ليُقرأ كل رقم مقابل ما يقيسه فعلًا.
التقنيات
الإنجاز والأثر
في الطرف الاصطناعي، الرقم الذي يهم هو الدقة مع شخص لم يره النموذج من قبل. ببروتوكول LOSO حقق XGBoost على 13 سمة يدوية 59.98% (شخصان محجوبان)، وحقق CNN-LSTM نسبة 58.89% على 8 أشخاص، مقابل 25% بالصدفة. فحص لاحق وجد كتلًا متطابقة طولها ثوانٍ مكرّرة في بعض التسجيلات (5.5% من النوافذ)، وهذا يرفع الرقمين ببضع نقاط، لذلك أذكرهما بقرابة 55–60%. ثلاث نتائج أهم من الرقم نفسه: تعديل معدل أخذ العينات نقل الدقة على أشخاص جدد من قرابة 29% إلى قرابة 59%، أكثر من كل تغييرات النمذجة في المشروع مجتمعة. والسمات اليدوية ساوت كل نماذج التعلّم العميق أو تفوّقت عليها على هذا الحجم من البيانات. والأخطاء المتبقية تقع حيث تتوقعها القناة الواحدة: 34% من نوافذ الثني تُصنَّف قرصًا.
عن رقم 87.09% من المشروع نفسه: جاء من تقسيم عشوائي على نوافذ متداخلة بنسبة 85%، وكل الأشخاص في طرفي التقسيم، مع عتبة نشاط استخدمت تصنيف الفئة على مجموعة الاختبار. هو يقيس قدرة النموذج على التعرّف على نوافذ قريبة مما تدرّب عليه، لا أداءه مع مستخدم جديد، لذلك لا يُعرض هنا كنتيجة. وتقرير المشروع نفسه يسمّي LOSO مقياسًا للنشر. الخطوة التالية تشغيل واحد: خط XGBoost بالسمات الخمس عشرة ببروتوكول LOSO، مع ملاءمة التطبيع داخل كل طيّة، وبوابة نشاط لا تعتمد على التصنيف، وحذف الكتل المكرّرة قبل التقطيع.
الروابط
- GitHub — قرار النشر قيد التحديد
- نسخة حيّة — مشروع بحثي غير منشور — لا توجد نسخة تجريبية

