Machine Learning

يعتبر مجال من أهم المجالات المتقدمة في حياتنا وظهر من أكتر من 60 سنة ومع ذلك فهو أسم مجهول لكتير من الناس كمان من خلاله تقدر تخلي الكمبيوتر يتعلم من غير ما تبرمجه بشكل مباشر، طيب ايه دا وبيحصل إزاي ؟

بالظبط صح، هنتكلم عن الـ Machine Learning واللي بيعتمد بصفة أساسية علي حاجتين مهمين وهما :

الـ training والـ prediction

بمعني انك بتدربه إنه يتوقع إجابات منطقية، والتدريب ده عبارة عن الـ Data والـ Algorithms اللي بتديها للـ machine وبتقدر من خلالها تنفذ models، والدقة بتعتمد في زيادتها علي تدريب الآلة.

فالحل السحري في البيانات هو:

➡️ more Data ➡️ more Modules ➡️ high Security


طب ليه محتاج تتعلم الـ ML ؟

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


ومن الأمثلة اليومية اللي بنغفل فيها وجود الـ ML هي التعرف علي الصور والأشكال ومنها :

⬅️ لما تيجي تعمل Tag على وش حد في صورة وتلاقيه أول إختيار.

⬅️في جوجل لما تدور على صورة بأنك تكتب تفاصيلها أو محتواها وتلاقيها.

⬅️واخيرًا، فلاتر الـ Snapchat وفيها هو بيحدد ملامحك وبيحدد أماكن معينة عشان يقدر يضيف الفلتر.

ودا جزء بسيط جدًا من الأمثلة الحية.

أما الشركات العملاقة زي Google وAmazon فهى بتستخدم كمية فائقة من الـ Data الخاصة بينا ومن خلالها الـ machine بتتوقع معلومات عنك، كمان من خلاله بتقدر تنفذ صور لناس بيبقا صعب انك تفرق بينها وبين الحقيقة، وده زي ما ذكرنا لأنه ادرب وتوقع ازاي ممكن يوصل لأقرب شكل في الحقيقة.


طيب ايه هي الحاجات الأساسية اللي لازم تعرفها عشان تتعلم الـ ML ؟

1- إتقان أساسيات الإحصاء (Statistics) ونظريات الإحتمالات (Probability Theory).

واللي بتتضمن :

(Descriptive Statistics, Baye’s Rule and Random Variables, Probability Distribution, Decision Analysis ).


2- الجبر الخطي (linear algebra) :

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


3- الرياضة (calculus) :

معرفة أهم أساسيات الاشتقاق والتكامل.


4- البرمجة (Programming) :

ومن أهم لغات البرمجة المستخدمة في المجال هي (Python, Java, Opp).


5- التعامل أو هندسة البيانات :

القدرة على التعامل مع البيانات الضخمة (big data) وكل طرق معالجة البيانات واستخراجها وتحويلها وحفظها مثلًا (SQL and NOSQL).


6- معرفة خوارزميات تعلم الآلة (machine learning algorithms) :

موجود خوارزميات مشهورة ومعروفة في المجال، فضروري معرفتها وفهم طريقة عملها، فهنتكلم بشكل مبسط عن بعض الأنواع :


التعلم بالإشراف (Supervised Learning):

بيقوم على وجود داتا وقت التعلم، بحيث أنها تشكل أمثلة حقيقية بتخلي الـ model يتعلم منها.


التعلم بدون إشراف (Unsupervised Learning):

الآله هنا بتتعلم بمفردها، عن طريق إضافة البيانات ليها وبتبدأ بعدها تتعلم تلقائي ومن أشهر انواعها الـ Clustering.


التعلم المعزز (Reinforcement learning):

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


7- معرفة أهم المكتبات المساعدة في المجال وإتقان العمل بها ومن أشهرها حاليًا:

( scikit learn, TensorFlow, theano, azure, caffe, spark and torch).


وبكدا نكون اتكلمنا بشكل مبسط عن الحاجات اللي لازم تكون عارفها لما تفكر تتعلم الـ Machine Learning، فهو مجال يستحق التعلم فعلًا "كهرباء العصر الجديد" ودوره في السنين اللي جاية مهم جدًا، ولكن لو مقدرتش تطبق الـ ML صح ممكن يسبب مشاكل انت متقدرش عليها، لأنه قادر يعمل model اقوى بكتير من الإنسان، والاستخدام الغلط ليه ممكن يؤدي لنهاية البشرية، وده اللي وضحه Steven Hopkins وElon Mask .

author

CIS Team

CIS Team MU

Leave Comment

wave
Please provide a valid Comment.

Press ESC to close