All posts

يعني إيه Machine Learning؟ وإيه الفرق بينه وبين البرمجة العادية؟

Machine Learning · · 2 min read

تخيل إنك عاوز تعمل برنامج يقدر يحدد إذا كان الإيميل اللي وصلك إيميل عادي ولا إيميل مزعج (Spam).

تقدر تعمل ده باستخدام البرمجة العادية، لكن فيه طريقة تانية مختلفة شوية، وهي الـ Machine Learning.

تعال نفهم الفرق بينهم ببساطة.

1. البرمجة العادية

في البرمجة العادية، إنت اللي بتكتب القواعد والتعليمات للكمبيوتر، وبتحددله يعمل إيه خطوة بخطوة.

مثلًا، لو عاوز تعمل نظام يكتشف الإيميلات المزعجة، ممكن تكتب كود يدور على كلمات معينة زي:

  • Free money
  • Win a prize
  • Claim your reward

وتقول للبرنامج إن لو الإيميل فيه كلمات معينة من دي، يصنفه على إنه Spam.

لكن هنا فيه مشكلة!

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

2. تعلم الآلة

هنا بقى الفكرة مختلفة!

بدل ما تكتب كل القواعد بنفسك، إنت بتدي الكمبيوتر أمثلة كتير من الإيميلات، وبتوضحله كل إيميل منها هل هو:

  • إيميل عادي (Not Spam).
  • إيميل مزعج (Spam).

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

يعني بدل ما تقوله:

"لو لقيت الكلمة دي، اعتبر الإيميل Spam."

إنت بتديله أمثلة كتير، والنموذج بيتعلم منها إيه الأنماط اللي غالبا بتميز الإيميلات المزعجة عن الإيميلات العادية.

وبالتالي، لما تديله إيميل جديد متدربش عليه قبل كده، يقدر يتوقع إذا كان Spam ولا Not Spam بناء على اللي اتعلمه أثناء التدريب.

وطبعا، ده مش معناه إنه هيصنف كل إيميل بشكل صحيح، لكنه بيحاول يتخذ القرار بناء على الأنماط اللي اتعلمها.

3. يعني اي التعميم ؟

دي واحدة من أهم الأفكار في الMachine Learning.

إحنا مش عاوزين النموذج يحفظ الأمثلة اللي اتدرب عليها وبس، إحنا عاوزينه يتعلم الأنماط اللي تساعده يتعامل مع بيانات جديدة مشافهاش قبل كده.

وده اللي بنسميه التعميم Generalization.

خلينا نرجع لمثال الإيميلات.

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

لكن لو النموذج مجرد حافظ الأمثلة اللي اتدرب عليها، ومش قادر يتعامل مع إيميلات مختلفة عنها، فده مش السلوك اللي إحنا بنستهدفه.

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

Keep reading

تاريخ الـ Machine Learning

تعرف على تاريخ Machine Learning وتطوره من بدايات الشبكات العصبية وبرامج التعلم في الخمسينيات، مرورا بـ Deep Learning وAlexNet وGANs وAlphaGo، وصولا إلى نماذج الذكاء الاصطناعي الحديثة.

Start reading