اذهب إلى المحتوى

خطوات تنفيذ مشاريع تعلم الآلة


أحمد عصام النجار

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

مسارات تعلم الآلة

يمكن تقسيم تلك المسارات إلى ثلاثة، أولها مشاريع بيانات الأعمال التجارية أو يسمى ذكاء الأعمال business intelligence وثانيهما السلك الأكاديمي وثالثهما المشاريع الهندسية، وسنسرد الثلاثة والفرق بينهم في الفقرات الآتية.

تخصص ذكاء الأعمال التجارية في تعلم الآلة

في هذا النوع من المشاريع يعمل غالبًا محللو البيانات data analysts وعلماء البيانات data scientists على استخدام البيانات الضخمة لفهم اتجاهات وأداء الشركات، إذ تُستخدَم تلك التحليلات للتنبؤ بأفضل القرارات الواجب اتخاذها والتي قد تشكِّل صعودًا في سلم أهداف الشركات.

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

يمكنك معرفة المزيد بالرجوع إلى مقال الدليل الشامل إلى تحليل البيانات فمجال تحليل البيانات كبير وواسع جدًا.

التخصص الأكاديمي في تعلم الآلة

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

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

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

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

ما أعنيه أنه في كل تلك الحالات والمسارات الأكاديمية عدا كونك باحثًا متخصصًا في تعلم الآلة، فإن فهم كيف تعمل الخوارزمية التي تستخدِمها هو الجانب الضروري؛ أما لماذا تعمل الخوارزمية، فليس ضروريًا.

التطبيق في المشاريع الهندسية

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

قد تعمل مثلًا في إحدى الشركات المتخصصة فقط في الرؤية الحاسوبية Computer Vision، ففي ذلك الحال من الضروري أن تبدأ رحلتك بالبحث عن الخوارزميات التي تعمل بصورة جيدة في ذلك التخصص فقط ثم دراسة كل خوارزمية نظريًا وتطبيقها العملي، وكذلك قد تعمل في إحدى الشركات المتخصصة في معالجة اللغات الطبيعية natural language processing اختصارًا NLP، ففي تلك الحالة أيضًا عليك اختيار الخوارزميات المهمة المعروف عنها العمل في هذا التخصص، ثم دراسة تلك الخوارزميات نظريًا وتطبيقيًا.

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

كيفية تنفيذ مشاريع تعلم الآلة عمليًا

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

يمكن تقسيم خطوات مشاريع تعلم الآلة التطبيقية إلى خمس مراحل:

  1. تعريف المشكلة والمشروع
  2. تحضير وتهيئة البيانات
  3. فحص واختيار وضبط الخوارزميات
  4. تحسين النتائج
  5. تقديم النتائج

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

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

1. تعريف المشكلة والمشروع

ذكرنا في بداية مقال نظرة سريعة على مجال تعلم الآلة تعريف عالم الحاسوب توم ميتشل Tom Mitchell لتعلم الآلة، وكان كما يلي:

اقتباس

عندما يتم أمر برنامج الحاسوب للتعلم من الخبرة E ليقدر على القيام بالمهمة T والذي يتم تُحسَب دقته عبر مقياس الدقة P، فإذا استطاع البرنامج القيام بالمهمة T على قدر الدقة المحدد من P عن طريق التعلم من الخبرة E، فإن ذلك هو تعلم الآلة.

بناءً على ذلك يمكننا تحديد ما ترمز إليه تلك الرموز الموجودة في التعريف كما يلي:

  • الرمز E: يرمز هنا إلى البيانات، إذ أننا نمثِّل كل الخبرات التي نلقمها للخوارزمية على صورة بيانات، وتلك البيانات كلها يتم تشكيلها على صورة مصفوفات ومتجهات رياضية كما وصفنا من قبل.
  • الرمز T: وهي المهمة المراد إجراؤها، وقد سردنا بعضًا من تلك المهام من قبل مثل توقع سعر عقار ما أو تصنيف عملية تحويل أموال …إلخ.
  • الرمز P: يرمز إلى المعيار الذي على أساسه نستطيع تحديد نجاح المشروع من عدمه مثل قولنا أنّ معيار نجاح المشروع هو توقع أسعار العقارات بصورة صحيحة في 90٪ من الحالات على الأقل.

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

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

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

ولذلك، فإن من أهم التخصصات التي تخدم تخصص برمجة نماذج تعلم الآلة هو تخصص استخراج البيانات من الإنترنت web scraping، وذلك لأنّ تلك المهارة تعنى بكتابة برامج تعمل على تجميع البيانات تلقائيًا من مواقع الإنترنت، فمن المهم التفكير في عنصر البيانات جيدًا قبل البدء في باقي الخطوات التطبيقية.

يمكن كذلك في تلك المرحلة التفكير في الصورة النهائية للمنتج، إذ أنه من المفيد صناعة نموذج مبدئي prototype لترى المنتج النهائي المراد تحقيقه في نهاية المطاف عمومًا.

2. تحضير وتهيئة البيانات

عند توفر البيانات المناسبة للمشروع نبدأ أولًا بمعالجة تلك البيانات، إذ يلزم إجراء بعض العمليات على البيانات على الأغلب في المشاريع الحقيقية بناءً على الرؤية العامة للمشروع؛ لتُمرَّر تلك البيانات بعد تحضيرها إلى النموذج.

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

اختيار البيانات

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

معالجة البيانات

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

تحويل البيانات

في ذلك الطور تُجهَّز البيانات بصورة نهائية لتمريرها إلى النموذج، وقد تعود إلى تلك النقطة عدة مرات بناءً على نتائج النموذج المبدئي، إذ قد تحتاج إلى إعادة تحجيم بعض الأبعاد scaling أو تجميع بعضها aggregation أو تجزيء بعضها decomposition …إلخ، وذلك عبر هندسة الميزات feature engineering والتي تعني تحويل البيانات إلى الصورة الأمثل للنموذج للحصول على أعلى دقة في نهاية المطاف.

3. فحص واختيار وضبط الخوارزميات

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

في هذه المرحلة من الضروري تحديد الخوارزميات المنوط بها حل المشكلة المعرفة من قبلك في أولى الخطوات المذكورة، ففي حال برمجة نموذج يسعى مثلًا إلى توقع قيمة مستمرة continuous value مثل توقع قيمة عقار في إحدى المناطق السكنية، فسيقع حل تلك المشكلة تحت خوارزميات الانحدار مثل انحدار ريدج ridge regression وانحدار المربعات الصغرى الاعتيادية ordinary least squares regression، وبالتالي نستطيع في تلك المرحلة ولتلك المشكلة بالتحديد اختيار هاتين الخوارزميتين لتجربتهما، ثم ليقع اختيارنا على إحداهما في نهاية المطاف بناءً على معدل الدقة لكل منهما.

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

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

يوجد عدد من التقنيات والطرق المعنية بقياس معدل دقة الخوارزميات وأبسطها على الإطلاق تقسيم مجموعة البيانات الممررة إلى الخوارزمية إلى قسمين، إذ يمثل القسم الأول 80% من البيانات غالبًا ويمثل القسم الثاني 20%، بحيث يُستخدَم القسم الأول في تدريب الخوارزمية والقسم الثاني في اختبار النموذج بعد التدريب لمعرفة معدل الدقة، فقد نمرر مثلًا معظم العينات لتدريب الخوارزمية في مشروع توقع أسعار العقارات في إحدى المناطق، بحيث تحتوي تلك العينات على كل الأبعاد والتي من ضمنها المخرج المراد توقعه وهو السعر، ثم لاختبار النموذج تُمرَّر العينات المتبقية -أي عدد 20% من العينات- إلى وسيلة قياس معدل الدقة دون بعد المخرج -أي دون سعر كل عينة- لتتوقع الخوارزمية ذلك المخرج ثم مقارنة مخرج الخوارزمية مع المخرج الحقيقي في كل عينة.

من التقنيات المشابهة لقياس أداء الخوارزميات هي تقنية التقييم المتقاطع cross validation والتي تعتمد على فكرة تقسيم العينات إلى مجموعات متساوية في العدد بحيث تدعى كل مجموعة طية fold، إذ تدرب الخوارزمية على كافة الطيات ما عدا طية واحدة تترَك للنهاية لقياس معدل الدقة بالوسيلة ذاتها في الطريقة السابقة، بحيث تعامل الطية الأخيرة معاملة عينات الاختبار في الطريقة البسيطة أعلاه، أي طريقة 80% للتدريب و 20% للاختبار.

تُكرَّر العملية أعلاه مع تغيير الطيات في كل مرة، إذ تُدرَّب وتختبر الخوارزمية عدد الطيات، فإذا قُسِّمت مجموعة البيانات مثلًا إلى ثلاث طيات، فسيُدرَّب ويختبر النموذج ثلاث مرات كما يلي:

  • طية 1 و 2 للتدريب، والطية 3 للاختبار.
  • طية 1 و 3 للتدريب، والطية 2 للاختبار.
  • طية 2 و 3 للتدريب، والطية 1 للاختبار.

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

4. تحسين النتائج

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

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

قد نستخدِم في بعض الحالات في هذه المرحلة مجموعة خوارزميات ensemble methods للجمع بين نتائج خوارزميتين أو أكثر، إذ تتدرب كل خوارزمية على حدة وتُختبَر كل واحدة اختبارًا منفصلًا، ثم يُجمَع بين توقعات الخوارزميات في مخرج واحد عبر إحدى خوارزميات التجميع، ونزعم أنّ ذلك قد يفضي إلى معدل دقة أعلى من استخدام خوارزمية واحدة فقط في بعض الأحيان.

5. نشر النتائج

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

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

اقرأ أيضًا


تفاعل الأعضاء

أفضل التعليقات



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...