خارطة الطريق: كيفية تعلم التعلم الآلي في 6 أشهر

كتب هذا المنشور عالم بيانات ميتيس ، زكريا ميلر ، ومقره شيكاغو. يمكنك مشاهدة المنشور على مدونة الشركة هنا.

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

الحقيقة المؤسفة إلى حد ما

آلة تعلم مجال كبير حقا وتتطور بسرعة. سيكون ساحقا لمجرد البدء. من المرجح أنك تقفز عند النقطة التي تريد أن تستخدم فيها التعلم الآلي لبناء النماذج - لديك فكرة عما تريد القيام به ؛ ولكن عند مسح الإنترنت بحثًا عن خوارزميات محتملة ، هناك العديد من الخيارات فقط. هكذا بدأت بالضبط ، وتعثرت لبعض الوقت. مع الاستفادة من الإدراك المتأخر ، أعتقد أن المفتاح هو البدء في مزيد من المنبع. يجب أن تفهم ما يحدث "تحت غطاء" جميع خوارزميات التعلم الآلي المختلفة قبل أن تكون مستعدًا لتطبيقها فعليًا على البيانات "الحقيقية". لذلك دعونا نتعمق في ذلك.

هناك 3 مجموعات شاملة من المهارات الموضعية التي تشكل علم بيانات المكياج (جيدًا ، في الواقع أكثر من ذلك بكثير ، ولكن 3 هي موضوعات الجذر):

  • الرياضيات "النقية" (حساب التفاضل والتكامل والجبر الخطي)
  • الإحصائيات (الرياضيات تقنيًا ، لكنها إصدار أكثر تطبيقًا)
  • البرمجة (عموما في بيثون / ص)

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

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

بعد ذلك ، يجب أن يكون حساب التفاضل والتكامل التركيز الخاص بك المقبل. نحن هنا مهتمون أكثر بمعرفة وفهم معنى المشتقات ، وكيف يمكننا استخدامها لتحسينها. هناك الكثير من موارد حساب التفاضل والتكامل العظيمة الموجودة ، ولكن على الأقل ، يجب عليك التأكد من الاطلاع على جميع المواضيع في حساب التفاضل والتكامل المتغير الفردي وعلى الأقل القسمين 1 و 2 من حساب التفاضل والتكامل متعدد المتغيرات. يعد هذا مكانًا رائعًا للنظر في Gradient Descent - وهي أداة رائعة للعديد من الخوارزميات المستخدمة للتعلم الآلي ، والتي هي مجرد تطبيق للمشتقات الجزئية.

أخيرًا ، يمكنك الغوص في جانب البرمجة. أوصي بشدة بيثون ، لأنه مدعوم على نطاق واسع مع الكثير من خوارزميات التعلم الآلية المُعدة مسبقًا. هناك الكثير من المقالات حول أفضل طريقة لتعلم بيثون ، لذلك أوصي بالقيام ببعض غوغل وإيجاد طريقة تناسبك. تأكد من معرفة كيفية رسم المكتبات أيضًا (لبايثون ابدأ بـ MatPlotLib و Seaborn). هناك خيار آخر شائع هو اللغة R. كما أنها مدعومة على نطاق واسع ويستخدمها كثير من الناس - أنا أفضل بيثون. إذا كنت تستخدم Python ، فابدأ بتثبيت Anaconda وهي مجموعة رائعة حقًا من أدوات Python لتعلم العلوم / الآلات ، بما في ذلك scikit-learn ، وهي مكتبة رائعة تضم خوارزميات تعلم الآلة المُحسَّنة / المُعدة مسبقًا في غلاف يمكن الوصول إليه من Python.

بعد كل ذلك ، كيف يمكنني استخدام التعلم الآلي؟

هنا يبدا المرح. في هذه المرحلة ، سيكون لديك الخلفية اللازمة لبدء النظر في بعض البيانات. تحتوي معظم مشاريع التعلم الآلي على سير عمل مشابه جدًا:

  1. الحصول على البيانات (تسجيل الويب ، ومكالمات واجهة برمجة التطبيقات ، ومكتبات الصور): خلفية الترميز.
  2. تنظيف / munge البيانات. هذا يأخذ كل أنواع الأشكال. ربما لديك بيانات غير كاملة ، كيف يمكنك التعامل مع ذلك؟ ربما لديك تاريخ ، لكنه في شكل غريب وتحتاج إلى تحويله إلى يوم أو شهر أو سنة. هذا فقط يأخذ بعض اللعب حولها مع خلفية الترميز.
  3. اختيار خوارزمية (ق). بمجرد الحصول على البيانات في مكان جيد للتعامل معها ، يمكنك البدء في تجربة خوارزميات مختلفة. الصورة أدناه هي دليل تقريبي. ومع ذلك ، فإن الأمر الأكثر أهمية هنا هو أن هذا يمنحك الكثير من المعلومات لقراءة عنها. يمكنك الاطلاع على أسماء جميع الخوارزميات الممكنة (مثل Lasso) والقول ، "رجل ، يبدو أنه يلائم ما أريد القيام به استنادًا إلى مخطط التدفق ... لكنني لست متأكدًا من ما هو عليه" ثم أقفز فوق لجوجل والتعرف على ذلك: خلفية الرياضيات.
  4. ضبط الخوارزمية الخاصة بك. إليكم المكان الذي تنجح فيه أعمال الرياضيات في الخلفية - حيث تحتوي كل هذه الخوارزميات على الكثير من الأزرار والمقابض للعب بها. مثال: إذا كنت أستخدم النسب التدرج ، فما الذي أريد أن يكون معدل تعليمي فيه؟ ثم يمكنك العودة إلى حساب التفاضل والتكامل الخاص بك وإدراك أن معدل التعلم هو مجرد حجم الخطوة ، لعنة حار ، وأنا أعلم أنني سوف تحتاج إلى ضبط ذلك على أساس فهمي لوظيفة الخسارة. إذن ، يمكنك ضبط كل ما تبذلونه من أجراس وصفارات في النموذج الخاص بك في محاولة للحصول على نموذج عام جيد (تقاس بدقة ، استدعاء ، الدقة ، درجة F1 ، وما إلى ذلك - يجب عليك البحث عن هذه). ثم تحقق من وجود تجهيزات ملائمة / غير مناسبة وما إلى ذلك بطرق التحقق من الصحة (مرة أخرى ، انظر إلى هذا الأمر): خلفية الرياضيات.
  5. تصور! إليكم المكان الذي تدفع فيه خلفية الترميز بعضًا أكثر ، لأنك تعرف الآن كيفية إنشاء مخططات وما يمكن أن تفعله وظائف المخطط.

من وثائق SciKit تعلم

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

خريطة الطريق بشكل عام

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

  • ابدأ بتعلم الرياضيات (2-3 أشهر)
  • انتقل إلى البرامج التعليمية للبرمجة فقط على اللغة التي تستخدمها ... لا تنشغل في جانب التعلُّم الآلي من الترميز حتى تشعر بالثقة عند كتابة التعليمات البرمجية "العادية" (شهر واحد)
  • ابدأ القفز إلى أكواد التعلم الآلية ، باتباع البرامج التعليمية. Kaggle هي مورد ممتاز لبعض البرامج التعليمية الرائعة (انظر مجموعة بيانات Titanic). اختر خوارزمية تراها في البرامج التعليمية وابحث عن كيفية كتابتها من نقطة الصفر. حفر حقا في ذلك. اتبع جنبا إلى جنب مع البرامج التعليمية باستخدام مجموعات البيانات المعدة مسبقا مثل هذا: البرنامج التعليمي لتنفيذ k- الأقرب الجيران في بيثون من الصفر (1-2 أشهر)
  • تقفز حقًا إلى واحد (أو عدة) مشاريع (مشاريع) قصيرة الأجل أنت شغوف بها ، لكن هذا ليس معقدًا للغاية. لا تحاول علاج السرطان بالبيانات (حتى الآن) ... ربما تحاول التنبؤ بمدى نجاح الفيلم على أساس العناصر الفاعلة التي استأجرتها والميزانية. ربما حاول التنبؤ بكل النجوم في رياضتك المفضلة استنادًا إلى إحصائياتها (وإحصائيات جميع النجوم السابقة). (شهر واحد)

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

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

تقوم Metis بتدريس دورات التطوير المهني بدوام جزئي التي تغطي مواضيع مثل التعلم الآلي وغير ذلك الكثير. انظر جميع الدورات والمواقع هنا: https://www.thisismetis.com/professional-development-courses