دروس تعلم الآلة: تعلم ML من سكراتش
نشرت: 2022-02-17يستمر نشر حلول الذكاء الاصطناعي (AI) والتعلم الآلي (ML) في تطوير العمليات التجارية المختلفة ، ويعد تحسين تجربة العملاء هو أفضل حالات الاستخدام.
اليوم ، يحتوي التعلم الآلي على مجموعة واسعة من التطبيقات ، ومعظمها من التقنيات التي نواجهها يوميًا. على سبيل المثال ، تستخدم Netflix أو منصات OTT المماثلة التعلم الآلي لتخصيص الاقتراحات لكل مستخدم. لذلك إذا كان المستخدم يشاهد بشكل متكرر أفلام الإثارة والجريمة أو يبحث عن نفس الشيء ، فسيبدأ نظام التوصية الذي يعمل بنظام ML في النظام الأساسي في اقتراح المزيد من الأفلام من نفس النوع. وبالمثل ، يقوم Facebook و Instagram بتخصيص موجز المستخدم بناءً على المنشورات التي يتفاعلون معها بشكل متكرر.
في هذا البرنامج التعليمي لتعلم الآلة بلغة Python ، سنتعمق في أساسيات التعلم الآلي. لقد قمنا أيضًا بتضمين برنامج تعليمي موجز للتعلم العميق لتقديم المفهوم للمبتدئين.
جدول المحتويات
ما هو التعلم الآلي؟
تمت صياغة مصطلح "التعلم الآلي" في عام 1959 من قبل آرثر صموئيل ، الرائد في ألعاب الكمبيوتر والذكاء الاصطناعي.
التعلم الآلي هو مجموعة فرعية من الذكاء الاصطناعي. يعتمد على مفهوم أن البرامج (البرامج) يمكن أن تتعلم من البيانات وأنماط فك التشفير واتخاذ القرارات بأقل تدخل بشري. بمعنى آخر ، ML هو مجال من مجالات العلوم الحسابية يمكّن المستخدم من تغذية كمية هائلة من البيانات إلى خوارزمية وجعل النظام يحلل ويتخذ قرارات تعتمد على البيانات بناءً على بيانات الإدخال. لذلك ، لا تعتمد خوارزميات ML على نموذج محدد مسبقًا وبدلاً من ذلك "تتعلم" المعلومات مباشرة من البيانات التي تم تغذيتها.
مصدر
هذا مثال مبسط -
كيف نكتب برنامجًا يتعرف على الأزهار بناءً على اللون أو شكل البتلة أو أي خصائص أخرى؟ في حين أن الطريقة الأكثر وضوحًا هي وضع قواعد تحديد صارمة ، فإن مثل هذا النهج لن يجعل القواعد المثالية قابلة للتطبيق في جميع الحالات. ومع ذلك ، فإن التعلم الآلي يأخذ إستراتيجية أكثر عملية وقوة ، وبدلاً من وضع قواعد محددة مسبقًا ، يقوم بتدريب النظام عن طريق تزويده ببيانات (صور) من أزهار مختلفة. لذلك ، في المرة التالية التي يظهر فيها النظام وردة وعباد الشمس ، يمكنه تصنيف الاثنين بناءً على الخبرة السابقة.
اقرأ كيفية تعلم التعلم الآلي - خطوة بخطوة
أنواع التعلم الآلي
يعتمد تصنيف التعلم الآلي على كيفية تعلم الخوارزمية لتصبح أكثر دقة في توقع النتائج. وبالتالي ، هناك ثلاثة مناهج أساسية للتعلم الآلي: التعلم تحت الإشراف ، والتعلم غير الخاضع للإشراف ، والتعلم المعزز.
التعلم الخاضع للإشراف
في التعلم الآلي الخاضع للإشراف ، يتم تزويد الخوارزميات ببيانات تدريب مصنفة. بالإضافة إلى ذلك ، يحدد المستخدم المتغيرات التي يريد الخوارزمية تقييمها ؛ المتغيرات المستهدفة هي المتغيرات التي نريد توقعها ، والميزات هي المتغيرات التي تساعدنا على التنبؤ بالهدف. لذا ، يبدو الأمر أشبه بعرض الخوارزمية لصورة سمكة ونقول ، "إنها سمكة" ، ثم نعرض ضفدعًا ونشير إليه على أنه ضفدع. بعد ذلك ، عندما يتم تدريب الخوارزمية على بيانات كافية للأسماك والضفادع ، ستتعلم التفريق بينهما.
تعليم غير مشرف عليه
يتضمن التعلم الآلي غير الخاضع للإشراف خوارزميات تتعلم من بيانات التدريب غير الموسومة. لذلك ، لا يوجد سوى الميزات (متغيرات الإدخال) ولا توجد متغيرات مستهدفة. تشمل مشاكل التعلم غير الخاضعة للإشراف التجميع ، حيث يتم تجميع متغيرات الإدخال التي لها نفس الخصائص وترتبط بفك تشفير العلاقات ذات المغزى داخل مجموعة البيانات. مثال على التجميع هو تجميع الناس في مدخنين وغير مدخنين. على العكس من ذلك ، فإن اكتشاف أن العملاء الذين يستخدمون الهواتف الذكية سيشترون أيضًا أغطية الهواتف هو ارتباط.
تعزيز التعلم
التعلم المعزز هو أسلوب قائم على التغذية تتعلم فيه نماذج التعلم الآلي اتخاذ سلسلة من القرارات بناءً على التعليقات التي يتلقونها عن أفعالهم. لكل عمل جيد ، تحصل الآلة على ردود فعل إيجابية ، ولكل عمل سيء ، تحصل على جزاء أو ردود فعل سلبية. لذلك ، على عكس التعلم الآلي الخاضع للإشراف ، يتعلم النموذج المعزز تلقائيًا باستخدام الملاحظات بدلاً من أي بيانات مصنفة.
اقرأ أيضًا ، ما هو التعلم الآلي ولماذا يهم
لماذا نستخدم Python للتعلم الآلي؟
تختلف مشاريع التعلم الآلي عن مشاريع البرامج التقليدية من حيث أن الأولى تتضمن مجموعات مهارات متميزة ، وأكوام تكنولوجية ، وأبحاث عميقة. لذلك ، يتطلب تنفيذ مشروع تعلم آلي ناجح لغة برمجة مستقرة ومرنة وتوفر أدوات قوية. تقدم Python كل ما لديها ، لذلك نرى في الغالب مشاريع التعلم الآلي المستندة إلى Python.
منصة الاستقلال
تعود شعبية Python إلى حد كبير إلى حقيقة أنها لغة مستقلة عن النظام الأساسي وتدعمها معظم الأنظمة الأساسية ، بما في ذلك Windows و macOS و Linux. وبالتالي ، يمكن للمطورين إنشاء برامج مستقلة قابلة للتنفيذ على منصة واحدة وتوزيعها على أنظمة تشغيل أخرى دون الحاجة إلى مترجم Python. لذلك ، تصبح نماذج التعلم الآلي للتدريب أكثر قابلية للإدارة وأرخص.
البساطة والمرونة
وراء كل نموذج للتعلم الآلي خوارزميات معقدة وسير عمل يمكن أن يكون مخيفًا ومربكًا للمستخدمين. لكن كود Python المختصر والقابل للقراءة يسمح للمطورين بالتركيز على نموذج التعلم الآلي بدلاً من القلق بشأن الجوانب الفنية للغة. علاوة على ذلك ، فإن لغة Python سهلة التعلم ويمكنها التعامل مع مهام التعلم الآلي المعقدة ، مما يؤدي إلى بناء نموذج أولي سريع واختباره.
مجموعة واسعة من الأطر والمكتبات
تقدم Python مجموعة واسعة من الأطر والمكتبات التي تقلل بشكل كبير من وقت التطوير. تحتوي هذه المكتبات على أكواد مكتوبة مسبقًا يستخدمها المطورون لإنجاز مهام البرمجة العامة. تتضمن مجموعة أدوات برمجيات Python Scikit-Learn و TensorFlow و Keras للتعلم الآلي و Pandas لتحليل البيانات للأغراض العامة و NumPy و SciPy لتحليل البيانات والحوسبة العلمية و Seaborn لتصور البيانات والمزيد.
تعرف أيضًا على المعالجة المسبقة للبيانات في التعلم الآلي: 7 خطوات سهلة للمتابعة
خطوات تنفيذ مشروع تعلم الآلة بيثون
إذا كنت جديدًا في تعلم الآلة ، فإن أفضل طريقة للتوافق مع مشروع ما هي سرد الخطوات الرئيسية التي تحتاج إلى تغطيتها. بمجرد حصولك على الخطوات ، يمكنك استخدامها كقالب لمجموعات البيانات اللاحقة ، وملء الفجوات وتعديل سير العمل الخاص بك بينما تنتقل إلى المراحل المتقدمة.
فيما يلي نظرة عامة حول كيفية تنفيذ مشروع التعلم الآلي باستخدام Python:
- عرف المشكلة.
- قم بتثبيت Python و SciPy.
- قم بتحميل مجموعة البيانات.
- تلخيص مجموعة البيانات.
- تصور مجموعة البيانات.
- تقييم الخوارزميات.
- قم بعمل تنبؤات.
- النتائج الحالية.
ما هي شبكة التعلم العميق؟
شبكات التعلم العميق أو الشبكات العصبية العميقة (DNNs) هي فرع من فروع التعلم الآلي القائمة على تقليد الدماغ البشري. تتألف DNN من الوحدات التي تجمع بين مدخلات متعددة لإنتاج مخرج واحد. إنها تشبه الخلايا العصبية البيولوجية التي تتلقى إشارات متعددة من خلال نقاط الاشتباك العصبي وترسل تيارًا واحدًا من جهد الفعل إلى أسفل الخلايا العصبية الخاصة بها.
مصدر
في الشبكة العصبية ، تتحقق الوظيفة الشبيهة بالدماغ من خلال طبقات العقدة التي تتكون من طبقة إدخال ، وطبقة مخفية واحدة أو عدة طبقات ، وطبقة إخراج. كل خلية عصبية أو عقدة اصطناعية لها عتبة ووزن مرتبط بها وتتصل بأخرى. عندما يكون خرج إحدى العقدة أعلى من قيمة العتبة المحددة ، يتم تنشيطها وإرسال البيانات إلى الطبقة التالية في الشبكة.
تعتمد DNN على بيانات التدريب لتعلم وضبط دقتها بمرور الوقت. إنها تشكل أدوات ذكاء اصطناعي قوية ، مما يتيح تصنيف البيانات وتجميعها بسرعات عالية. اثنان من أكثر مجالات التطبيقات شيوعًا للشبكات العصبية العميقة هما التعرف على الصور والتعرف على الكلام.
الطريق إلى الأمام
سواء كان الأمر يتعلق بإلغاء قفل الهاتف الذكي باستخدام معرف الوجه أو تصفح الأفلام أو البحث عن موضوع عشوائي على Google ، فإن المستهلكين الحديثين المدفوعين رقميًا يطلبون توصيات أقل وتخصيصًا أفضل. بغض النظر عن الصناعة أو المجال ، كان للذكاء الاصطناعي ولا يزال يلعب دورًا مهمًا في تحسين تجربة المستخدم. إضافة إلى ذلك ، فإن بساطة وتعدد استخدامات Python جعلت تطوير مشاريع الذكاء الاصطناعي ونشرها وصيانتها أمرًا مريحًا وفعالًا عبر الأنظمة الأساسية.
تعلم دورة ML من أفضل الجامعات في العالم. احصل على درجة الماجستير أو برنامج PGP التنفيذي أو برامج الشهادات المتقدمة لتسريع مسار حياتك المهنية.
إذا وجدت أن برنامج Python التعليمي للتعلم الآلي للمبتدئين مثيرًا للاهتمام ، فقم بالغوص في الموضوع بعمق مع برنامج upGrad's Master of Science in Machine Learning & AI . تم تصميم البرنامج عبر الإنترنت للمهنيين العاملين الذين يتطلعون إلى تعلم مهارات الذكاء الاصطناعي المتقدمة مثل البرمجة اللغوية العصبية والتعلم العميق والتعلم المعزز والمزيد.
يسلط الضوء على الدورة:
- ماجستير من جامعة جون مورس بليفربول
- تنفيذي PGP من IIIT بنغالور
- 750+ ساعة من المحتوى
- 40+ جلسة مباشرة
- 12+ دراسة حالة ومشروع
- 11 مهمة ترميز
- تغطية متعمقة لـ 20 أداة ولغة ومكتبة
- 360 درجة المساعدة المهنية
1. هل لغة Python جيدة للتعلم الآلي؟
Python هي واحدة من أفضل لغات البرمجة لتنفيذ نماذج التعلم الآلي. تجذب Python المطورين والمبتدئين على حد سواء نظرًا لبساطتها ومرونتها ومنحنى التعلم اللطيف. علاوة على ذلك ، فإن Python مستقلة عن النظام الأساسي ولديها إمكانية الوصول إلى المكتبات والأطر التي تجعل بناء نماذج التعلم الآلي واختبارها أسرع وأسهل.
2. هل التعلم الآلي مع بايثون صعب؟
نظرًا لشعبية Python على نطاق واسع كلغة برمجة للأغراض العامة واعتمادها في التعلم الآلي والحوسبة العلمية ، فإن العثور على برنامج تعليمي للتعلم الآلي من Python أمر سهل للغاية. إلى جانب ذلك ، فإن منحنى التعلم اللطيف في Python والكود المقروء والدقيق يجعلها لغة برمجة صديقة للمبتدئين.
3. هل الذكاء الاصطناعي والتعلم الآلي متماثلان؟
على الرغم من استخدام المصطلحين AI والتعلم الآلي بالتبادل ، إلا أنهما ليسا متماثلين. الذكاء الاصطناعي (AI) هو المصطلح الشامل لفرع علوم الكمبيوتر الذي يتعامل مع الآلات القادرة على أداء المهام التي عادة ما يقوم بها البشر. لكن التعلم الآلي هو مجموعة فرعية من الذكاء الاصطناعي حيث يتم تغذية الآلات بالبيانات وتدريبها على اتخاذ القرارات بناءً على بيانات الإدخال.