خطوات البدء في مجال تعلم الألة و الحصول على وظيفة machine learning

Machine Learning
تعلم الألة أو (machine learning ) هو أحد أهم فروع الذكاء الإصطناعي و نعرفه بإختصار على أنه كل الطرق و الأساليب من المجالات العلمية المختلفة التي بإمكانها جعل الحواسيب تتعلم و تتصرف بذكاء و تؤدي وظائف تحاكي فيها مايقوم به الإنسان و دون تدخل منه. و هذا يتم عن طريق تدريب الحواسب على مختلف البيانات المتنوعة و الضخمة أيضا. كمثال هو كيف يمكن لحواسيبنا أو التطبيقات المثبتة عليها من معرفة أن هذا الإيمايل إيمايل صحيح أو هو عبارة عن (spam) و كثيرا ما نشاهد هذا على حواسيبنا أو هواتفنا الذكية و كيف أنه تم تصنيف بعض الرسائل الإلكترونية على أنها (spam) لأنها تحتوى على أشياء غير مناسبة أو روابط مشبوهة، و هذه العملية تتم أليا و دون تدخل الإنسان في ذلك. أيضا معرفة النقود المزورة في البنك و أماكن التعاملات المالية، التعرف على بصمات الأصابع و الوجه و العينين على الهواتف الذكية و في المطارات و الوثائق البيومترية و كاميرات المراقبة و غير ذلك من المجالات المتعددة.

أهم خمسة (5) أشياء أو مهارات التي يجب أن نمتلكها أو نعرفها و نتقنها من أجل الحصول على وظيفة في مجال تعلم الألة :

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

* إتقان أساسيات الإحصاء (statistics ) و نظريات الإحتمالات (probability theory ) :

نذكر منها :
 (descriptive statistics, baye's rule and random variables, probability distribution, decision analysis ).

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

* الحساب (calculus ) : على الأقل معرفة أهم أساسيات الإشتقاق و التكامل.


2- البرمجة (programming ) : التحكم في مهارات البرمجة ضروري جدا و نعني به مهارة كتابة الكود و التحكم فيه و كذلك التحكم في عملية التحليل و فهم المشاكل و وضع خطوات حلها بالإضافة إلى التحكم في مختلف هياكل البيانات (data structures ) و البرمجة الكائنية التوجه (oop) و كذلك البرمجة المتوازية (parallel programming ).
* و نشير إلى أهم لغات البرمجة المستعملة في هذا المجال و هي (python, java, cpp). كما أذكر أيضا أن لغة البرمجة لا تهم كثيرا في المستوى العالي للمهندسين، لأنها فقط ترجمة لطريقة الحل التي وجدنها إلى كود لغة برمجة محددة.

3- التعامل أو هندسة البيانات : القدرة على التعامل مع البيانات الضخمة (big data) و كل طرق معالجة البيانات و إستخراجها و تحويلها و حفظها مثلا (SQL and NOSQL). أيضا مهارة إظهار البيانات بشكل واضح و أقصد به كل طرق (visualization ).

4- معرفة خوارزميات تعلم الألة (machine learning algorithms) : توجد خوارزميات مشهور و معروفة في هذا المجال فمن الضروري معرفتها و فهم طريقة عملها في كل المجالات و نشير إلى أهم التصنيفات و كل تصنيف يحتوي على مجموعة من الخوارزميات (clustering, classification, decision trees, neural  networks).

5- معرفة أهم المكتبات المساعدة في هذا المجال و إتقان العمل بها : هناك مكتبات ضخمة و تحتوى على خوارزميات جاهزة و آمنة لمساعدتنا في مجال تعلم الألة، و حاليا معظم شركات العمل تتعامل و تعمل بهذه المكتبات، فقط للباحثين و طلبة الدكتوراه هم من يحاولون تحسين هذه الخوارزميات لكن المطورين العاديين يفضل و يستحسن لهم إستخدام هذه المكتبات مباشرة و أذكر أشهرها حاليا ( scikit learn, TensorFlow, theano, azure, caffe, spark and torch). و إن كنت في رأي الشخصي أنصح المبتدئين بتعلم (TensorFlow ) أولا، و إذا كان ربما البعض لا يمتلك جهاز بالمواصفات التي يطلبها فأنصح ثانيا ب (scikt learn ).


الكاتب : #هشام_فلواط - هشام فلواط - hichem felouat

Comments

Popular posts from this blog

مقدمة

تحسين أداء خوارزميات تعلم الألة

أنواع الطرق المستخدمة في مجال تعلم الألة The type of machine learning