تعلم الآلة (Machine Learning).

03/05/2021
1987
Event Thumbnail
#Digital_World#Machine_Learning

ازاى تعلم جهازك بـ3 طرق!

عمرك فكرت لما كنت بتنزل صورة ليك مع أصحابك على "Facebook" ازاى كان بيعرف يحدد وجوهكم ومن خلالها يعمل "Tag" ليكم، أو وأنت بتستخدم "Google Maps" عشان توصل للعنوان اللي أنت عايزه، تلاقيه بيعرفك حالة الطريق إذا كان زحمة أو عليه حادثة -حفظكم الله-، والوقت التقريبي اللي هيحتاجه مشوارك.

 

كل دي تطبيقات لتكنولوجيا الـ"Machine Learning" اللي غيرت حياتنا وخلتها أسهل في جوانب كتير، وفي موضوعنا هنعرفكم إيه هو الـ"Machine Learning"، وإيه هي الطرق المستخدمة عشان تقدر تعلم الآلة.

 

الـ"Machine Learning" أو تعليم الآلة هو فرع من فروع تكنولوجيا الذكاء الاصطناعي "AI" بيتركز عملها على عمل تطبيقات تقدر إنها تتعلم من الـ"Data" اللي بيتم تقديمها لها، ومش بس تتعلم بل كمان تطور من نفسها من غير اللجوء لتعديل في برمجة التطبيق، العملية دي بتحصل عن طريق إن الجهاز بيتبع طريقة معينة "Algorithm" بحيث من خلالها يقدر يطلع الأنماط المتشابهة والمتكررة للبيانات ويفهم معناها ويخزنها، وبيستخدم المعلومات دي لفهم المستخدم وتوقع إستخدامه بل كمان بيقدمله اقتراحات زي "People also liked" أو "Just for you" اللي بنشوفها في تطبيقات زي "Youtube" و"Spotify" وغيرها كتير.

 

بعد ما عرفنا إيه هو الـ"Machine Learning" أكيد سألت نفسك إحنا بنعمل كده ازاي، ببساطة بيتم من خلال 3 طرق بسيطة هنشرحهالك في الجزء الباقي.

 

Supervised Learning:

 

في النوع ده من التعلم، الآلة بتتعلم عن طريق مقارنة المشكلة بنمط المشكلات المسجلة عليها؛ يعني عشان تتعلم بنقدم لها أمثلة للمشكلات ومعاها كمان الحلول، وده بيدرب الآلة على حل المشكلات بعينها فيما بعد، ومبدأ الـ"Supervised Learning" هو إن الآلة بتحتاج إلى "Inputs" وتُسمى "Features"، وتحتاج إلى "Labels or Outputs" لتقدم لنا نموذج "Model" وده بيكون مدخلات للتطبيقات لتقدم لنا مخرجات أخرى. وتشبه إلى حد كبير"Sequential logic"، ومن أنواع الـ"Supervised Learning":

 

  1. التصنيف "Classification":

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

 

  1. توقع القيم المستقرة والمتغيرة "Regression":

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

 

ومن أنواع الـ"Models" اللي بنستخدمها عشان نعمل "Classification" أو"Regression" هي:

 

  1. Naive Bayesian Model:

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

 

  1. Random Forest Model:

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

 

  1. Neural Networks:

هنا يتم تجميع المدخلات الأولية وتتبع أنماطها، وتُعتبر تلك الخوارزمية صعبة ومعقدة لهذا يُطلق عليها "الصندوق الأسود"؛ لأن نتائجها قد تكون غير دقيقة في حالات التعامل مع آلاف المدخلات الأولية.

 

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

 

Unsupervised Learning:

 

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

 

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

 

  1. لتصنيف وتجميع البيانات "Clustering":

وهنا بيجمع البيانات على شكل فئات حسب خصائص معينة بتتشابه فيها.

 

  1. Association Rule:

هنا بيحاول يطلع علاقات بين البيانات ويربط بينهم زي لو أننا في مول وعاوزين نرتب المنتجات بحيث انه العميل يشتري أكبر قدر من المنتجات في هنا هيربط بين المنتجات دي ويقول  احتمالية شراء المنتج ب مع المنتج أ كبيره ف وقتها نحط الاتنين جنب بعض وهكذا في مواضيع كثيرة بقا

 

Reinforcement Learning:

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

 

  1. الآلة "Agent": إلى هندربها وهي في الحالة دي بتكون حاجة مادية زي أنه يكون روبوت أو محاكاة غير ملموسة زي شخصية في لعبة إلكترونية مثلا. 

 

  1. السياسة العامة "Policy": السياسة هنا هي البيانات إلى بنقدمها للآلة عن البيئة ومعلومات عامة عن كيفية الحصول على أعلى مكافأة ممكنة. يعني لو لعبة شطرنج ف السياسة العامة هنا ممكن تكون أفضل الإستراتيجيات لهزيمة الخصم، ولو مثلا كانت البيئة حديقة عامة وهنعمل روبوت يمشي فـ ممكن تكون السياسة العامة هنا أنه يبعد عن الأحجار عشان يحافظ على التوازن.
     
  2. بيئة التعلم "Environment": وده المكان إلى هنعمل التجارب فيه علي الآلة وهنا بتتعلم الآلة عن طريق إنها بتستغل السياسة العامة في اتخاذ الإجراءات اللازمة عشان توصل لأعلى مكافأة ممكنة فـ بتتعلم الآلة عن طريق استكشاف وتجربة إجراءات مختلفة بهدف فهم البيئة ومحاولة تعلم شيء جديد يسهل عليها الوصول لهدفها.
     
  3. الحالة "State": أو الوضع الحالي للروبوت أو الأداة إلى بنعلمها ودي ليها أهمية كبيرة في معرفة جودة اختيارات الآلة في الماضي وتأثير الحالة دي على الاختيارات المستقبلية.
     
  4. المكافأة "Reward": ودي قرارات بنحددها وإحنا بنعمل قوانين المكافآت للآلة عشان تبين هل الآلة بتشتغل صح ولا تعدل من نفسها مثال على  المكافأة ممكن تبقى عبارة عن +1 والخطأ عبارة عن 0 أو - 1، فـ المكافأة بتساعد  بتساعد الآلة في اتخاذ الإجراءات اللازمة عشان توصل لأعلى قدر منها.
     
  5. الـ "Action": ودي  الإجراءات الممكنة اللي بتكون موجوده في قائمة التصرفات المسموح للآلة بناء على البيئة وحالة الآلة. واتخاذ الإجراءات بيعتمد على حالة الآلة في الوقت الحاضر وتأثير الإجراءات دي على المكافآت في المستقبل.

 

وفي النهاية عزيزي القارئ بعد ما اتكلمنا في تعريف الـ"Machine Learning"، وازاى الموضوع ده بيتم تخيل التكنولوجيا دي هتكون ازاى في المستقبل مع التطور الرهيب اللي بيحصل للأجهزة!