شرحت في الدرسين الانحدار الخطي والانحدار الخطي المتعدد كيف يمكن البحث عن أفضل نموذج (model) باستخدام التحسين (optimization) بالبحث عن المعاملات (coefficients أو parameters) التي تعطينا أقل خطأ. هناك طريقة أخرى لحساب المعاملات في الانحدار الخطي عن طريق الحل الرياضي باستخدام ما يطلق عليه Normal equation. لفهم المعادلة تحتاج إلى خلفية عن الجبر الخطي (Linear Algebra)، هذه مراجعة كتبتها سابقاً فيها ما تحتاجه لفهم المعادلة.
للتذكير، الهدف من الانحدار الخطي إيجاد المعاملات (w) التي تعطينا أقل خطأ (residual error). التوقع () ممكن يحسب عن طريق المعادلة التالية:
وممكن تكتب باستخدام المتجهات بالشكل التالي:
لحساب الخطأ نستخدم معادلة RSS:
المتغير y هنا هو القيمة التي نعرفها للعينة، والمفترض أن يتم توقعها بشكل صحيح.
في البداية نحتاج أن نضع كل المدخلات في مصفوفة، والمخرجات (أو الهدف) في متجه. المدخلات هي الخصائص التي شرحتها في درس الانحدار الخطي، مثل حجم المنزل وعدد الغرف في مثال توقع أسعار المنازل. والمخرجات هي النتيجة المطلوبة، وهي في هذا المثال أسعار المنازل. المدخلات سنمثلها في المصفوفة X كالتالي:
حيث m هو عدد العينات (كل صف يمثل عينة)، و n عدد الخصائص (الأعمدة) لكل عينة. في العمود الأول يتم وضع واحد قيمة للـ bias ()، وهو ما يقابل التقاطع الذي شرحته في درس الانحدار الخطي. وبنفس الطريقة نستطيع تمثيل المخرجات في المتجه y كالتالي:
ووضعناها في متجه لأنه لدينا قيمة واحدة فقط للمخرجات، وهي السعر. يمكننا الآن كتابة المعادلة بالطريقة التالية (راجع معادلة الخط المستقيم في الدروس السابقة) لنحل w:
وللتوضيح، سيكون شكلها هكذا:
نحتاج الآن أن نحل المعادلة لنحصل على القيم w. لحل w نضرب الطرفين في منقول X (لمراجعة العمليات التي سنستخدمها):
لنتخلص من في طرف w، نضرب معكوسها في الطرفين (على افتراض أنها قابلة لذلك):
وهكذا نحصل على معادلة Normal equation التالية:
تنبيه: حاولت الاختصار قدر المستطاع بدون إخلال لإيصال الفكرة الأساسية، ومن أراد الاستزادة ومعرفة لماذا هذه المعادلة تعطينا نتيجة مشابهة لاستخدام Gradient Descent فيمكنه مراجعة هذه الصفحة.
متى أستخدم Normal Equation؟
كما رأينا، فباستخدام هذه المعادلة يمكن حل الانحدار الخطي بدون خوارزمية Gradient Descent، التي تتطلب غالباً العديد من التكرارات (loops) لحلها. كذلك، لا نحتاج أن نبحث عن أفضل قيم (hyper-parameters) لتعمل الخوارزمية، مثل معدل التعلم في Gradient Descent. ولكن مشكلة Normal equation أن تعقيد الخوارزمية لحل المعادلة مرتبط طردياً بعدد الخصائص (تقريباً )، وذلك بسبب عمليات حساب المعكوس. فكلما زاد عدد الخصائص زادت العمليات لحل المعادلة مما يستلزم وقتاً أكبر. لهذا إذا كانت الخصائص قليلة فيمكنك استخدام Normal equation، وإذا كانت كثيرة جداً فيفضل حينها استخدام Gradient Descent كما تم شرحه في الدرسين السابقين.
احياناً
احد القيم الذاتية للمصفوفة {{mathbf{X}^T\mathbf{X} تكون بصفر، المحدد لها سوف يكون بصفر. في هذه الحالة لانستطيع ايجاد معكوس المصفوفة، اي لايمكن استخدام الحل الرياضي العادي.
السلام عليكم دكتور فارس هل اجد لديك بعض المراجع السلسه ل linear algebra?
وجزاك الله خيراً
هذا الكتاب أعتقد أنه مناسب:
Elementary Linear Algebra, Howard Anton
طبعاً هذا كتاب رياضيات، ولكنه مناسب بشكل عام للقراءة من غير المختصين. وهو يدرس في العديد من الجامعات.
وهذه مراجعة سريعة للمفاهيم الأساسية لللجبر الخطي:
http://cs229.stanford.edu/section/cs229-linalg.pdf
يفضل استخدام normal equation في حال features اقل من 10,000
عدم وجود معكوس لبعض المصفوفات , قد تكون من بعض الاسباب
– كثره features بحيث ان بعض features تتداخل خصائهم مثلا احدهم حساب المساحه بالمتر والاخر بالانش
– عدد العينات اقل من عدد features
المذكور اعلاه حسب dr. ِAndrew
شكراً على الإضافة 🙂
معلومات قيمة جداً تفيد في عدة مجالات خاصة من يريد التمعق في مجال الذكاء الاصطناعي وعلم البيانات
ﻷن اغلب الاوقات نرى اشخاص يتعاملون مع مكتبات الذكاء الاصطناعي كصندوق اسود ولايفهمون المنطق الرياضي الذي يجري داخله
شكراً جزيلاً