هذا المشروع يهدف إلى تنفيذ خوارزمية الانحدار اللوجستي (Logistic Regression) من الصفر باستخدام Python بدون استخدام مكتبات تعلم الآلة الجاهزة مثل scikit-learn. الهدف من المشروع هو فهم كيفية عمل خوارزميات التصنيف في تعلم الآلة من الناحية الرياضية والبرمجية.
يقوم النموذج بتعلم العلاقة بين المدخلات (Features) والمتغير الهدف (Binary Target) من خلال استخدام دالة Sigmoid لتحويل المخرجات إلى احتمالات بين 0 و 1، مما يسمح للنموذج بأداء مهام التصنيف الثنائي (Binary Classification).
يعتمد تدريب النموذج على خوارزمية Gradient Descent لتحديث معاملات النموذج (Parameters) بطريقة تقلل من قيمة دالة الخسارة (Log Loss / Cross Entropy Loss)، والتي تقيس مدى اختلاف التوقعات عن القيم الحقيقية.
مراحل عمل النموذج:
تهيئة معاملات النموذج (Theta) بقيم عشوائية.
حساب التوقعات باستخدام دالة Hypothesis (Sigmoid Function).
حساب Log Loss لقياس أداء النموذج.
حساب Gradient الخاص بدالة الخسارة.
تحديث معاملات النموذج باستخدام Learning Rate.
تسجيل قيمة الخسارة بعد كل دورة تدريب لمتابعة تحسن النموذج.
إيقاف التدريب عندما يصبح التغير في الخسارة صغيرًا جدًا (Convergence) أو عند الوصول إلى الحد الأقصى من الدورات التدريبية.
ما يميز المشروع:
تنفيذ خوارزمية Logistic Regression بالكامل من الصفر.
تطبيق عملي لفهم Gradient Descent و Cross Entropy Loss.
تتبع تطور قيمة الخطأ أثناء التدريب لتحليل تقارب النموذج.
كود قابل للتطوير لإضافة تحسينات مثل Regularization أو Mini-batch Gradient Descent.
يساعد هذا المشروع على بناء فهم قوي لأساسيات Machine Learning Algorithms وكيفية تدريب نماذج التصنيف قبل الاعتماد على المكتبات المتقدمة.