👓 تعلم الآلة للجميع - 1

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


نوعين من مقالات تعلم الآلة

  • شرح بنظريات ومعادلات تبدو للبعض أنها ألغاز وهي واضحه للشارح
  • شرح ومدح في المقال من بدايته إلى النهايه بدون معلومات او فائدة

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


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

ما هو الذكاء الإصطناعي؟

الذكاء الإصطناعي (Artificial intelligence) هو العلم الذي يهتم ببناء برامج قادرة على التفكير كالبشر، تعلم الآلة (Machine Learning) هو جزء منها ويهتم بإستخدام الخوارزميات للتعلم دون تدخل البشر، بينما التعلم العميق (Deep Learning) هو جزء من تعلم الآلة وهو قدرة الآلة على محاكاة العقل البشري، حيث يمكن للآلة إتخاذ القرارات وأداء المهام بدون تدخل. 1


لماذا نريد تعليم الآلة؟

لنأخذ مثال على السيارات، شخص ما يريد شراء سيارة وبعد بحث عميق في سوق السيارات اكتشف أن سعر سيارات هذه السنة ب100 ألف ريال، وجد أيضاً أن السيارات المستعملة والتي عمرها عام واحد سعرها 80 ألف، أما السيارات التي عمرها عامين سعرها 60 ألف وهكذا. ما نلاحظه هنا أن السيارة يقل سعرها سنوياً بمقدار 20 ألف. وأقل سعر تصل إليه هو 40 ألف مثلاً.

هذا مثال على الإنحدار (Regression) 2، وهو تنبؤ السعر بناءاً على معلومات سابقة.

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

هنا نستعين بالآلة، نقدم لها البيانات والمعلومات التي لدينا عن المنتجات، ونطلب منها إيجاد جميع الأنماط (Patterns) التي لا تبدو واضحه.


المكونات الأساسية لعلم الآلة

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

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

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

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


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

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


الإنتقال إلى تعلم الآلة للجميع - 2

كُتب في 08/02/2019