التعلم الآلي باستخدام Python: قائمة الخوارزميات التي تحتاج إلى إتقانها

نشرت: 2020-04-28

جدول المحتويات

ما هي لغة بايثون؟

إنها لغة برمجة هادفة تم تطويرها في عام 1991 بواسطة Guido van Rossum . إنه أمر شديد الفهم والتعلم. تحظى Python بشعبية بين المطورين لأنها تعمل على تحسين قابلية إعادة استخدام الكود ونمطية البرنامج. Python هي لغة برمجة تفاعلية عالية المستوى تتيح التفاعل المباشر بين المطورين والمترجمين الفوريين - وهو أمر يجعل كتابة الكود أمرًا سهلاً للغاية.

ما هو التعلم الآلي (ML)؟

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

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

إذا كنت مبتدئًا ومهتمًا بمعرفة المزيد عن علم البيانات ، فراجع شهادة علوم البيانات لدينا من أفضل الجامعات.

كيف تضيف التعلم الآلي و Python؟

تمتلك Python العديد من الميزات التي تجعلها تطابقًا مثاليًا مع التعلم الآلي. بعض هذه الميزات مذكورة أدناه:

1. من السهل كتابة التعليمات البرمجية. كتابة التعليمات البرمجية في بايثون سهلة مثل واحد واثنين وثلاثة. إنه أسهل بكثير من اللغات الأخرى مثل Java و C ++.

2. متكامل. لا يستغرق الأمر وقتًا طويلاً ولا جهدًا لدمجها مع C و C ++ ولغات البرمجة الأخرى.

3. محمول. إنها لغة برمجة مستقلة. يمكن تنفيذ نفس البرنامج المكتوب باستخدام Python على macOS أو Windows. لا يحتاج إلى رموز مختلفة للتشغيل على أنظمة تشغيل مختلفة.

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

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

أنواع خوارزميات التعلم الآلي

تعد خوارزميات التعلم الآلي على نطاق واسع فئتين - خاضعة للإشراف وغير خاضعة للإشراف. دعونا نناقش هذين النوعين بالتفصيل.

1. التعلم المشرف

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

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

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

2. التعلم الآلي غير الخاضع للإشراف

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

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

بعض خوارزميات التعلم الآلي الشائعة في بايثون

1. الانحدار الخطي

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

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

2. الانحدار اللوجستي

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

3. دعم آلات ناقلات (SVM)

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

4. شجرة القرار

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

قراءة: المتطلبات الأساسية لتعلم الآلة

5. ساذج بايز

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

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

اقرأ أيضًا: مكتبات التعلم الآلي التي يجب أن تعرفها

خاتمة

في هذه المدونة ، تعرفنا على التعلم الآلي في Python والخوارزميات المختلفة التي يمكننا استخدامها لتدريب أجهزتنا على التنبؤ والأداء بشكل أفضل.

إذا كنت مهتمًا بمعرفة المزيد حول التعلم الآلي ، فراجع دبلوم PG في IIIT-B & upGrad في التعلم الآلي والذكاء الاصطناعي المصمم للمهنيين العاملين ويقدم أكثر من 450 ساعة من التدريب الصارم ، وأكثر من 30 دراسة حالة ومهمة ، IIIT- حالة الخريجين B ، أكثر من 5 مشاريع تتويجا عملية ومساعدة وظيفية مع أفضل الشركات.

إذا كنت مهتمًا بتعلم علوم البيانات وتريد أن تتسخ يديك في الأدوات والمكتبات المختلفة ، فراجع برنامج Executive PG في علوم البيانات.

ما هي اللغات المستخدمة في التعلم الآلي بخلاف Python؟

إلى جانب Python ، يستخدم المطورون R و Javascript و Java و C ++ وما إلى ذلك. يوفر R بيئة برمجية بدون تكلفة للتحليل الإحصائي والتصورات باستخدام بنية بيانات الرسم البياني. تحظى R بالأولوية في البيانات الطبية الحيوية وإحصاءات الهندسة الحيوية. تحتوي Javascript على مكتبات شائعة مثل Tensorflow.js ، وهو مشروع متقدم تم تطويره بواسطة Google. تتوفر واجهات برمجة التطبيقات المرنة للتدريب وبناء النماذج مباشرةً في جافا سكريبت. توفر Java بيئات برمجية مثل Elka و RapidMiner و Weka و JavaML و Deeplearning4j وما إلى ذلك لمشاكل التعلم الآلي. يحتوي C ++ على العديد من المكتبات القوية مثل Torch و TensorFlow و mlpack وما إلى ذلك ، وهو يؤدي المهام بكفاءة.

ما الفرق بين التعلم الخاضع للإشراف والتعلم غير الخاضع للإشراف؟

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

كيف يختلف الانحدار الخطي عن الانحدار اللوجستي؟

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