مضى على الشبكة و يوم من العطاء.

تعلم الآلة (Machine learning)


السمعة:

بسم الله الرحمن الرحيم والصلاة والسلام على أشرف المرسلين
السلام عليكم ورحمة الله تعالى وبركاته


مرحبًا بكم في أول درس في تعلم الآلة, اليوم بإذن الله سأتكلم عن كل ما يخص تعلم الآلة وأحاول منحكم كل ما تحتاجونه وشرحه بأبسط طريقة ممكنة
لنبدأ على بركة الله....
مقدمة عن تعلم الالة :
🔰تعريف تعلم الآلة :
تعلم الالة أو ML(Machine learning) هو مجموعة فرعية من الذكاء الاصطناعي AI تركز على تطوير خوارزميات الكمبيوتر التي تتحسن مع من خلال الخبرة واستخدام البيانات بحيث تم تصميم هذه الخوارزميات لتحسين إدائها في اتخاذ القرارت والتوقعات بمرور الوقت لزيادة الدقة والفعالية مع زيادة البيانات.

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

🔰الفرق بين AIوMachine learningو deep learning :

.الذكاء الاصطناعي AI: وهو قدرة الآلة على محاكاة ذكاء البشر

.تعلم الآلة ML:هو مجموعة من الخوارزميات التي تستخدم لدمج الذكاء في الآلة من خلال التعلم التلقائي من البيانات

.التعلم العميق DL :وهو خوارزمية تحاكي عمل الدماغ البشري لدمج الذكاء في الآلة وتسمى الخوارزمية بالشبكات العصبية (neural network)وكما هي مسماة هي عبارة عن محاكاة للشبكات العصبية لدى الانسان

الصورة أدناه توضح الفرق بينهم:

76182pic1.webp


انواع تعلم الالة :

ملاحظة نظرا لتخصصي حاليا في supervised learning وعدم امتلاك معلموت كافية لباقي الانواع ساحاول في وقت ما التعمق فيهم بشكل اكبر,حاليا سنتعمق في النوع الاول وفهمه جيدا

1-التعلم بالاشراف(supervised learning): التعلم الخاضع للاشراف هو التعلم اللي الذي يستخدم مجموعة مسماة من البيانات لتدريب الخوارزمية على التوقع والتعرف على النتائج وعلى عكس النوع الثاني يتم اعطاء الخوارزمية تدريبا مسمى لتعلم العلاقات بين المدخلات والمخرجات
.كيفية عمل التعلم بالاشراف:يتم تصنيف البيانات المستخدمة في التعلم الخاضع للاشراف الى نوعين هما المدخلات وتسمى بالميزات (features) والمخرجات وتسمى بالتسميات (labels) تحلل الخوارزيمات بيانات كبيرة من ازواج التدريب هذه لاستنتاج قيمة الاخراج المطلوبة (labels) لنفترض انه لدينا نموذج يكشف عن ان كان الشخص مصاب بسرطان الرئة ام لا تقدم مجموعة البيانات مسماة تحتوي على بعض الميزات كعمر الشخص,جنسه,تاريخ التدخين وغيرها وتسميات او مخرجات لهذا الشخص مصاب ام لا .النموذج هنا سيتعلم من هذه البيانات ووفقا لها سيتخذ القرار وبالتاكيد يتم هذا بواسطة الخوارزميات فعند ادخال ادخال شخص جديد سيقوم النموذج بتوقع النتيجة ويمكن اما ان تكون صحيحة اما خاطئة فان كانت كذالك يعني ان النموذج مازال يحتاج الى بيانات تدريب اكثر
1-Iz7bCLrPTImnBDOOEyE3LA-png-1280720-.webp

كما تبين الصورة لدينا مدخلات labeled date ومخرجات labels تستخدم الالة هذه البيانات بواسطة النموذج حيث سيتم تدريبه على هذه البينات ثم سيتم اختباره ببيانات جديدة لم يرها من قبل ليقرر في هذه الحل يقرر نوع الشكل

.انواع التعلم بالاشراف : هناك نوعين من هذا التعلم

التصنيف و الانحدار : ولتبسيط الامر التصنيف هو وجود عدد ثابت للمخرجات او labels مثلا مريض ام غير مريض واكثر الامثلة شيوعا هو مشرح البريد الالكتروني (spam) فيتم تدريب النموذج بواسطة بيانات معينة لتصنيف البريد ما اذ كان بريدا عشوائيا ام لا . اما الانحدار هو وجود عدد مستمر من المخرجات على سبيل مثال تحديد توقع راتب العمال بناءا على خبرتهم العملية
The-main-types-of-machine-learning-Main-approaches-include-classification-and-regression.webp


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

3-التعلم المعزز (reinforcement learning):يعتمد هذا النوع على مبدا المكافة (reward)والعقاب (penality)بحيث يتم تدريب وكيل (agent ) لاتخاذ قرارات لتحقيق هدف معين فهو يتعلم من خلال التجربة والمحاولة والخطا فعند اتخاذه لقرارات جيدة سيتم مكافاته اما اذا كانت قراراته خاطئة فيتم معاقبته ومن الامثلة الاكثر شيوعا التي يستخدم فيها هذا التعلم هي :
تدريب الروبوتات للتفاعل مع البيئة
العاب الفيديو تدريب الذكاء الاصطناعي للعب بشكل افضل
انظمة القيادة الذاتية وغيرها الكثير
كيفيفة عمله :اولا يتكون هذا التعلم من 7اشياء اساسية :

الوكيل (Agent): الكيان الذي يتخذ القرارات.
البيئة (Environment): العالم أو النظام الذي يتفاعل معه الوكيل.
الحالة (State): وصف للحالة الحالية للبيئة.
الإجراء (Action): الإجراء الذي يمكن للوكيل اتخاذه لتغيير حالته.
المكافأة (Reward): التغذية الراجعة التي يحصل عليها الوكيل بناءً على الإجراء الذي اتخذه.
السياسة (Policy): الاستراتيجية التي يستخدمها الوكيل لاتخاذ القرارات بناءً على الحالة الحالية.
وظيفة القيمة (Value Function): تقدير مدى فائدة الحالة أو الإجراء بالنسبة لتحقيق الهدف على المدى الطويل
يبدأ الوكيل في بيئة معينة بحالة ابتدائية.
يختار الوكيل إجراء معينًا بناءً على سياسته الحالية.
تتغير حالة البيئة بناءً على الإجراء الذي تم اتخاذه.
يحصل الوكيل على مكافأة (أو عقوبة) بناءً على الإجراء الذي قام به.
يستخدم الوكيل هذه المكافآت لتحديث سياسته وتحسينها على المدى الطويل
supervised-vs-reinforcement-vs-unsupervised.webp

اكثر الخوارزميات المستعملة في تعلم الالة :

1-التعلم بالاشراف(supervised learning):
>
خوارزمية شجرة القرار (Decision tree)
>خوارزمية الغابة العشوائية (Random forest )
>خوارزمية دعم المتجهات (SVM support vector machine )
>خوارزمية اقرب جيران ( K-nearest neighbors knn)
>الخوارزمية اللوجيستية (logistic Regressiom )

2-التعلم من غير اشراف(unsupervised learning):
>
خوارزمية التجميع (Clustering)
>خوارزمية تخفيض الأبعاد (Dimensionality Reduction)
3-التعلم المعزز (reinforcement learning):
>
خوارزمية Q-Learning
>خوارزمية Deep Q-Learning (DQN)
>خوارزمية Policy Gradient
مراحلة بناء نموذج تعلم الالة باختصار :

اولا لبناء اي نموذج كان نحتاج لاهم خطوة وهي
جمع البيانات:
قيجب ان تكون هذه البيانات مدروسة بشكل جيد فهذا سيؤثر سلبا ام ايجابا على دقة النموذج الخاص بنا كما تحسن اداءه ,اضافة الى ان البيانات التي تمثل الواقع بشكل جيد ساعد النموذج على اكتشفاف الانماط والاتجاهات التي قد تكون غير واضحة لنا . فعند جمع البيانات عليك البحث عن مصادر موثوقة ومنظمة ومن هذه المصادر kaggle يعتبر هذا الموقع من اكبر مواقع التي تضم بيانات لاحصر لها في شتى المجالات كما يعتبر من اكثر المواقع الذي يجتمع فيه العلماء والمبرمجين
.كما يحتاج جمع البيانات الى خطوة مهمة اخرى وهي
معالجة البيانات : بداية بتنظيف البيانات بعد جمع البيانات والتحقق من موثوقيتها ياتي بما يسمى تنظيف البيانات مثلا كالبحث عن القيم المفقودة او تحويل البيانات الى صيغ قابلة للاستخدام ولفهم الامر اكثر تخيلو ان لدينا مجموعة من البيانات لكن هذه البيانات نصفها حرفية هذا قد يقلل من دقة النموذج الخاص بنا فكما نعلم نحن الالة تتعامل مع الارقام وحسب 0 او1 لذا نحاول تحويل القيم الى ارقام او محاولة حصر هذه الارقام بين 0 او1 ولا تقلقو كل هذا العمل سيتم بفضل بعض الخوارزميات الجاهزة لكن يتطلب العمل بها الفهم الجيدا لها لمعرفة كيفية ومتى استخدامها بالضبط والتلاعب بها لصالحك ان شئت
واخر نقطة هي تقسيم البيانات والتي اعتبرها انا امتع مرحلة لدي
تقسيم البيانات :
لفهم هذه الخطوة سناخذ مثالا في التعلم تحت الاشراف لانه في هذا النوع يكون واضح اكثر ولناخذا مثالنا السابق للسرطان
تخيلو ان لدينا مصفوفة ثنائية الابعاد حيث عدد الاسطر هو عدد الاشخاص وعدد الاعمدة هو عدد الميزات features وبالتاكيد العمود الاخير هو مايحدد ماان كان الشخص مريض ام لا يعني وبما يسمى بالlabel
نريد الان تقسيم البيانات الى جزئين الاول الخاص بالتدريب والثاني خاص بالاختبار بحيث جزء الاختبار النموذج لايعلم اي شيئ عنه .
انظرو للصور المقابلة
65a57884f8be0aeac90ac823_1_train-test-split_0 (1).webp


كما ترون لدينا البيانات الخاصة بنا (dataset) فيها بما يسمى الميزات features والتسميات labels اوtarget قمنا بتقسيمها الى جزء التدريب حيث ان لديه x_train وy_train فهنا يتعلم من هذه البيانات وقمنا بتقسيمها الى جزء ثاني وهي x_test y__test لكي الان البيانات الخاصة بالtest لم تشمل التدريب يعني ان النموذج لايعرف اي شيئ عنها لذا نحن سنقوم بادخال x_test على انها مدخلات جديدة ثم نترك النموذج يتوقع قيم y
ولنسميها y_result سيتم مقارنة y_result مع y_test ونقيس الدقة اذا كانت الدقة عالية يعني ان بيانات التدريب كانت كافية اذا كانت الدقة منخفضة يعني ان بيانات التدريب غير كافية
وفي العادة عن تقسيم البيانات يتم منح 80% من البيانات الاصلية للتدريب والباقي نختبر بها لكن حتى مع هذا قد تكون الدقة غير عالية لهذا تعتبر المرحلتين السابقيتن مهمتين جدا كما انه ايضا نوع الخوارزمية المستعملة يؤثر
المقاييس والتقييم:

قد تتسائلون من البداية ماهي دقة النموذج ,الدقة ببساطة هي قيمة عددية يتم قياسها وفق قانون معين ليس من الضروري ان تعرف هذه القوانين لانه في التطبيق ماعليك سوى استعمالها مباشرة فهي مبرمجة مسبقا لكن ساعطيكم قوانين حسابها وبعض القياسات المستخدمة غير الدقة
اولا قانون حساب الدقة (Accuracy) :
(اجمالي التوقعات ) / (عدد التوقعات الصحيحة )=accuracy

ثانيا الدقة الاجابية (precision):

تقيس الدقة في التنبؤ بالفئة الإيجابية فقط (أي مدى صحة التنبؤات الإيجابية)
(FP)+(TP) / (TP)=precision
True Positive (TP): عدد الحالات التي تنبأ بها النموذج على أنها إيجابية وكانت صحيحة.
False Positive (FP): عدد الحالات التي تنبأ بها النموذج على أنها إيجابية لكنها كانت خاطئة.

ثالثا التغطية او الحساسية (recall):

تقيس قدرة النموذج على اكتشاف جميع الحالات الاجابية الحقيقة
(FN)+(TP) / (TP)=precision
True Positive (TP): عدد الحالات التي تنبأ بها النموذج على أنها إيجابية وكانت صحيحة.
False Positive (FN): عدد الحالات التي فشل النموذج في التنبؤ بها كإيجابية رغم أنها كذلك
تستخدم recall اذا كان االخطا في التفويت في الحالات الاجابية مكلفا

رابعا F1-Score :

هو مقياس توافقي بين precision وrecall يستخدم لتوازن بينهما خاصة اذا كانت البيانات غير متوازنة
*2 ( (precision+recall ) / (precision*recall ) ) =F1-Score
تكون قيمة F1-Score بين 1 و0

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

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

المرفقات

  • 65a57884f8be0aeac90ac823_1_train-test-split_0 (1).webp
    65a57884f8be0aeac90ac823_1_train-test-split_0 (1).webp
    19.6 KB · المشاهدات: 99
التعديل الأخير بواسطة المشرف:
بسم الله ما شاء الله لا قوة الا بالله
موضوع رائع وطرح رائع وطريقة سرد رائعة
أبدعت اخي بارك الله فيك
ننتظر جديد ابداعاتك دائماً
تحياتي
 
بسم الله ما شاء الله لا قوة الا بالله
موضوع رائع وطرح رائع وطريقة سرد رائعة
أبدعت اخي بارك الله فيك
ننتظر جديد ابداعاتك دائماً
تحياتي
وفيك بارك الله يا اخي
 
  • Love
التفاعلات: STORM
ما شاء الله
شخصيا استفدت من المقال

بالتوفيق صديقي
 

آخر المشاركات

فانوس

رمضان
عودة
أعلى