الوصف
LIBLINEAR هي مكتبة C/C++ قوية وفعالة مصممة لمهام التصنيف والانحدار الخطي على نطاق واسع. إنها مناسبة بشكل خاص لمجموعات البيانات التي تحتوي على ملايين الأمثلة والميزات، مما يجعلها خيارًا مثاليًا للتطبيقات التي تكون فيها الكفاءة الحسابية أمرًا بالغ الأهمية. تدعم المكتبة مجموعة من المصنفات المنظمة بـ L1 و L2، بما في ذلك آلات المتجهات الداعمة الخطية (SVM) والانحدار اللوجستي (LR). بالنسبة للمصنفات المنظمة بـ L1، فإنها تدعم SVM الخطي والانحدار اللوجستي. منذ الإصدار 1.9، تتضمن أيضًا انحدار المتجهات الداعمة المنظم بـ L2 (SVR) مع كل من خسارة L2 وخسارة L1، ومنذ الإصدار 2.40، آلات المتجهات الداعمة أحادية الفئة المنظمة بـ L2.
تشمل الميزات الرئيسية لـ LIBLINEAR توافقها مع تنسيق البيانات وأنماط الاستخدام لـ LIBSVM، وهو محلل SVM للأغراض العامة. توفر دعمًا قويًا للتصنيف متعدد الفئات من خلال استراتيجيات واحد ضد الباقي وطريقة Crammer & Singer. لتقييم النموذج واختياره، توفر LIBLINEAR إمكانيات التحقق المتقاطع واختيار المعلمات التلقائي. يمكنها أيضًا توفير تقديرات الاحتمالات لنماذج الانحدار اللوجستي وتسمح بوزن البيانات غير المتوازنة لتحسين الأداء على مجموعات البيانات غير المتوازنة.
LIBLINEAR متعددة الاستخدامات للغاية، حيث توفر واجهات للغات البرمجة الشائعة مثل MATLAB و Octave و Java و Python و Ruby. يتم تبسيط التثبيت من خلال مديري الحزم مثل pip لـ Python و vcpkg لـ C++. تُعرف المكتبة بسرعتها، حيث فازت بتحدي التعلم على نطاق واسع في ICML 2008 (مسار SVM الخطي) وتم استخدامها في الحلول الفائزة في KDD Cup 2010. إنها فعالة بشكل خاص للتطبيقات مثل تصنيف المستندات حيث تقدم النماذج الخطية أداءً مماثلاً للنماذج غير الخطية، مما يقلل بشكل كبير من وقت التدريب.
يتم صيانة المكتبة بنشاط، مع تركيز الإصدارات الأخيرة على تحسين عمليات التثبيت، وإصلاح مشكلات الواجهة، وتعزيز أداء المحلل. على سبيل المثال، قدم الإصدار 2.42 تبديلًا مباشرًا إلى محلل Newton الأولي عندما تصل محلات CD المزدوجة إلى حد التكرار الخاص بها، وأضاف الإصدار 2.43 دعمًا لتثبيت واجهة Python عبر PyPI. يتضمن أحدث إصدار، الإصدار 2.50، إعدادات محدثة لبناء العجلات وإصلاحات طفيفة في واجهة Python. LIBLINEAR هو مشروع مفتوح المصدر، يشجع على مساهمات المجتمع والتطوير.
الميزات الأساسية لـ LIBLINEAR
يدعم SVM الخطي المنظم بـ L2، و SVM الخطي بخسارة L1، والانحدار اللوجستي
يتضمن SVM الخطي المنظم بـ L1 والانحدار اللوجستي (بعد الإصدار 1.4)
يوفر انحدار المتجهات الداعمة المنظم بـ L2 (SVR) مع خسارة L2 وخسارة L1 (بعد الإصدار 1.9)
ينفذ آلات المتجهات الداعمة أحادية الفئة المنظمة بـ L2 (بعد الإصدار 2.40)
يستخدم نفس تنسيق البيانات واستخدام مشابه لـ LIBSVM
يدعم التصنيف متعدد الفئات باستخدام طرق واحد ضد الباقي وطريقة Crammer & Singer
يوفر التحقق المتقاطع لتقييم النموذج
يتميز باختيار المعلمات التلقائي
قادر على إنشاء تقديرات الاحتمالات للانحدار اللوجستي
يسمح بأوزان للبيانات غير المتوازنة
متوفر مع واجهات MATLAB و Octave و Java و Python و Ruby
التثبيت مدعوم عبر مديري الحزم مثل pip و vcpkg
دعم متعدد النوى لتسريع التدريب بشكل كبير على الأنظمة ذات الذاكرة المشتركة
البدء مع LIBLINEAR
التثبيت: قم بالتثبيت عبر مديري الحزم (مثل `pip install -U liblinear-official` لـ Python، أو استخدم vcpkg لـ C++).
إعداد البيانات: قم بتنسيق بياناتك وفقًا لمواصفات LIBLINEAR، بشكل مشابه لـ LIBSVM.
تدريب النموذج: استخدم أداة سطر الأوامر `train` أو الواجهات المقدمة لتدريب المصنفات أو المنحنيات الخطية.
ضبط المعلمات: استخدم ميزات التحقق المتقاطع واختيار المعلمات التلقائي للعثور على المعلمات الفائقة المثلى.
التنبؤ: استخدم النموذج المدرب لإجراء تنبؤات على مثيلات بيانات جديدة.
التكامل: قم بدمج LIBLINEAR في تطبيقاتك باستخدام واجهات اللغات المتاحة (Python، Java، MATLAB، إلخ).
حالات استخدام LIBLINEAR
- تصنيف المستندات
- الانحدار على نطاق واسع
- كشف البريد العشوائي
- تصنيف ميزات الصور
- أنظمة التوصية
- المعلوماتية الحيوية




