2018/05/16

بالعربي كيف يعمل ال Machine Learning بصورة مبسطة

مقدمة

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

الذكاء الاصطناعي في حياتنا

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

الذكاء الاصطناعي Artificial Intelligence

يوجد للذكاء الاصطناعي تعاريف كثيرة ولكن التعريف الذي اجده مناسب هو "الاساليب التي تتبعها البرامج لتحاكي قدرات البشر من حيث التعلم والاستنتاج على اشياء لم تبرمج بها من قبل" وهو يعتبر علم كبير وله اساليب كثيرة ومن اهم هذه الاساليب هي اساليب تعلم الالة او ال Machine Learning.
 

تعلم الاله Machine Learning

هي باختصار شديد ان البرامج تستطيع ان تتعلم من البيانات التي لديها لاستنتاج معلومات لم تكن تعرفها من قبل وهذا هو محور حديثنا في هذا المقال وللتوضيح انظر المثال التالي

تحديد سعر المنزل

تخيل معي انك صاحب منزل وتريد بيعه ولكن لا تعرف السعر المفترض ان تبيع به وتريد من برنامج حاسوب يعمل بتقنيات ال Machine Learning ان يحسب لك السعر المناسب لبيع هذا المنزل
وتخيل ايضا ان المحدد الوحيد لتحديد سعر المنزل هو المساحة وذلك للتبسيط فقط
ليستطيع البرنامج تحديد سعر المنزل لابد ان تقوم بتغذيته ببيانات سابقة عن اسعار و مساحات منازل تم بيعها من قبل حتى يستطيع التعلم منها ولكن ليس من ضمنها مساحة منزلك مثلا

تخيل معي ان البيانات التي غذيت بها البرنامج كانت كالتالي
العمود Space هو المساحة بالمتر المربع والعمود Price هو السعر بالاف جنيه
وانت الان بعد التغذية بهذه البيانات تريد ان تعرف سعر منزلك الذي مساحته هي 190 متر مربع

كيف يقوم ال Machine Learning بايجاد السعر ؟

تقنيات ال Machine Learning قائمة على ايجاد العلاقة بين المدخلات و المخرجات بمعنى انت الان لديك مدخل واحد وهو المساحة و مخرج واحد وهو السعر فتقوم ال Machine Learning بالتعلم من البيانات المدخلة وفي النهاية تعطي لك معادلة عند ادخال قيمة المساحة لها تعطيك السعر 
ولنفهم ذلك دعنا نقوم بتمثيل البيانات التي ادخلناها للبرنامج بيانيا كالتالي بحيث يكون المحور السيني (X) هو المساحة والمحور الصادي (Y) هو السعر

الان يقوم البرنامج الذي يعمل بال Machine Learning بتحليل البيانات لاستنتاج المعادلة التي ترسم خط يمر تقريبا بكل النقاط داخل الرسم البياني وتكون على الشكل التالي


 الان من الرسم تستطيع ان تستنتج سعر منزلك الذي يبلغ مساحته 190 متر مربع والذي تكون قيمته 398 الف كما بالشكل التالي




والمعادلة التي تم رسم الخط بها ستكون كالتالي

السعر = المساحة × 1.0553 + 198.26

وبهذه المعادلة تستطيع ان تستنتج اي سعر لاي مساحة لديك
اذا الهدف الرئيسي هو ايجاد هذه المعادلة وعند ايجادها يحدث السحر وعمل اشياء لا تستطيع البرامج العادية فعله

قد يتوارد الى زهنك الان كيف يتم عمل الاشياء الاخرى الاكثر تعقيدا مثلا ان يقوم ال Facebook عند رفع صورة ما بالتعرف على وجه اصدقائي وعمل Tag لهم؟
الفكرة مشابهة جدا فتخيل ان ال Facebook لديه صور كثيرة معرفة لديه لك وعن طريق الصور هذه قام بعمل معادلة شبيهة وعند ادخال صورة جديدة تعطي المعادلة مثلا قيمة صفر اذا كانت الصورة لا تشبهك او 1 اذا كانت الصورة تشبهك وبالطبع هناك تفاصيل كثيرة في هذا الموضوع ولكن الفكرة العامة واحدة 😀.
 

توضيحات هامة

ما قمنا به في مثال بيع المنزل هو مثال بسيط جدا للتوضيح بمحدد واحد فقط وهو المساحة ولكن في الحياة العملية يوجد اكثر من محدد
العملية التي قمنا بها تسمى Linear Regression  وهي لاستنتاج او توقع قيمة السعر المتغيرة

ولكن كيف تستطيع ال Machine Learning استنتاج هذه المعادلة ؟

هذا ما سوف اقوم بتوضيحه في مقالات قادمة باذن الله 😀😀ولكن ان كنت تريد المزيد من التعمق في هذه التقنيات انصحك وبشدة البداية بهذا الكورس ل Andrew ng فقد افدني كثيرا عند بداية تعلمي لهذه التقنيات
https://www.youtube.com/watch?v=Hxm4ERsDv5U&list=PLBAGcD3siRDghsFtvJH9HjWSq9DHk1fTJ

مراجع

https://ar.wikipedia.org/wiki/%D8%B0%D9%83%D8%A7%D8%A1_%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A
https://ar.wikipedia.org/wiki/%D8%AA%D8%B9%D9%84%D9%85_%D8%A7%D9%84%D8%A2%D9%84%D8%A9
https://www.youtube.com/watch?v=Hxm4ERsDv5U&list=PLBAGcD3siRDghsFtvJH9HjWSq9DHk1fTJ

هناك تعليقان (2):

ma 3lina يقول...

طيب سؤال يا باشمهندس. ايه اللي قدمه ال machine learning زيادة عن اساليب الإحصاء التطبيقية ؟؟ .. يعني أخواننا بتوع الإحصاء من زمن بعيد عندهم طرق ال linear and non linear regression وبيستخدموه لل one and multi dimensions وقتلوا بحثا للوصول لل best fittings ... وبيستخدموا كل دا برضه في ال predictions بأقل error وبأكتر نسبة تأكد وفترات ثقة وبصراحة بنتايج أفضل من ال machine learning اللي ممكن كل مرة تطلع نتايج شكل.

فإزاي اقنع الإحصائي مثلا إن ال machine learning حاجة ثورية حتحقق ميزة عن الطرق التقليدية؟

Mohamed Galal يقول...

السلام عليكم
في الحقيقة انا معلوماتي الاحصائية مش كبيرة بس من واقع بحثي ان ال Machine Learning بتشتغل باسلوب مختلف وقد تكون بعض الالجورزمات لا تعتمد على اي اساليب احصائية ومع تطور الموضوع اكتر والهاردوير اكتر ادى لظهور الجورزمات اقوى وبتحل مشاكل اكبر زي الجورزمات ال Deep Learning مثلا

بالنسبة لازاي تقنع الاحصائي فمثلا تطور مواضيع ال Machine and Deep learning حاليا ادى لتطور رهيب في تبيقه يعني مثلا تلاقي Self driving car موضوع ال Image Detecation and classification بقه تطبيق عادي ورغم وجود الاساليب الحصائية من عشرات السنين محصلش التقدم الموجود دلوقتي

مقدمة عن الDevOps

في هذا المقال سوف اتحدث عن مقدمة بسيطة عن ال DevOps ولماذا لابد ان تهتم فرق تطوير البرمجيات به وما هي النتائج المترتبة عن استخدام اساليبه ...