الانحدار متعدد الحدود: الأهمية ، التنفيذ خطوة بخطوة

نشرت: 2021-01-29

جدول المحتويات

مقدمة

في هذا المجال الواسع من التعلم الآلي ، ما هي الخوارزمية الأولى التي قد يدرسها معظمنا؟ نعم ، إنه الانحدار الخطي. نظرًا لكونه في الغالب أول برنامج وخوارزمية كان يمكن للمرء أن يتعلمها في أيامهم الأولى من برمجة التعلم الآلي ، فإن الانحدار الخطي له أهميته وقوته مع نوع خطي من البيانات.

ماذا لو كانت مجموعة البيانات التي وجدناها غير قابلة للفصل خطيًا؟ ماذا لو كان نموذج الانحدار الخطي غير قادر على اشتقاق أي نوع من العلاقة بين كل من المتغيرات المستقلة والمتغيرة التابعة؟

هناك نوع آخر من الانحدار يعرف باسم الانحدار متعدد الحدود. يعد الانحدار متعدد الحدود طبقًا لاسمه ، وهو عبارة عن خوارزمية انحدار تصمم العلاقة بين المتغير التابع (y) والمتغير المستقل (x) باعتباره متعدد الحدود من الدرجة n. في هذه المقالة ، يجب أن نفهم الخوارزمية والرياضيات الكامنة وراء الانحدار متعدد الحدود جنبًا إلى جنب مع تنفيذها في بايثون.

ما هو انحدار كثير الحدود؟

كما تم تعريفه سابقًا ، يعد الانحدار متعدد الحدود حالة خاصة من الانحدار الخطي حيث تتناسب معادلة متعددة الحدود بدرجة (n) محددة على البيانات غير الخطية التي تشكل علاقة منحنية بين المتغيرات التابعة والمستقلة.

ص = ب 0 + ب 1 × 1 + ب 2 × 1 2 + ب 3 × 1 3 + …… ب ن × 1 ن

هنا،

y هو المتغير التابع (متغير الإخراج)

x1 هو المتغير المستقل (تنبؤات)

ب 0 هو التحيز

b 1 ، b 2 ،… .b n هي الأوزان الموجودة في معادلة الانحدار.

عندما تصبح درجة المعادلة متعددة الحدود ( n ) أعلى ، تصبح المعادلة متعددة الحدود أكثر تعقيدًا وهناك احتمال أن يميل النموذج إلى الإفراط والذي سيتم مناقشته في الجزء التالي.

مقارنة معادلات الانحدار

الانحدار الخطي البسيط ===> y = b0 + b1x

الانحدار الخطي المتعدد ===> y = b0 + b1x1 + b2x2 + b3x3 + …… bnxn

الانحدار متعدد الحدود ===> y = b0 + b1x1 + b2x12 + b3x13 + …… bnx1n

من المعادلات الثلاثة المذكورة أعلاه ، نرى أن هناك العديد من الاختلافات الدقيقة فيها. يختلف الانحدار الخطي البسيط والمتعدد عن معادلة الانحدار متعدد الحدود من حيث أنه يحتوي على درجة واحدة فقط. يتكون الانحدار الخطي المتعدد من عدة متغيرات x1 و x2 وما إلى ذلك. على الرغم من أن معادلة الانحدار متعدد الحدود تحتوي على متغير واحد فقط x1 ، إلا أنها تحتوي على درجة n والتي تميزها عن المتغيرين الآخرين.

الحاجة إلى الانحدار متعدد الحدود

من المخططات أدناه يمكننا أن نرى أنه في الرسم التخطيطي الأول ، تمت محاولة احتواء الخط الخطي على مجموعة معينة من نقاط البيانات غير الخطية. من المفهوم أنه يصبح من الصعب جدًا على الخط المستقيم تكوين علاقة مع هذه البيانات غير الخطية. لهذا السبب عندما نقوم بتدريب النموذج ، تزداد وظيفة الخسارة مسببة الخطأ الكبير.

من ناحية أخرى ، عندما نطبق الانحدار متعدد الحدود ، فمن الواضح أن الخط يتناسب جيدًا مع نقاط البيانات. يشير هذا إلى أن المعادلة متعددة الحدود التي تناسب نقاط البيانات تستمد نوعًا من العلاقة بين المتغيرات في مجموعة البيانات. وبالتالي ، في مثل هذه الحالات التي يتم فيها ترتيب نقاط البيانات بطريقة غير خطية ، فإننا نطلب نموذج الانحدار متعدد الحدود.

تنفيذ الانحدار متعدد الحدود في بايثون

من هنا ، سنقوم ببناء نموذج التعلم الآلي في بايثون لتطبيق الانحدار متعدد الحدود. سنقارن النتائج التي تم الحصول عليها مع الانحدار الخطي والانحدار متعدد الحدود. دعونا نفهم أولاً المشكلة التي سنحلها باستخدام الانحدار متعدد الحدود.

وصف المشكلة

في هذا ، ضع في اعتبارك حالة شركة ناشئة تتطلع إلى توظيف عدة مرشحين من شركة. هناك فرص عمل مختلفة لأدوار وظيفية مختلفة في الشركة. لدى الشركة الناشئة تفاصيل الراتب لكل دور في الشركة السابقة. وبالتالي ، عندما يذكر المرشح راتبه السابق ، يحتاج الموارد البشرية للشركة الناشئة إلى التحقق من ذلك بالبيانات الموجودة. وبالتالي ، لدينا متغيرين مستقلين هما الموضع والمستوى. المتغير التابع (الناتج) هو الراتب الذي يمكن توقعه باستخدام الانحدار متعدد الحدود.

عند تصور الجدول أعلاه في رسم بياني ، نرى أن البيانات غير خطية بطبيعتها. بمعنى آخر ، نظرًا لأن المستوى يزيد من الراتب يزداد بمعدل أعلى ، مما يعطينا منحنىًا كما هو موضح أدناه.

الخطوة 1: المعالجة المسبقة للبياناتتتمثل الخطوة الأولى في بناء أي نموذج من نماذج التعلم الآلي في استيراد المكتبات. هنا ، لدينا ثلاث مكتبات أساسية فقط ليتم استيرادها. بعد ذلك ، يتم استيراد مجموعة البيانات من مستودع GitHub الخاص بي ويتم تعيين المتغيرات التابعة والمتغيرات المستقلة. يتم تخزين المتغيرات المستقلة في المتغير X والمتغير التابع يتم تخزينه في المتغير y.

استيراد numpy كـ np

استيراد matplotlib.pyplot كـ PLT

استيراد الباندا كما pd

dataset = pd.read_csv ('https://raw.githubusercontent.com/mk-gurucharan/Regression/master/PositionSalaries_Data.csv')

X = dataset.iloc [:، 1: -1] .values

y = dataset.iloc [:، -1] .values

هنا في المصطلح [: ، 1: -1] ، تشير النقطتان الأولى إلى أنه يجب أخذ جميع الصفوف ويشير المصطلح 1: -1 إلى أن الأعمدة التي سيتم تضمينها هي من العمود الأول إلى العمود قبل الأخير الذي تم تقديمه بواسطة -1.

الخطوة الثانية: نموذج الانحدار الخطيفي الخطوة التالية ، سنقوم ببناء نموذج الانحدار الخطي المتعدد واستخدامه للتنبؤ ببيانات الراتب من المتغيرات المستقلة. لهذا ، يتم استيراد الفئة LinearRegression من مكتبة sklearn. ثم يتم تركيبه على المتغيرين X و y لأغراض التدريب.

من sklearn.linear_model استيراد LinearRegression

Regressor = LinearRegression () الانحدار الخطي

regressor.fit (X، y)

بمجرد بناء النموذج ، عند تصور النتائج ، نحصل على الرسم البياني التالي.

كما هو واضح ، من خلال محاولة احتواء خط مستقيم على مجموعة بيانات غير خطية ، لا توجد علاقة مشتقة من نموذج التعلم الآلي. وبالتالي ، نحتاج إلى الذهاب إلى الانحدار متعدد الحدود للحصول على علاقة بين المتغيرات.

الخطوة 3: نموذج الانحدار متعدد الحدودفي هذه الخطوة التالية ، يجب أن نلائم نموذج الانحدار متعدد الحدود في مجموعة البيانات هذه ونتصور النتائج. لهذا الغرض ، نقوم باستيراد فئة أخرى من وحدة sklearn النمطية تسمى PolynomialFeatures حيث نعطي درجة المعادلة متعددة الحدود التي سيتم بناؤها. ثم يتم استخدام فئة الانحدار الخطي لتلائم المعادلة متعددة الحدود مع مجموعة البيانات.

من sklearn.preprocessing استيراد PolynomialFeatures

من sklearn.linear_model استيراد LinearRegression

poly_reg = ميزات متعددة الحدود (درجة = 2)

X_poly = poly_reg.fit_transform (X)

lin_reg = الانحدار الخطي ()

lin_reg.fit (X_poly، y)

في الحالة المذكورة أعلاه ، قدمنا ​​درجة المعادلة متعددة الحدود لتكون مساوية لـ 2. عند رسم الرسم البياني ، نرى أن هناك نوعًا من المنحنى مشتقًا ولكن لا يزال هناك انحراف كبير عن البيانات الحقيقية (باللون الأحمر ) ونقاط المنحنى المتوقعة (باللون الأخضر). وبالتالي ، في الخطوة التالية سنزيد درجة كثير الحدود إلى أرقام أعلى مثل 3 و 4 ثم نقارنها مع بعضها البعض.

عند مقارنة نتائج الانحدار متعدد الحدود بالدرجتين 3 و 4 ، نرى أنه كلما زادت الدرجة ، يتدرب النموذج جيدًا مع البيانات. وبالتالي ، يمكننا أن نستنتج أن الدرجة الأعلى تمكن المعادلة متعددة الحدود من أن تتلاءم بدقة أكبر مع بيانات التدريب. ومع ذلك ، فهذه هي الحالة المثالية للتجهيز الزائد. وبالتالي ، يصبح من المهم اختيار قيمة n بدقة لمنع فرط التجهيز.

ما هو Overfitting؟

كما يقول الاسم ، يُطلق على Overfitting حالة في الإحصائيات عندما تكون الوظيفة (أو نموذج التعلم الآلي في هذه الحالة) مناسبة جدًا لمجموعة من نقاط البيانات المحدودة. يؤدي هذا إلى ضعف أداء الوظيفة مع نقاط البيانات الجديدة.

في التعلم الآلي ، إذا قيل أن نموذجًا ما يتناسب مع مجموعة معينة من نقاط بيانات التدريب ، فعند تقديم نفس النموذج إلى مجموعة جديدة تمامًا من النقاط (على سبيل المثال مجموعة بيانات الاختبار) ، فإنه يؤدي بشكل سيء للغاية عليه باعتباره لم يتم تعميم نموذج overfitting بشكل جيد مع البيانات ولا يتم تضمينه إلا في نقاط بيانات التدريب.

في الانحدار متعدد الحدود ، هناك فرصة جيدة لأن يصبح النموذج أكثر من اللازم على بيانات التدريب مع زيادة درجة كثير الحدود. في المثال الموضح أعلاه ، نرى حالة نموذجية من التخصيص الزائد في الانحدار متعدد الحدود والذي يمكن تصحيحه فقط على أساس التجربة والخطأ لاختيار القيمة المثلى للدرجة.

اقرأ أيضًا: أفكار مشروع التعلم الآلي

خاتمة

في الختام ، يتم استخدام الانحدار متعدد الحدود في العديد من المواقف حيث توجد علاقة غير خطية بين المتغيرات التابعة والمستقلة. على الرغم من أن هذه الخوارزمية تعاني من الحساسية تجاه القيم المتطرفة ، إلا أنه يمكن تصحيحها بمعالجتها قبل تركيب خط الانحدار. وهكذا ، في هذه المقالة ، قدمنا ​​مفهوم الانحدار متعدد الحدود إلى جانب مثال على تنفيذه في برمجة بايثون على مجموعة بيانات بسيطة.

إذا كنت مهتمًا بمعرفة المزيد حول التعلم الآلي ، فراجع دبلوم PG في IIIT-B & upGrad's في التعلم الآلي والذكاء الاصطناعي المصمم للمهنيين العاملين ويقدم أكثر من 450 ساعة من التدريب الصارم ، وأكثر من 30 دراسة حالة ومهام ، IIIT- حالة الخريجين B ، أكثر من 5 مشاريع تتويجا عملية ومساعدة وظيفية مع أفضل الشركات.

تعلم دورة ML من أفضل الجامعات في العالم. احصل على درجة الماجستير أو برنامج PGP التنفيذي أو برامج الشهادات المتقدمة لتسريع مسار حياتك المهنية.

ماذا تقصد بالانحدار الخطي؟

الانحدار الخطي هو نوع من التحليل العددي التنبئي يمكننا من خلاله إيجاد قيمة متغير غير معروف بمساعدة متغير تابع. كما يشرح العلاقة بين متغير تابع ومتغير واحد أو أكثر. الانحدار الخطي هو أسلوب إحصائي لإثبات وجود صلة بين متغيرين. الانحدار الخطي يرسم خط اتجاه من مجموعة من نقاط البيانات. يمكن استخدام الانحدار الخطي لإنشاء نموذج تنبؤ من بيانات تبدو عشوائية ، مثل تشخيصات السرطان أو أسعار الأسهم. هناك عدة طرق لحساب الانحدار الخطي. نهج المربعات الصغرى العادي ، الذي يقدر المتغيرات غير المعروفة في البيانات ويتحول بصريًا إلى مجموع المسافات الرأسية بين نقاط البيانات وخط الاتجاه ، هو أحد أكثر الأساليب انتشارًا.

ما هي بعض عيوب الانحدار الخطي؟

في معظم الحالات ، يتم استخدام تحليل الانحدار في البحث لإثبات وجود صلة بين المتغيرات. ومع ذلك ، لا يعني الارتباط السببية لأن الارتباط بين متغيرين لا يعني أن أحدهما يتسبب في حدوث الآخر. حتى الخط في الانحدار الخطي الأساسي الذي يناسب نقاط البيانات جيدًا قد لا يضمن وجود علاقة بين الظروف والنتائج المنطقية. باستخدام نموذج الانحدار الخطي ، يمكنك تحديد ما إذا كان هناك أي ارتباط بين المتغيرات أم لا. ستكون هناك حاجة إلى تحقيق إضافي وتحليل إحصائي لتحديد الطبيعة الدقيقة للرابط وما إذا كان أحد المتغيرات يسبب الآخر.

ما هي الافتراضات الأساسية للانحدار الخطي؟

في الانحدار الخطي ، هناك ثلاثة افتراضات رئيسية. يجب أن يكون للمتغيرات التابعة والمستقلة ، أولاً وقبل كل شيء ، اتصال خطي. يتم استخدام مخطط مبعثر للمتغيرات التابعة والمستقلة للتحقق من هذه العلاقة. ثانيًا ، يجب أن يكون هناك حد أدنى أو صفر علاقة خطية متداخلة متعددة بين المتغيرات المستقلة في مجموعة البيانات. هذا يعني أن المتغيرات المستقلة ليست ذات صلة. يجب أن تكون القيمة محدودة ، والتي يتم تحديدها من خلال متطلبات المجال. اللواط هو العامل الثالث. يعد افتراض توزيع الأخطاء بالتساوي أحد أهم الافتراضات.