تعلم الآلةعلم البياناتمترجم

5 خطوات لطيفة للمبتدئين لتعلم تعلم الآلة وعلم البيانات باستخدام بايثون

"أريد أن أتعلم تعلُم الآله والذكاء الاصطناعي، من أين أبدأ؟" من هنا

كاتب المقال: Daniel Bourke   ترجمة: سعد الشهراني   مراجعة: هيا الداوود

[ رابط المقال الأصلي هنا ]

قبل عامين، بدأت أتعلم تعلم الآلة عبر الإنترنت بمفردي. شاركت رحلتي التعليمية من خلال اليوتيوب ومدونتي الخاصة. لم تكن لدي أي فكرة عن ماذا كنت أفعل. لم أُبرمج من قبل، لكنني قررت أن أتعلم تعلم الآلة.

عندما يجد الناس عملي، فإنهم في بعض الأحيان يتواصلون ويطرحون الأسئلة. ليس لدي كل الإجابات ولكني أرد على أكبر قدر ممكن. السؤال الأكثر شيوعًا من الأسئلة التي تصلني هو “من أين أبدأ؟” يليه “كم من الرياضيات التي أحتاج إلى معرفتها؟”

أجبت على بعض من هذه الأسئلة هذا الصباح.

أخبرني أحدهم بأنه بدأ في تعلم لغة بايثون وأراد البدء في تعلم الآلة، لكنه لا يعرف ما الذي يجب عليهم فعله بعد ذلك:

لقد تعلمت كيف أبرمج بلغة بايثون، ما الذي يجب علي فعله الآن؟

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

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

تذكر، إذا كنت تريد البدء بالتعلم عن تعلم الآلة كم المعلومات التي يجب عليك معرفتها كثيرة وذلك قد يكون أمرًا مثبط لك لذلك خذ وقتك. ضع إشارة مرجعية (Bookmark) لهذه المقالة لكي يمكنك الرجوع إليها في مشوارك.

أنا منحاز لاستخدام بايثون لأن هذا ما بدأت به وما زلت أستخدمه. يمكنك استخدام شيء آخر ولكن هذه الخطوات ستكون لبايثون.

1- تعلّم بايثون، أدوات علم البيانات ومفاهيم تعلم الآلة

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

أثناء تعلم برمجة بايثون، تدرب على استخدام أدوات علم البيانات مثل Jupyter و Anaconda. اقض بعض الوقت في العبث بها، لتتعرف عليها وتفهم لماذا يجب عليك استخدامها.

مصادر التعلم:

  1. عناصر الذكاء الاصطناعي (Elements of AI) – نظرة عامة على مفاهيم الذكاء الاصطناعي وتعلم الآلة.
  2. بايثون للجميع على كورسيرا (Python for Everybody on Coursera) – تعلم بايثون من الصفر.
  3. تعلم بايثون بواسطة (Learn Python by freeCodeCamp) – جميع مفاهيم بايثون الرئيسية في فيديو واحد.
  4. تمارين أناكوندا بواسطة كوري شافر (Anaconda Tutorial by Corey Schafer) – تعلم أناكوندا (ما الذي ستستخدمه لإعداد جهازك للبدء بالتعلم عن علوم البيانات وتعلم الآلة) في فيديو واحد.
  5. تمارين مذكرات جوبتر للمبتدئين من قبل ديتا كويست (Jupyter Notebook for Beginners Tutorial by Dataquest)  – انطلق وأعمل مع مذكرات جوبتر في مقال واحد.
  6. تمارين مذكرات جوبتر بواسطة كوري شاف (Jupyter Notebook Tutorial by Corey Schafer) – تعلم كيفية تدوين الملاحظات باستخدام جوبتر في فيديو واحد.

2- تعلّم تحليل البيانات والتلاعب بها وتصويرها مع Panda و  Matplotlib و NumPy

بمجرد اتقانك لبعض المهارات باستخدام بايثون، سترغب في معرفة كيفية التعامل مع البيانات ومعالجتها.

للقيام بذلك، يجب أن تكون على دراية بـ pandas، NumPy و Matplotlib.

ستساعدك مكتبة Panda في التعامل مع مخططات البيانات، والتي تبدوا كجداول للمعلومات مثل الجداول التي تراها في ملفات اكسل. فكر في الصفوف والأعمدة. هذا النوع من البيانات يسمى البيانات المنظمة.

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

سوف تساعدك Matplotlib على صنع الرسومات البيانية وتصوير البيانات الخاصة بك. فهم كومة من الأرقام في جدول مهمة قد تكون صعبة بالنسبة للبشر. نحن نفضل رؤية رسم بياني يتضمن خطًا يمر به. يعد تصوير البيانات أداة مهمة لتوصيل نتائجك.

مصادر التعلم:

  1. علم البيانات التطبيقي مع بايثون على كورسيرا (Applied Data Science with Python on Courser) – ابدأ في تصميم مهارات بايثون الخاصة بك مع علم البيانات.
  2.   Panda في 10 دقائق (pandas in 10-minutes) – نظرة عامة سريعة على مكتبة Panda وبعض وظائفها الأكثر فائدة.
  3.  برنامج تعليمي لبايثون Panda عن طريق كود بيسيك (Python Pandas Tutorial by Codebasics)- سلسلة يوتيوب تغطى جميع القدرات الرئيسية لPanda.
  4.   برنامج تعليمي NumPy بواسطة معسكر تعليمي مجاني (NumPy Tutorial by freeCodeCamp ) – تعلم NumPy في فيديو واحد على يوتيوب.
  5.  برنامج تعليمي Matplotlib بواسطة سنتديكس (Matplotlib Tutorial by Sentdex) – سلسلة يوتيوب التي تدرس جميع الميزات الأكثر فائدة لبرنامج Matplotlib.

3- تعلّم تعلُم الآلة مع scikit-learn

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

scikit-learn هي مكتبة بايثون تحتوي على العديد من خوارزميات تعلم الآلة المدمجة والجاهزة لاستخدامك.

كما أنها تتميز أيضاً بالعديد من الدوال المفيدة لمعرفة أداء التعلم لخوارزميتك.

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

مصادر التعلم:

  1. تعلم الآله بلغة بايثون مع scikit-learn عن طريق مدرسة البيانات (Machine Learning in Python with scikit-learn by Data School) – قائمة تشغيل يوتيوب والتي تحتوي جميع الوظائف الرئيسية لـ scikit-learn.
  2. مقدمة لطيفة لتحليل البيانات الاستكشافية بقلم دانييل بورك (A Gentle Introduction to Exploratory Data Analysis by Daniel Bourke) – ضع ما تعلمته في الخطوتين أعلاه مع بعض في مشروع. احصل على كود وفيديو لمساعدتك في دخول مسابقة Kaggle الأولى.
  3. مذكرة استكشاف دانييل فورموسو في تحليل البيانات مع scikit-Learn (Daniel Formosso’s exploratory data analysis notebook with scikit-learn)  – إصدار أكثر تعمقًا من الموارد أعلاه، ويأتي مع مشروع متكامل يستخدم ما سبق.

4- تعلّم التعلم العميق والشبكات العصبية (Deep Learning Neural Networks)

التعلم العميق والشبكات العصبية تعمل بشكل أفضل على البيانات ذات الهيكلية البسيطة.

تحتوي أُطر البيانات على هياكل، وصور، ومقاطع فيديو، وملفات صوتية، ونصوص باللغة الطبيعية لديها تعليمات ولكن ليس بالكثيرة.

معلومة مفيدة: بالنسبة لمعظم الحالات، سترغب في استخدام مجموعة من أشجار القرار -decision trees – (خوارزمية الغابات العشوائية أو خوارزمية مثل XGBoost) للبيانات المنظمة، وسترغب باستخدام التعلم العميق أو نقل التعلم (Transfer Learning) (أخذ شبكة عصبية مدربة مسبقًا واستخدامه في حل مشكلتك)  للبيانات الغير مهيكلة.

يمكنك أن تبدأ بتدوين المعلومات المفيدة مثل هذه لنفسك وجمعها كلما تعمقت في التعليم.

مصادر التعلم:

  1. deeplearning.ai by Andrew Ng on Coursera التعلم العميق مدرس من قبل واحد من أفضل الخبراء في المجال.
  2. دورات التعلم العميق من قبل جيريمي هوارد (fast.ai deep learning courses by Jeremy Howard) – منهج عملي للتعلم العميق مدرس من قبل أحد أفضل الممارسين.

5- مناهج وكتب إضافية

في مشوارك التعليمي، سيكون مفيداً لو كنت تطبق ما تعلمته في مشاريع صغيرة خاصة بك. لا يجب لهذه الأشياء أن تكون كبيرة لكي تغير العالم، ولكنها أشياء يمكنك قول شيء مثل: “لقد عملت هذا باستخدام ص” عنها.  ثم شارك عملك عبر Github أو مدونة ما. يستخدم Github لعرض البرمجة الخاصة بك، يتم استخدام منشور المدونة لإظهار كيف يمكنك التواصل مع عملك. يجب أن تهدف إلى إطلاق واحدة من كل مشروع.

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

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

مصادر التعلم:

  1. كيف تبدأ مشاريع تعلم الآله الخاصة بك من دانييل بورك (How to start your own machine learning projects by Daniel Bourke) – قد يكون البدء في مشاريعك الخاصة صعباً، ولكن هذه المقالة ستمنحك بعض النصائح المفيدة.
  2. التعلم العميق من الأسس fast.ai التي كتبها جيريمي هوارد (fast.ai deep learning from the foundations by Jeremy Howard) – بمجرد أن تذهب من أعلى إلى أسفل، هذه الدورة سوف تساعدك على سد الثغرات من الأسفل إلى الأعلى.
  3. Grokking Deep Learning by Andrew Trask – سوف يعلمك هذا الكتاب كيفية إنشاء شبكات عصبية من الصفر ولماذا يجب أن تعرف كيفية القيام بذلك.
  4.   ستساعدك هذه الكتب على تعلم تعلم الآلة من دانييل بورك (These books will help you learn machine learning by Daniel Bourke) – فيديو يوتيوب يحتوي على مراجعة لأفضل الكتب عن تعلم الآلة.

كم من الوقت لكل خطوة؟

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

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

أين يمكنني تعلم تلك المهارات؟

لقد أدرجت بعض الموارد أعلاه، وكلها متاحة عبر الإنترنت ومعظمها مجاني ولكن هناك الكثير.

معسكر البيانات (DataCamp) هو مكان عظيم للقيام بمعظم هذه الأعمال. وأيضاً، لدي قاعدة بيانات لمصادر تعلم الآلة والذكاء الاصطناعي تحتوي على أرشيف جيد للمواد التعليمية المجانية والمدفوعة (Machine Learning and Artificial Intelligence resources database).

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

إذا كنت تريد أن تعرف كيف تبدو المناهج الذاتية لتعلم الآلة، اطلع على برنامج الماجستير الخاص بي في الذكاء الاصطناعي (Self-Created AI Masters Degree). هذا ما استخدمته لكي انتقل من مرحلة الصفر في البرمجة إلى مهندس تعلم الآلة في مدة ٩ أشهر. إنه ليس مكتملاً ولكنه مخصص لي، ولهذا السبب نجح.

ماذا عن الإحصاء؟ ماذا عن الرياضيات؟ ماذا عن الاحتمالات؟

سوف تتعلم هذه الأشياء على طول الرحلة. ابدأ بالبرمجة أولاً. احرص على عمل البرامج بشكل جيد. محاولة تعلم كل الإحصائيات وكل الرياضيات وكل الاحتمالات قبل تشغيل البرنامج هي كمحاولة غلي مياه المحيط (معجزة). سوف تعيقك!

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

ماذا عن الشهادات؟

الشهادات لطيفة ولكنها ليست ما تبحث عنه، أنت تبحث عن المهارات.

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

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

يمكنك العثور على إصدار فيديو من هذه المقالة على YouTube من خلال الربط هنا.

 

اظهر المزيد

سعد آل سند

مرشح دكتوراه في علم البيانات. مهتم بمعالجة اللغات الطبيعية والذكاء الاصطناعي.

تعليق واحد

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى