ماذا تعرف عن مجال تعليم الآله Machine learning
#MLإن سبق وحاولت قراءة أي مقالٍ على الإنترنت يتحدث عن تعلّم الآلة، فلا بدّ من أنك عثرت على نوعين من المقالات؛ فإما أن تكون سميكة وأكاديمية ومليئة بالنظريات (عن نفسي لم أستطع حتى تجاوز نصف مقال)، أو عن القصص الخيالية المريبة حول سيطرة الذكاء الصنعي على البشر، أو منهم من يتحدث عن البيانات وتأثيرها الساحر على مجالات العلوم الأخرى أو البعض الآخر من المقالات يتحدث عن كيفية تغيّر وظائف المستقبل.
لم يكن هنالك أي كتاب يضعني على بداية الطريق لكي أتعلم أبسط الأساسيات لأنتقل بعدها إلى المفاهيم المعقدة واثق الخطى.
لذا كان لا بدّ لي من كتابة مقالٍ بسيط ومفهوم وواقعي لطالما تمنيت وجوده. سيكون هذا المقال مقدمة بسيطة لأولئك الّذين أرادوا دومًا فهم طريقة عمل مجال تعلّم الآلة. بتطبيق أفكاره على أمثلة من مشاكل العالم الحقيقي، والحلول العملية المطبقة، بلغة بسيطة ومفهومة، وتجنب النظريات الصعبة قدر الإمكان.
ليستطيع الجميع فهم ماهيّة هذا العِلم سواءً أكانوا مبرمجين أو مدراء بل وحتى لأي شخص كان.
وإليك المخطط الرئيسي للمواضيع التي سنتناولها في هذه المقالة ملخصة بالصورة المرفقة .
فكرة مبرمج & Programmer idea:
- فهرس المقاله :
▪لماذا نريد من الآلات أن تتعلم؟
▪المكونات الرئيسية لتعلم الآلة
● 1. البيانات (Data)
● 2. الميّزات (Features)
● 3. الخوارزميات (Algorithms)
▪ الفرق بين التعلم (Learning) والذكاء (Intelligence).
▪تعلم الآلة التقليدي
● التعلم الموجه (Supervised Learning)
○ التصنيف (Classification)
○ أشجار القرار (Decision Trees)
○ الانحدار (Regression)
● التعلم غير الموجه (Unsupervised learning)
▪التجميع (Clustering)
● خوارزمية K-mean
● خوارزمية DBSCAN
● تقليل الأبعاد (Dimensionality Reduction)
● تعلم قواعد الربط (Association Rule Learning)
▪التعلم المعزز (Reinforcement Learning)
● طرق التجميع .
○ 1. طريقة التكديس (Stacking)
○ 2. طريقة التعبئة (Bagging)
○ 3. طريقة التعزيز (Boosting)
▪ الشبكات العصبية (Neural Networks) والتعلم العميق (Deep Leaning)
● الشبكات العصبية (Neural Networks)
○ الشبكات العصبية التلافيفية (Convolutional Neural Networks)
○ الشبكات العصبية المتكررة (Recurrent Neural Networks)
● التعلم العميق (Deep Learning)
● الفرق بين الشبكات العصبية والتعلم العميق
▪ الخلاصة
▪ المراجع
▪ لماذا نريد من الآلات أن تتعلم ؟
#Ai
#ML
لماذا نريد من الآلات أن تتعلم؟
هذا صديقنا أحمد يريد شراء سيارة ويحاول حساب مقدار مبلغ المال الّذي سيحتاجُ لتوفيره شهريًا. واستعرض عشرات الإعلانات على الإنترنت وعلم بأن السيارات الجديدة يبلغ سعرها حوالي 20000 دولار، والسيارات المستعملة لعام واحد يبلغ سعرها 19000 دولار، والمستعملة لعامين يبلغ سعرها 18000 دولار وهكذا دواليك.
يبدأ أحمد -محللنا الرائع- بملاحظة نمط معين لسعر السيارات؛ إذ يعتمد سعر السيارة على مدة استخدامها، وينخفض سعرها بمقدار 1000 دولار مقابل كلّ عام من عمرها، لكن سعرها لن ينخفض أقل من 10000 دولار.
في هذه الحالة وطبقًا لمصطلحات تعلّم الآلة يكون أحمد قد ابتكر ما يُعرفُ بالانحدار (Regression):
وهي طريقة لتوقع قيمة (أو سعر) معيّن على أساس بيانات قديمة معروفة.
أغلب الناس تؤدي هذا الأمر طوال الوقت دون أن تشعر به، فمثلًا عند محاولتنا لتقدير السعر المعقول لجهاز أيفون مستعمل على موقع eBay، أو أثناء محاولتنا معرفة وزن اللحوم المناسب والكافي لبلوغ حدّ الشبع لكلّ شخص من المدعوين على عزومة الغداء. فعندها سنبدأ بتقدير الأمر ونسأل أنفسنا، هل 200 غرام كافي للشخص؟ أم 500 غرام أفضل؟ سواءً اعترفنا بذلك أم لا، أغلبنا يؤدي هذه المهمة لا شعوريًا.
سيكون من الجميل أن يكون لدينا صيغة بسيطة مثل هذه لحلّ كلّ مشكلة في العالم. وخاصة بالنسبة لعزومة الغداء. ولكن لسوء الحظ هذا مستحيل.
لنعود إلى مثال السيارات. المشكلة الحقيقية في هذا المثال هو وجود تواريخ تصنيع مختلفة، وعشرات الأنواع من السيارات، والحالة الفنية للسيارة، بالإضافة لارتفاع الطلب الموسمي على سيارة معينة، والكثير من العوامل المخفية الأخرى الّتي تؤثر بسعر السيارة. وبالتأكيد لن يستطيع صديقنا أحمد الاحتفاظ بكلّ هذه البيانات في رأسه أثناء حسابه للسعر.
معظم الناس كسالى بطبعهم ولذلك سنحتاج حتمًا لآلات لتأدية العمليات الرياضية. لذا لنجاري الوضع الحاصل ولِنتجه باتجاه توفير آلة تؤدي هذه المهمة الحسابية الّتي واجهناها. ولنُوفر لها بعض البيانات اللازمة وسنطلبُ منها العثور على جميع الأنماط المخفية المتعلقة بالسعر.
الجميل في الأمر أن هذه الآلة ستُؤدي هذه المهمة بطريقة أفضل بكثير مما سيُؤديه بعض الناس عند تحليلهم بعناية لجميع التبعيات المتعلقة بالسعر في أذهانهم. في الحقيقة كان هذا النوع من المشاكل المحفز الأساسي لولادة تعلّم الآلة.j
▪ المكونات الرئيسية لتعلم الآلة:
لو أردنا اختصار جميع الأهداف الكامنة وراء مجال تعلّم الآلة فسيكون الهدف الوحيد هو توقع النتائج معينة بناءً على البيانات المدخلة (أي التعلّم من البيانات المدخلة). وهذا خلاصة الأمر. إذ يمكن تمثيل جميع مهام تعلّم الآلة بهذه الطريقة.
كلّما زاد تنوع البيانات (تسمى في بعض الأحيان بالعينات) المجمعة لديك، كلّما كان مهمة العثور على الأنماط ذات الصلة والتنبؤ بالنتيجة أسهل نسبيًا. لذلك، فإن أي نظام يستخدم تعلّم الآلة سيحتاجُ لثلاثة مكونات رئيسية وهي:
1- البيانات .
2- الميزات.
3- الخوارزميات.
- نموذج الكابتشا احد نماذج جمع البيانات .
#ML
1. البيانات (Data):
هل تريد الكشف عن رسائل البريد الإلكتروني المزعجة؟ احصل على عينات من الرسائل هذه الرسائل المزعجة. هل تريد التنبؤ بالتغيرات الّتي تطرأ على أسعار الأسهم؟ ابحث عن سجلات أسعار الأسهم. هل تريد معرفة ما هي تفضيلات المستخدم؟ حللّ أنشطته على الفيسبوك، واعتقد بأن مارك زوكربيرج ماهرٌ جدًا في ذلك. كلما كانت البيانات أكثر تنوعًا، كانت النتيجة أفضل. في بعض الأحيان تكون عشرات الآلاف من سجلات البيانات هي الحد الأدنى لاستنتاج معلومة معينة. وفي البعض الآخر نحتاج إلى ملايين العينات.
هناك طريقتين رئيسيتين للحصول على البيانات:
- الطريقة اليدوية.
- الطريقة الآلية.
تتميز البيانات المجمّعة يدويًا باحتوائها على أخطاء أقل بكثير بالموازنة مع نظيرتها الآلية، ولكنها بالمقابل تستغرق وقتًا أطول في التجميع مما يجعلها أكثر تكلفة عمومًا. أما الطريقة الآلية فتكون أرخص إذ كلّ ما سنفعله هو جمع كلّ ما يمكننا العثور عليه على أمل أن تكون جودة هذه البيانات مقبولة.
تستخدم بعض الشركات مثل غوغل عملائها لتصنيف البيانات لهم مجانًا.
هل تعلم لماذا طريقة التحقق البشري ReCaptcha (المستخدمة في أغلب المواقع) تجبرك على "تحديد جميع لافتات الشوارع الموجودة في صورة معينة"؟ في الحقيقة إن هذه الطريقة ما هي إلا وسيلة لتصنيف البيانات وتعظيم الاستفاد منها.
إذ يستغلون حاجتك للتسجيل في الموقع معين ويسخّرونك مجبرًا للعمل لديهم وبالمجان.
مدعين بأنهم بهذه الطريقة يختبرونك بأنك بشري! نعم هذا بالضبط ما يفعلونه! تبًا لهم الأشرار! أراهن لو أنك بمكانهم فستُظهر رمز التحقق البشري أكثر منهم بكثير. أليس كذلك؟
بيد أن من الصعوبة بمكان الحصول على مجموعة جيدة من البيانات والتي تسمى عادةً مجموعة بيانات (Dataset).
وهذه المجموعات مُهمّة للغاية بل إن مجموعة البيانات ذات الجودة العالية هي في الواقع كنز حقيقي لصاحبها لدرجة أن الشركات يمكن أن تكشف أحيانًا عن خوارزمياتها، إلا أنها نادرًا ما تكشف مجموعات البيانات الخاصة بها.
2. الميزات (Features):
تُعرف أيضًا باسم المعاملات (Parameters) أو المتغيّرات (Variables). والتي يمكن أن تعبر عن المسافة المقطوعة بالسيارات، أو جنس المستخدم، أو سعر السهم، أو تكرار كلمة معينة في النص. بعبارة أخرى، هذه هي الميزات الّتي يجب أن تنظرَ لها الآلة.
عندما تكون البيانات مخزنة في الجداول، يكون الأمر بسيطًا - فالميّزات هي أسماء الأعمدة. ولكن ماذا لو كان لديك 100 غيفابايت من صور القطط؟ بكلّ تأكيد لا يمكننا اعتبار كلّ بكسل ميزّة. هذا هو السبب بكون اختيار الميّزات الصحيحة يستغرق عادة وقتًا أطول من أي خطوة أخرى في بناء نظام يعتمد على تعلّم الآلة. وهذا أيضًا هو المصدر الرئيسي للأخطاء. ولذلك دائمًا ما تكون الاختيارات البشرية غير موضوعية. إذ يختارون فقط الميّزات الّتي يحبونها أو تلك الّتي يجدونها "أكثر أهمية". ولذا من فضلك تجنب أن تكون بشريًا!
3. الخوارزميات (Algorithms):
وهو الجزء الأسهل والأكثر وضوحًا. إذ يمكن حلّ أي مشكلة بطرق مختلفة. بيد أن الطريقة الّتي تختارها ستُؤثر على دقة النموذج النهائي وأدائه وحجمه. هناك فارق بسيط واحد مهم: إذا كانت البيانات سيئة فلن تساعدك حتى أفضل خوارزمية موجودة. في بعض الأحيان يشار إليها بمصطلح "الدخل السيئ سيؤدي إلى نتائج سيئة". لذلك لا تهتم كثيرًا لنسبة الدقة، وحاول الحصول على المزيد من البيانات كبداية.
من الجدير بالذكر أن مصطلح نموذج (Model) يشير إلى ما خلاصة ما تعلمته من البيانات، ويكمننا في بعض الأحيان استخدام نموذج جاهز وتمرير البيانات له أو تحسين نموذج حالي.
▪ الفرق بين التعلم (Learning) والذكاء (Intelligence) :
إن سبق ورأيت مقالًا بعنوان "هل ستحلّ الشبكات العصبية محل تعلم الآلة؟" أو على شاكلته من العناوين الّتي تنشرها بعض المواقع التابعة لوسائل إعلامية على الإنترنت. دائمًا ما يسمي رجال الإعلام هؤلاء أي انحدار خطي (Linear Regression) على أنه ذكاء اصطناعي، بل إن بعض وسائل الإعلام تضخم الأمور لدرجة يصعب تصديقها حتى أصبحنا نخاف من الذكاء الصنعي كما خاف أبطال فيلم Terminator من الروبوت SkyNet. وإليك الصورة المرفقة بالمنشور توضح المفاهيم وتفض الالتباس الموجود ، وسنوضح مفهوم كل مجال فيما يلي : ⬇️
- علوم الحاسب (Computer Science):
عمومًا هو دراسة أجهزة الحاسب بما فيها من أسس نظرية و حسابية، كما تشتمل على دراسة الخوارزميات، وبُنى المعطيات وأساسيات تصميم الشبكات ونمذجة البيانات ..وغيرها.
- الذكاء الاصطناعي (Artificial Intelligence):
وهو فرع من فروع علوم الحاسب يهدف إلى تعزيز قدرة الآلات والحواسيب على أداء مهام مُعينة تُحاكي وتُشابه تلك الّتي تقوم بها الكائنات الذكيّة؛ كالقدرة على التفكير، أو التعلُم من التجارب السابقة، أو غيرها من العمليات الأُخرى الّتي تتطلب عمليات ذهنية.
- تعلم الآلة (Machine Learning):
وهو جزء مهم من الذكاء الاصطناعي، وهو أحد فروع الذكاء الاصطناعي الّذي يُعنى بجعل الحاسوب قادرًا على التعلُم من تلقاء نفسه من أيّ خبرات أو تجارب سابقة، مما يجعله قادرًا على التنبؤ واتخاذ القرار المُناسب بصورة أسرع، ولكن تعلم الآلة ليس الفرع الوحيد الّذي يؤدي هذه المهمة.
- الشبكات العصبية الاصطناعية (Artificial Neural Networks):
وهي من أحد أشهر الطرق الشعبية في مجال تعلّم الآلة، ولكن هناك طرق أخرى جيدة أيضًا.
- التعلم العميق (Deep Learning):
هو طريقة حديثة لبناء وتدريب واستخدام الشبكات العصبية. وهي بالأساس هيكلية جديدة للشبكات العصبية. وحاليًا لا أحد يفصل التعلم العميق عن "الشبكات العصبية العادية". حتى أننا نستخدم نفس المكتبات لهم. من الأفضل دومًا تسمية نوع الشبكة وتجنب استخدام الكلمات الرنانة.
من المهم دائمًا تذكر بأنه لا توجد طريقة واحدة أبدًا لحل مشكلة معينة في مجال تعلّم الآلة. بل هناك دائمًا العديد من الخوارزميات الّتي يمكنها حل نفس المشكلة، وتبقى مهمة اختيار الطريقة أو الخوارزمية الأنسب عائدة إليك. إذ يمكنك حلّ أيّ شيء باستخدام شبكة عصبية اصطناعية، ولكن من الّذي سيدفع لك ثمن استئجار (أو حتى شراء) بطاقة معالجة الرسوميات (GPU) من نوع GeForces.
لنبدأ بنظرة عامة أساسية على الاتجاهات الأربعة السائدة حاليًا في مجال تعلّم الآلة ، وستوضح الصورة المرفقه الاتجاهات التي سنسلكها .
▪ تعلم الآلة التقليدي :
○ 1 - الموجه.
▪ التصنيف.
▪ الانحدار .
○ 2 - غير الموجه
▪ التجميع.
▪ التعميم.
▪ الربط.
وهيا الئ التفاصيل : ⬇️
ينقسم تعلّم الآلة الكلاسيكي إلى فئتين وهما التعلّم الموجّه (ويسمى أيضًا التعلّم الخاضع للإشراف) و التعلّم غير الموجّه (ويسمى أيضًا التعلّم غير الخاضع للإشراف).
- التعلم الموجه (Supervised Learning):
تحتوي الآلة على "مشرف" أو "مُعلّم" يزود الآلة بجميع الإجابات الصحيحة والدقيقة، مثل تحديد فيما إذا كان الشكل في الصورة لقطة أو كلب. قسّم (أو صنّف) المعلم بهذا الطريقة فعليًا البيانات إلى قطط وكلاب، ويستخدم الجهاز هذه الأمثلة الصحيحة للتعلم منها. واحدًا تلو الآخر.
أما التعلم غير الموجّه فأن سيترك الآلة بمفردها مع كومة كبيرة من صور الحيوانات ومهمتها ستكون تصنيف هذه الصور. وذلك لأن البيانات غير مصنفة، ولا يوجد معلّم يحدد لنا ما الشكل الموجود في هذه الصور، ولذلك ستحاول الآلة بمفردها العثور على أي أنماط في الصور لتحديد الفوارق ومعرفة ما الموجود في الصور. سنتحدث عن هذه الطرق في التعرف على الأنماط لاحقًا.
من الواضح أن الآلة ستتعلم أسرع بكثير مع معلّم، لذلك فالتعلّم الموجّه مستخدمٌ بكثرة في المهام الواقعية. هناك نوعين رئيسيين لطريقة التعلم الموجّه وهما:
١- التصنيف (Classification):
التنبؤ بصنف كائن معين.
٢- الانحدار (Regression):
التنبؤ بنقطة معينة على محور رقمي.
- فيما يلي سنوضح مفهومها بصورة اوضح : ⬇️
○ 1- التعلّم الموجه :
▪1 - التصنيف (Classification):
تقسيم الكائنات أو العناصر بناءً على إحدى السمات المعروفة مسبقًا. افصل الجوارب بحسب اللون، والمستندات بحسب اللغة، والموسيقى بحسب الأسلوب.
○ 1- التعلّم الموجه :
▪1- التصنيف (ClassFication) :
- وعمومًا يستخدم التصنيف من أجل:
١- تصفية البريد الإلكتروني من الرسائل المزعجة.
٢- كشف عن اللغة المستخدمة.
٣- البحث عن وثائق مماثلة.
٤- تحليل المشاعر.
٥- التعرف على الحروف والأرقام المكتوبة بخط اليد.
٦- الكشف عن الغش.
- ومن بعض الخوارزميات الشائعة المستخدمة للتصنيف:
١- خوارزمية بايز أو المصنّف المعتمد على قانون بايز في الاحتمالات Naive Bayes.
٢- خوارزمية شجرة القرار Decision Tree.
٣- خوارزمية الانحدار اللوجستي Logistic Regression.
٤- خوارزمية الجار الأقرب K-Nearest Neighbours.
٥- خوارزمية الدعم الآلي للمتجه Support Vector Machine.
-ويوجد أيضًا العديد من الخوارزميات الأخرى.
و غالبًا ما يعتمد مجال تعلّم الآلة على تصنيف الأشياء. إذ تكون الآلة في هذه الحالة مثل طفل يتعلم كيفية فرز الألعاب: فها هي الدمية، وهذه هي السيارة، وهذه هي الشاحنة …إلخ ولكن مهلًا. هل هذا الأمر صحيح؟ هل سيعرف الطفل المعنى الحقيقي للدمية أو للسيارة؟ ليستطيع بعدها تمييز أي دمية مهما اختلف شكلها ولونها وطريقة صنعها؟ أي بعبارة أخرى، هل سيستطيع أن يعمم ما تعلمه؟
في التصنيف سنحتاج دائمًا لمعلّم. ويجب تصنيف البيانات بميّزات (Features) حتى تتمكن الآلة من تعيين الأصناف المناسبة بناءً على هذه الميّزات.
وفي الحقيقة يمكننا تصنيف كلّ شيئ تقريبًا ابتداءً من تصنيف المستخدمين بناءً على اهتماماتهم (كما تفعل خوارزمية فيسبوك)، والمقالات المستندة إلى اللغة أو الموضوع (وهذا أمر مهم لمحركات البحث)، والموسيقى المبنية على الأسلوب سواءً أكانت موسيقى جاز أو هيب هوب …إلخ (هذا الأمر نشاهده في قوائم تشغيل الخاصة بتطبيق Spotify)، وحتى تصنيف رسائل البريد الإلكتروني الخاصة بك.
○ 1- التعلّم الموجه :
▪1- التصنيف (ClassFication) :
- خوارزمية بايز :
في تصفية الرسائل المزعجة وغير المرغوب بها تستخدم هذه الخوارزميه على نطاق واسع.
إذ تحسب الآلة عدد الكلمات الجيدة في الرسالة وعدد الكلمات الاحتيالية أيضًا بناءً على تصنيف سابق للكلمات موجود في قاعدة بيانات أو مجموعة بيانات ومن ثمّ تضرب الاحتمالات باستخدام معادلة بايز، وتجمعُ النتائج النهائية وبهذه البساطة أصبح لدينا جهاز يستفيد من طرق تعلّم الآلة من أجل أن يزيد ذكائه ومعرفته.
بعدها بفترة وجيزة تعلم مرسلو البريد العشوائي كيفية التعامل مع هذه المرشحات إن صح التعبير والّتي تعتمد على خوارزمية بايز فعكفوا على إضافة الكثير من الكلمات المصنفة على أنها جيدة في نهاية البريد الإلكتروني لتُتضاف هذه الكلمات إلى العملية الحسابية الخاصة بحساب احتمالات كون الرسالة مزعجة أم لا.
ومن المفارقة أن هذه الثغرة سمّيت لاحقًا بتسمم بايز.
دخلت خوارزمية بايز التاريخ باعتبارها من أوائل الخوارزميات الأنيقة والمفيدة عمليًا في ترشيح رسائل البريدالإلكتروني.
○ 1- التعلّم الموجه :
▪1- التصنيف (ClassFication) :
- أشجار القرار (Decision Trees) :
تستخدم خوارزمية شجرة القرار على نطاق واسع في المجالات ذات المسؤولية العالية مثل: التشخيص والطب وفي الأمور المالية.
من أكثر الخوارزمات شيوعًا لتشكيل الأشجار هما خوارزمية CART وخوارزمية C4.5.
ونادرًا ما تستخدم طريقة بناء أشجار القرار الأساسية الصرفة في وقتنا الحالي. إلا أنها غالبًا ما تضع حجر الأساس للأنظمة الكبيرة، بل إن المُجمّعات (Ensembles) المعتمدة على أشجار القرار تعمل بطريقة أفضل من المجمعات المعتمدة على الشبكات العصبية الاصطناعية (سنتحدث لاحقًا في هذا المقال عن كلّ جزء منهم بالتفصيل).
عندما تبحث عن شيء ما في غوغل، فما يحدث بالضبط هو أن مجموعة من الأشجار ستبحث عن إجابة أو مجموعة من الإجابات المناسبة لك. وهذه الأشجار سريعة جدًا، ولذلك تحبها محركات البحث.
○ 1- التعلّم الموجه :
▪1- التصنيف (ClassFication) :
- وإليك مثال عملي آخر على تطبيقات خوارزميات التصنيف:
لنفترض أنك بحاجة لاقتراض بعض المال عن طريق بطاقتك الائتمانية.
كيف سيعرف البنك إذا كنت تريد فعلًا أن تسدد هذا القرض أم لا؟ وبالتأكيد لا توجد طريقة مباشرة لمعرفة ذلك، مثل أن يسألك مثلًا. ولكن لدى البنك الكثير من الملفات الشخصية لأشخاص اقترضوا مالًا في الماضي. في الواقع لدى البنك جميع البيانات المهمة حول أعمار الأشخاص المقترضين ومستوى تعليمهم ومهنهم ورواتبهم -والأهم من ذلك- حقيقة أن هل هؤلاء المقترضين سددوا القرض أم لا.
وهذه البيانات مهمة جدًا إذ يمكننا تمريرها للنظام الداخلي للبنك الّذي يعتمد على تعلّم الآلة للعثور على الأنماط المحددة الموجودة في الأشخاص الّذين يسددون القروض، وبذلك يمكننا الحصول على الإجابة المبنية على هذه البيانات السابقة. في الواقع لا توجد مشكلة حقيقية في الحصول على إجابة من هذه البيانات.
وإنما تكمن المشكلة في أنه لا يستطيع البنك أن يثق في إجابة الآلة ثقةً عمياء. فماذا لو حدث فشل في النظام أو في جزء منه مثل تعطل أحد الاقراص الصلبة المخزن عليها قواعد البيانات المطلوبة، أو أن أحد قراصنة الإنترنت هجم على الخادم وتلاعب بالخوارزميات أو البيانات. فما الّذي سيحدث في هذه الحالة؟
للتعامل مع هذه الحالة لدينا خوارزمية شجرة القرار. والتي ستقسّم جميع البيانات تلقائيًا إلى أسئلة أجوبتها نعم أو لا.
قد يبدو الأمر غريبًا بعض الشيئ من منظور بشري، فمثلًا ما المشكلة إذا كان الدائن يكسب أكثر من 128.12 دولارًا أمريكيًا؟
بالرغم من ذلك تضع الآلة مثل هذه الأسئلة لتقسيم البيانات بشكل أفضل في كلّ خطوة ، وهكذا تُصنعُ شجرة القرار:
- كلما كان الفرع أعلى كلما كان السؤال أعم.
- يمكن لأي محلل أن يأخذ ناتج الخوارزمية ويعلّم تمامًا ما هو القرار المناسب.
- يمكن ألا يشعر بأن كلّ تفاصيلها منطقية إلا أنه يستطيع أن يبني عليها قراره.
○ 1- التعلّم الموجه :
▪1- التصنيف (ClassFication) :
- خوارزمية الدعم الآلي للمتجه (Support Vector Machines) والتي يشار إليها اختصارًا (SVM) :
هي الطريقة الأكثر شيوعًا للتصنيف الكلاسيكي. والمستخدمة لتصنيف كلّ شيئ موجود تقربيًا مثل: النباتات حسب مظهرها في الصور، والوثائق بحسب الفئات …إلخ. الفكرة وراء خوارزمية الدعم الآلي للمتجه بسيطة جدًا إذ تحاول رسم خطين بين نقاط البيانات الخاصة بك مع أكبر هامش بينهما.
○ 1- التعلّم الموجه :
▪1- التصنيف (ClassFication) :
هناك جانب مفيد جدًا من خوارزميات التصنيف وهو الكشف عن البيانات الشاذة. فعندما لا تتناسب الميزة مع أيّ من الفئات، فإننا نبرزها.
وتستخدم هذه الطريقة حاليًا في الطب وتحديدًا في أجهزة التصوير بالرنين المغناطيسي، تبرز الحواسيب جميع المناطق المشبوهة أو انحرافات الاختبار.
كما تستخدم أيضًا في أسواق الأسهم للكشف عن السلوك غير الطبيعي للتجار لمعرفة ما يحدث وراء الكواليس.
الجميل في الأمر أنه عندما نعلّم الحاسب الأشياء الصحيحة فنكون علمناه تلقائيًا ما هي الأشياء الخاطئة.
- القاعدة الأساسية هي كلّما زاد تعقيد البيانات، زاد تعقيد الخوارزمية.
بالنسبة للنصوص والأرقام والجداول سنختار النهج الكلاسيكي. إذ النماذج الناتجة ستكون أصغر، وتتعلم أسرع وتعمل بوضوح أكبر.
أما بالنسبة للصور ومقاطع الفيديو وجميع أنواع البيانات المعقدة الأخرى، سنتجه بالتأكيد نحو الشبكات العصبية.
منذ خمس سنوات فقط كان بإمكانك العثور على مصنف للوجه مبني على خوارزمية الدعم الآلي للمتجه (SVM).
حاليًا أصبح من السهل الاختيار من بين مئات الخوارزميات المعتمدة على الشبكات العصبية المدربة مسبقًا.
أما بالنسبة لمرشحات البريد العشوائي فلم يتغير شيئ. فلا تزال بعض الأنظمة مكتوبة بخوارزمية الدعم الآلي للمتجه (SVM).
○ 1- التعلّم الموجه :
▪2 - الانحدار (Regression):
وهو طريقة لرسم خط بين مجموعة نقاط. نعم، هذا هو تعلّم الآلة ، و يستخدم الانحدار حاليًا في تطبيقات متعددة، مثل:
١- توقعات أسعار الأسهم.
٢- تحليل حجم الطلب والمبيعات.
٣- التشخيص الطبي.
٤- أي ارتباطات عددية.
▪ ومن الخوارزميات الشائعة نذكر:
١- خوارزمية الانحدار الخطي Linear.
٢- خوارزمية االانحدار متعدد الحواف Polynomial.
○ 1- التعلّم الموجه :
▪2 - الانحدار (Regression):
الانحدار هو في الأساس آلية للتصنيف ولكن هنا نتوقع رقمًا بدلًا من فئة. ومن الأمثلة على ذلك توقع سعر السيارة من خلال المسافة المقطوعة، وتوقع حركة المرور بحسب وقت محدد من اليوم، وتوقع حجم الطلب من خلال نمو الشركة، وما إلى ذلك.
ويكون من الواجب استخدام الانحدار عندما تعتمد مشكلة معينة على الوقت.
كلّ من يعمل في مجالات التمويل والتحليل المالي يحب خوارزميات الانحدار. حتى أن معظمها مدمج في برنامج مايكروسوفت إكسل (Excel).
وطريقة استخدامها سلسة جدًا من الداخل إذ تحاول الآلة ببساطة رسم خط يشير إلى متوسط الارتباط (Average Correlation).
على عكس الشخص الّذي يحاول رسم شكل الانحدار يدويًا على السبورة، فإن الآلة ترسم الشكل بدقة رياضية عالية جدًا، بحساب متوسط الفاصل الزمني لكل نقطة
عندما يكون خط الانحدار مستقيمًا فيكون هذا الانحدار خطيًا، أما عندما يكون خط الانحدار منحنيًا فيكون الانحدار متعدد الحواف (Polynomial).
○ 1- التعلّم الموجه :
▪2 - الانحدار (Regression):
وهذه الأنواع الرئيسية من الانحدار كما ذكرناها في المنشور السابق .
والبعض الآخر أكثر غرابة مثل الانحدار اللوجستي (Logistic Regression) وسيكون شكله مميز كتميز الخروف الأسود في قطيع غنم.
ولكن لا تدعه يخدعك، لأنه مجرد طريقة تصنيف وليس انحدارًا.
لا بأس في الخلط بين الانحدار والتصنيف.
إذ يتحول العديد من المصنّفات لتنفيذ عملية انحدار بقليل من الضبط والإعداد.
وعمومًا تستخدم طرق الانحدار عندما لا يمكننا تحديد فئة الكائن، وإنما يمكننا تحديد ومعرفة مدى قربه من هذه الفئة، وهنا بالضبط تأتي مهمته.
في حال أردت التعمق أكثر في التعلم الموجّه، فراجع هذه السلسلة:
https://medium.com/machine-learning-for-humans/supervised-learning-740383a2feab
الئ هنا وانتهينا من التعلم الموجه كما سنكمل غداً النوع الثاني من انواع تعلّم الالة :
- انضم الان الى اكبر قناة كورسات مجانيه على التلجرام
- فهرس المقاله :
▪لماذا نريد من الآلات أن تتعلم؟
▪المكونات الرئيسية لتعلم الآلة
● 1. البيانات (Data)
● 2. الميّزات (Features)
● 3. الخوارزميات (Algorithms)
▪ الفرق بين التعلم (Learning) والذكاء (Intelligence).
▪تعلم الآلة التقليدي
● التعلم الموجه (Supervised Learning)
○ التصنيف (Classification)
○ أشجار القرار (Decision Trees)
○ الانحدار (Regression)
● التعلم غير الموجه (Unsupervised learning)
▪التجميع (Clustering)
● خوارزمية K-mean
● خوارزمية DBSCAN
● تقليل الأبعاد (Dimensionality Reduction)
● تعلم قواعد الربط (Association Rule Learning)
▪التعلم المعزز (Reinforcement Learning)
● طرق التجميع .
○ 1. طريقة التكديس (Stacking)
○ 2. طريقة التعبئة (Bagging)
○ 3. طريقة التعزيز (Boosting)
▪ الشبكات العصبية (Neural Networks) والتعلم العميق (Deep Leaning)
● الشبكات العصبية (Neural Networks)
○ الشبكات العصبية التلافيفية (Convolutional Neural Networks)
○ الشبكات العصبية المتكررة (Recurrent Neural Networks)
● التعلم العميق (Deep Learning)
● الفرق بين الشبكات العصبية والتعلم العميق
▪ الخلاصة
▪ المراجع
▪ لماذا نريد من الآلات أن تتعلم ؟
#Ai
#ML
لماذا نريد من الآلات أن تتعلم؟
هذا صديقنا أحمد يريد شراء سيارة ويحاول حساب مقدار مبلغ المال الّذي سيحتاجُ لتوفيره شهريًا. واستعرض عشرات الإعلانات على الإنترنت وعلم بأن السيارات الجديدة يبلغ سعرها حوالي 20000 دولار، والسيارات المستعملة لعام واحد يبلغ سعرها 19000 دولار، والمستعملة لعامين يبلغ سعرها 18000 دولار وهكذا دواليك.
يبدأ أحمد -محللنا الرائع- بملاحظة نمط معين لسعر السيارات؛ إذ يعتمد سعر السيارة على مدة استخدامها، وينخفض سعرها بمقدار 1000 دولار مقابل كلّ عام من عمرها، لكن سعرها لن ينخفض أقل من 10000 دولار.
في هذه الحالة وطبقًا لمصطلحات تعلّم الآلة يكون أحمد قد ابتكر ما يُعرفُ بالانحدار (Regression):
وهي طريقة لتوقع قيمة (أو سعر) معيّن على أساس بيانات قديمة معروفة.
أغلب الناس تؤدي هذا الأمر طوال الوقت دون أن تشعر به، فمثلًا عند محاولتنا لتقدير السعر المعقول لجهاز أيفون مستعمل على موقع eBay، أو أثناء محاولتنا معرفة وزن اللحوم المناسب والكافي لبلوغ حدّ الشبع لكلّ شخص من المدعوين على عزومة الغداء. فعندها سنبدأ بتقدير الأمر ونسأل أنفسنا، هل 200 غرام كافي للشخص؟ أم 500 غرام أفضل؟ سواءً اعترفنا بذلك أم لا، أغلبنا يؤدي هذه المهمة لا شعوريًا.
سيكون من الجميل أن يكون لدينا صيغة بسيطة مثل هذه لحلّ كلّ مشكلة في العالم. وخاصة بالنسبة لعزومة الغداء. ولكن لسوء الحظ هذا مستحيل.
لنعود إلى مثال السيارات. المشكلة الحقيقية في هذا المثال هو وجود تواريخ تصنيع مختلفة، وعشرات الأنواع من السيارات، والحالة الفنية للسيارة، بالإضافة لارتفاع الطلب الموسمي على سيارة معينة، والكثير من العوامل المخفية الأخرى الّتي تؤثر بسعر السيارة. وبالتأكيد لن يستطيع صديقنا أحمد الاحتفاظ بكلّ هذه البيانات في رأسه أثناء حسابه للسعر.
معظم الناس كسالى بطبعهم ولذلك سنحتاج حتمًا لآلات لتأدية العمليات الرياضية. لذا لنجاري الوضع الحاصل ولِنتجه باتجاه توفير آلة تؤدي هذه المهمة الحسابية الّتي واجهناها. ولنُوفر لها بعض البيانات اللازمة وسنطلبُ منها العثور على جميع الأنماط المخفية المتعلقة بالسعر.
الجميل في الأمر أن هذه الآلة ستُؤدي هذه المهمة بطريقة أفضل بكثير مما سيُؤديه بعض الناس عند تحليلهم بعناية لجميع التبعيات المتعلقة بالسعر في أذهانهم. في الحقيقة كان هذا النوع من المشاكل المحفز الأساسي لولادة تعلّم الآلة.j
▪ المكونات الرئيسية لتعلم الآلة:
لو أردنا اختصار جميع الأهداف الكامنة وراء مجال تعلّم الآلة فسيكون الهدف الوحيد هو توقع النتائج معينة بناءً على البيانات المدخلة (أي التعلّم من البيانات المدخلة). وهذا خلاصة الأمر. إذ يمكن تمثيل جميع مهام تعلّم الآلة بهذه الطريقة.
كلّما زاد تنوع البيانات (تسمى في بعض الأحيان بالعينات) المجمعة لديك، كلّما كان مهمة العثور على الأنماط ذات الصلة والتنبؤ بالنتيجة أسهل نسبيًا. لذلك، فإن أي نظام يستخدم تعلّم الآلة سيحتاجُ لثلاثة مكونات رئيسية وهي:
1- البيانات .
2- الميزات.
3- الخوارزميات.
- نموذج الكابتشا احد نماذج جمع البيانات .
#ML
1. البيانات (Data):
هل تريد الكشف عن رسائل البريد الإلكتروني المزعجة؟ احصل على عينات من الرسائل هذه الرسائل المزعجة. هل تريد التنبؤ بالتغيرات الّتي تطرأ على أسعار الأسهم؟ ابحث عن سجلات أسعار الأسهم. هل تريد معرفة ما هي تفضيلات المستخدم؟ حللّ أنشطته على الفيسبوك، واعتقد بأن مارك زوكربيرج ماهرٌ جدًا في ذلك. كلما كانت البيانات أكثر تنوعًا، كانت النتيجة أفضل. في بعض الأحيان تكون عشرات الآلاف من سجلات البيانات هي الحد الأدنى لاستنتاج معلومة معينة. وفي البعض الآخر نحتاج إلى ملايين العينات.
هناك طريقتين رئيسيتين للحصول على البيانات:
- الطريقة اليدوية.
- الطريقة الآلية.
تتميز البيانات المجمّعة يدويًا باحتوائها على أخطاء أقل بكثير بالموازنة مع نظيرتها الآلية، ولكنها بالمقابل تستغرق وقتًا أطول في التجميع مما يجعلها أكثر تكلفة عمومًا. أما الطريقة الآلية فتكون أرخص إذ كلّ ما سنفعله هو جمع كلّ ما يمكننا العثور عليه على أمل أن تكون جودة هذه البيانات مقبولة.
تستخدم بعض الشركات مثل غوغل عملائها لتصنيف البيانات لهم مجانًا.
هل تعلم لماذا طريقة التحقق البشري ReCaptcha (المستخدمة في أغلب المواقع) تجبرك على "تحديد جميع لافتات الشوارع الموجودة في صورة معينة"؟ في الحقيقة إن هذه الطريقة ما هي إلا وسيلة لتصنيف البيانات وتعظيم الاستفاد منها.
إذ يستغلون حاجتك للتسجيل في الموقع معين ويسخّرونك مجبرًا للعمل لديهم وبالمجان.
مدعين بأنهم بهذه الطريقة يختبرونك بأنك بشري! نعم هذا بالضبط ما يفعلونه! تبًا لهم الأشرار! أراهن لو أنك بمكانهم فستُظهر رمز التحقق البشري أكثر منهم بكثير. أليس كذلك؟
بيد أن من الصعوبة بمكان الحصول على مجموعة جيدة من البيانات والتي تسمى عادةً مجموعة بيانات (Dataset).
وهذه المجموعات مُهمّة للغاية بل إن مجموعة البيانات ذات الجودة العالية هي في الواقع كنز حقيقي لصاحبها لدرجة أن الشركات يمكن أن تكشف أحيانًا عن خوارزمياتها، إلا أنها نادرًا ما تكشف مجموعات البيانات الخاصة بها.
2. الميزات (Features):
تُعرف أيضًا باسم المعاملات (Parameters) أو المتغيّرات (Variables). والتي يمكن أن تعبر عن المسافة المقطوعة بالسيارات، أو جنس المستخدم، أو سعر السهم، أو تكرار كلمة معينة في النص. بعبارة أخرى، هذه هي الميزات الّتي يجب أن تنظرَ لها الآلة.
عندما تكون البيانات مخزنة في الجداول، يكون الأمر بسيطًا - فالميّزات هي أسماء الأعمدة. ولكن ماذا لو كان لديك 100 غيفابايت من صور القطط؟ بكلّ تأكيد لا يمكننا اعتبار كلّ بكسل ميزّة. هذا هو السبب بكون اختيار الميّزات الصحيحة يستغرق عادة وقتًا أطول من أي خطوة أخرى في بناء نظام يعتمد على تعلّم الآلة. وهذا أيضًا هو المصدر الرئيسي للأخطاء. ولذلك دائمًا ما تكون الاختيارات البشرية غير موضوعية. إذ يختارون فقط الميّزات الّتي يحبونها أو تلك الّتي يجدونها "أكثر أهمية". ولذا من فضلك تجنب أن تكون بشريًا!
3. الخوارزميات (Algorithms):
وهو الجزء الأسهل والأكثر وضوحًا. إذ يمكن حلّ أي مشكلة بطرق مختلفة. بيد أن الطريقة الّتي تختارها ستُؤثر على دقة النموذج النهائي وأدائه وحجمه. هناك فارق بسيط واحد مهم: إذا كانت البيانات سيئة فلن تساعدك حتى أفضل خوارزمية موجودة. في بعض الأحيان يشار إليها بمصطلح "الدخل السيئ سيؤدي إلى نتائج سيئة". لذلك لا تهتم كثيرًا لنسبة الدقة، وحاول الحصول على المزيد من البيانات كبداية.
من الجدير بالذكر أن مصطلح نموذج (Model) يشير إلى ما خلاصة ما تعلمته من البيانات، ويكمننا في بعض الأحيان استخدام نموذج جاهز وتمرير البيانات له أو تحسين نموذج حالي.
▪ الفرق بين التعلم (Learning) والذكاء (Intelligence) :
إن سبق ورأيت مقالًا بعنوان "هل ستحلّ الشبكات العصبية محل تعلم الآلة؟" أو على شاكلته من العناوين الّتي تنشرها بعض المواقع التابعة لوسائل إعلامية على الإنترنت. دائمًا ما يسمي رجال الإعلام هؤلاء أي انحدار خطي (Linear Regression) على أنه ذكاء اصطناعي، بل إن بعض وسائل الإعلام تضخم الأمور لدرجة يصعب تصديقها حتى أصبحنا نخاف من الذكاء الصنعي كما خاف أبطال فيلم Terminator من الروبوت SkyNet. وإليك الصورة المرفقة بالمنشور توضح المفاهيم وتفض الالتباس الموجود ، وسنوضح مفهوم كل مجال فيما يلي : ⬇️
- علوم الحاسب (Computer Science):
عمومًا هو دراسة أجهزة الحاسب بما فيها من أسس نظرية و حسابية، كما تشتمل على دراسة الخوارزميات، وبُنى المعطيات وأساسيات تصميم الشبكات ونمذجة البيانات ..وغيرها.
- الذكاء الاصطناعي (Artificial Intelligence):
وهو فرع من فروع علوم الحاسب يهدف إلى تعزيز قدرة الآلات والحواسيب على أداء مهام مُعينة تُحاكي وتُشابه تلك الّتي تقوم بها الكائنات الذكيّة؛ كالقدرة على التفكير، أو التعلُم من التجارب السابقة، أو غيرها من العمليات الأُخرى الّتي تتطلب عمليات ذهنية.
- تعلم الآلة (Machine Learning):
وهو جزء مهم من الذكاء الاصطناعي، وهو أحد فروع الذكاء الاصطناعي الّذي يُعنى بجعل الحاسوب قادرًا على التعلُم من تلقاء نفسه من أيّ خبرات أو تجارب سابقة، مما يجعله قادرًا على التنبؤ واتخاذ القرار المُناسب بصورة أسرع، ولكن تعلم الآلة ليس الفرع الوحيد الّذي يؤدي هذه المهمة.
- الشبكات العصبية الاصطناعية (Artificial Neural Networks):
وهي من أحد أشهر الطرق الشعبية في مجال تعلّم الآلة، ولكن هناك طرق أخرى جيدة أيضًا.
- التعلم العميق (Deep Learning):
هو طريقة حديثة لبناء وتدريب واستخدام الشبكات العصبية. وهي بالأساس هيكلية جديدة للشبكات العصبية. وحاليًا لا أحد يفصل التعلم العميق عن "الشبكات العصبية العادية". حتى أننا نستخدم نفس المكتبات لهم. من الأفضل دومًا تسمية نوع الشبكة وتجنب استخدام الكلمات الرنانة.
من المهم دائمًا تذكر بأنه لا توجد طريقة واحدة أبدًا لحل مشكلة معينة في مجال تعلّم الآلة. بل هناك دائمًا العديد من الخوارزميات الّتي يمكنها حل نفس المشكلة، وتبقى مهمة اختيار الطريقة أو الخوارزمية الأنسب عائدة إليك. إذ يمكنك حلّ أيّ شيء باستخدام شبكة عصبية اصطناعية، ولكن من الّذي سيدفع لك ثمن استئجار (أو حتى شراء) بطاقة معالجة الرسوميات (GPU) من نوع GeForces.
لنبدأ بنظرة عامة أساسية على الاتجاهات الأربعة السائدة حاليًا في مجال تعلّم الآلة ، وستوضح الصورة المرفقه الاتجاهات التي سنسلكها .
▪ تعلم الآلة التقليدي :
○ 1 - الموجه.
▪ التصنيف.
▪ الانحدار .
○ 2 - غير الموجه
▪ التجميع.
▪ التعميم.
▪ الربط.
وهيا الئ التفاصيل : ⬇️
ينقسم تعلّم الآلة الكلاسيكي إلى فئتين وهما التعلّم الموجّه (ويسمى أيضًا التعلّم الخاضع للإشراف) و التعلّم غير الموجّه (ويسمى أيضًا التعلّم غير الخاضع للإشراف).
- التعلم الموجه (Supervised Learning):
تحتوي الآلة على "مشرف" أو "مُعلّم" يزود الآلة بجميع الإجابات الصحيحة والدقيقة، مثل تحديد فيما إذا كان الشكل في الصورة لقطة أو كلب. قسّم (أو صنّف) المعلم بهذا الطريقة فعليًا البيانات إلى قطط وكلاب، ويستخدم الجهاز هذه الأمثلة الصحيحة للتعلم منها. واحدًا تلو الآخر.
أما التعلم غير الموجّه فأن سيترك الآلة بمفردها مع كومة كبيرة من صور الحيوانات ومهمتها ستكون تصنيف هذه الصور. وذلك لأن البيانات غير مصنفة، ولا يوجد معلّم يحدد لنا ما الشكل الموجود في هذه الصور، ولذلك ستحاول الآلة بمفردها العثور على أي أنماط في الصور لتحديد الفوارق ومعرفة ما الموجود في الصور. سنتحدث عن هذه الطرق في التعرف على الأنماط لاحقًا.
من الواضح أن الآلة ستتعلم أسرع بكثير مع معلّم، لذلك فالتعلّم الموجّه مستخدمٌ بكثرة في المهام الواقعية. هناك نوعين رئيسيين لطريقة التعلم الموجّه وهما:
١- التصنيف (Classification):
التنبؤ بصنف كائن معين.
٢- الانحدار (Regression):
التنبؤ بنقطة معينة على محور رقمي.
- فيما يلي سنوضح مفهومها بصورة اوضح : ⬇️
○ 1- التعلّم الموجه :
▪1 - التصنيف (Classification):
تقسيم الكائنات أو العناصر بناءً على إحدى السمات المعروفة مسبقًا. افصل الجوارب بحسب اللون، والمستندات بحسب اللغة، والموسيقى بحسب الأسلوب.
○ 1- التعلّم الموجه :
▪1- التصنيف (ClassFication) :
- وعمومًا يستخدم التصنيف من أجل:
١- تصفية البريد الإلكتروني من الرسائل المزعجة.
٢- كشف عن اللغة المستخدمة.
٣- البحث عن وثائق مماثلة.
٤- تحليل المشاعر.
٥- التعرف على الحروف والأرقام المكتوبة بخط اليد.
٦- الكشف عن الغش.
- ومن بعض الخوارزميات الشائعة المستخدمة للتصنيف:
١- خوارزمية بايز أو المصنّف المعتمد على قانون بايز في الاحتمالات Naive Bayes.
٢- خوارزمية شجرة القرار Decision Tree.
٣- خوارزمية الانحدار اللوجستي Logistic Regression.
٤- خوارزمية الجار الأقرب K-Nearest Neighbours.
٥- خوارزمية الدعم الآلي للمتجه Support Vector Machine.
-ويوجد أيضًا العديد من الخوارزميات الأخرى.
و غالبًا ما يعتمد مجال تعلّم الآلة على تصنيف الأشياء. إذ تكون الآلة في هذه الحالة مثل طفل يتعلم كيفية فرز الألعاب: فها هي الدمية، وهذه هي السيارة، وهذه هي الشاحنة …إلخ ولكن مهلًا. هل هذا الأمر صحيح؟ هل سيعرف الطفل المعنى الحقيقي للدمية أو للسيارة؟ ليستطيع بعدها تمييز أي دمية مهما اختلف شكلها ولونها وطريقة صنعها؟ أي بعبارة أخرى، هل سيستطيع أن يعمم ما تعلمه؟
في التصنيف سنحتاج دائمًا لمعلّم. ويجب تصنيف البيانات بميّزات (Features) حتى تتمكن الآلة من تعيين الأصناف المناسبة بناءً على هذه الميّزات.
وفي الحقيقة يمكننا تصنيف كلّ شيئ تقريبًا ابتداءً من تصنيف المستخدمين بناءً على اهتماماتهم (كما تفعل خوارزمية فيسبوك)، والمقالات المستندة إلى اللغة أو الموضوع (وهذا أمر مهم لمحركات البحث)، والموسيقى المبنية على الأسلوب سواءً أكانت موسيقى جاز أو هيب هوب …إلخ (هذا الأمر نشاهده في قوائم تشغيل الخاصة بتطبيق Spotify)، وحتى تصنيف رسائل البريد الإلكتروني الخاصة بك.
○ 1- التعلّم الموجه :
▪1- التصنيف (ClassFication) :
- خوارزمية بايز :
في تصفية الرسائل المزعجة وغير المرغوب بها تستخدم هذه الخوارزميه على نطاق واسع.
إذ تحسب الآلة عدد الكلمات الجيدة في الرسالة وعدد الكلمات الاحتيالية أيضًا بناءً على تصنيف سابق للكلمات موجود في قاعدة بيانات أو مجموعة بيانات ومن ثمّ تضرب الاحتمالات باستخدام معادلة بايز، وتجمعُ النتائج النهائية وبهذه البساطة أصبح لدينا جهاز يستفيد من طرق تعلّم الآلة من أجل أن يزيد ذكائه ومعرفته.
بعدها بفترة وجيزة تعلم مرسلو البريد العشوائي كيفية التعامل مع هذه المرشحات إن صح التعبير والّتي تعتمد على خوارزمية بايز فعكفوا على إضافة الكثير من الكلمات المصنفة على أنها جيدة في نهاية البريد الإلكتروني لتُتضاف هذه الكلمات إلى العملية الحسابية الخاصة بحساب احتمالات كون الرسالة مزعجة أم لا.
ومن المفارقة أن هذه الثغرة سمّيت لاحقًا بتسمم بايز.
دخلت خوارزمية بايز التاريخ باعتبارها من أوائل الخوارزميات الأنيقة والمفيدة عمليًا في ترشيح رسائل البريدالإلكتروني.
○ 1- التعلّم الموجه :
▪1- التصنيف (ClassFication) :
- أشجار القرار (Decision Trees) :
تستخدم خوارزمية شجرة القرار على نطاق واسع في المجالات ذات المسؤولية العالية مثل: التشخيص والطب وفي الأمور المالية.
من أكثر الخوارزمات شيوعًا لتشكيل الأشجار هما خوارزمية CART وخوارزمية C4.5.
ونادرًا ما تستخدم طريقة بناء أشجار القرار الأساسية الصرفة في وقتنا الحالي. إلا أنها غالبًا ما تضع حجر الأساس للأنظمة الكبيرة، بل إن المُجمّعات (Ensembles) المعتمدة على أشجار القرار تعمل بطريقة أفضل من المجمعات المعتمدة على الشبكات العصبية الاصطناعية (سنتحدث لاحقًا في هذا المقال عن كلّ جزء منهم بالتفصيل).
عندما تبحث عن شيء ما في غوغل، فما يحدث بالضبط هو أن مجموعة من الأشجار ستبحث عن إجابة أو مجموعة من الإجابات المناسبة لك. وهذه الأشجار سريعة جدًا، ولذلك تحبها محركات البحث.
○ 1- التعلّم الموجه :
▪1- التصنيف (ClassFication) :
- وإليك مثال عملي آخر على تطبيقات خوارزميات التصنيف:
لنفترض أنك بحاجة لاقتراض بعض المال عن طريق بطاقتك الائتمانية.
كيف سيعرف البنك إذا كنت تريد فعلًا أن تسدد هذا القرض أم لا؟ وبالتأكيد لا توجد طريقة مباشرة لمعرفة ذلك، مثل أن يسألك مثلًا. ولكن لدى البنك الكثير من الملفات الشخصية لأشخاص اقترضوا مالًا في الماضي. في الواقع لدى البنك جميع البيانات المهمة حول أعمار الأشخاص المقترضين ومستوى تعليمهم ومهنهم ورواتبهم -والأهم من ذلك- حقيقة أن هل هؤلاء المقترضين سددوا القرض أم لا.
وهذه البيانات مهمة جدًا إذ يمكننا تمريرها للنظام الداخلي للبنك الّذي يعتمد على تعلّم الآلة للعثور على الأنماط المحددة الموجودة في الأشخاص الّذين يسددون القروض، وبذلك يمكننا الحصول على الإجابة المبنية على هذه البيانات السابقة. في الواقع لا توجد مشكلة حقيقية في الحصول على إجابة من هذه البيانات.
وإنما تكمن المشكلة في أنه لا يستطيع البنك أن يثق في إجابة الآلة ثقةً عمياء. فماذا لو حدث فشل في النظام أو في جزء منه مثل تعطل أحد الاقراص الصلبة المخزن عليها قواعد البيانات المطلوبة، أو أن أحد قراصنة الإنترنت هجم على الخادم وتلاعب بالخوارزميات أو البيانات. فما الّذي سيحدث في هذه الحالة؟
للتعامل مع هذه الحالة لدينا خوارزمية شجرة القرار. والتي ستقسّم جميع البيانات تلقائيًا إلى أسئلة أجوبتها نعم أو لا.
قد يبدو الأمر غريبًا بعض الشيئ من منظور بشري، فمثلًا ما المشكلة إذا كان الدائن يكسب أكثر من 128.12 دولارًا أمريكيًا؟
بالرغم من ذلك تضع الآلة مثل هذه الأسئلة لتقسيم البيانات بشكل أفضل في كلّ خطوة ، وهكذا تُصنعُ شجرة القرار:
- كلما كان الفرع أعلى كلما كان السؤال أعم.
- يمكن لأي محلل أن يأخذ ناتج الخوارزمية ويعلّم تمامًا ما هو القرار المناسب.
- يمكن ألا يشعر بأن كلّ تفاصيلها منطقية إلا أنه يستطيع أن يبني عليها قراره.
○ 1- التعلّم الموجه :
▪1- التصنيف (ClassFication) :
- خوارزمية الدعم الآلي للمتجه (Support Vector Machines) والتي يشار إليها اختصارًا (SVM) :
هي الطريقة الأكثر شيوعًا للتصنيف الكلاسيكي. والمستخدمة لتصنيف كلّ شيئ موجود تقربيًا مثل: النباتات حسب مظهرها في الصور، والوثائق بحسب الفئات …إلخ. الفكرة وراء خوارزمية الدعم الآلي للمتجه بسيطة جدًا إذ تحاول رسم خطين بين نقاط البيانات الخاصة بك مع أكبر هامش بينهما.
○ 1- التعلّم الموجه :
▪1- التصنيف (ClassFication) :
هناك جانب مفيد جدًا من خوارزميات التصنيف وهو الكشف عن البيانات الشاذة. فعندما لا تتناسب الميزة مع أيّ من الفئات، فإننا نبرزها.
وتستخدم هذه الطريقة حاليًا في الطب وتحديدًا في أجهزة التصوير بالرنين المغناطيسي، تبرز الحواسيب جميع المناطق المشبوهة أو انحرافات الاختبار.
كما تستخدم أيضًا في أسواق الأسهم للكشف عن السلوك غير الطبيعي للتجار لمعرفة ما يحدث وراء الكواليس.
الجميل في الأمر أنه عندما نعلّم الحاسب الأشياء الصحيحة فنكون علمناه تلقائيًا ما هي الأشياء الخاطئة.
- القاعدة الأساسية هي كلّما زاد تعقيد البيانات، زاد تعقيد الخوارزمية.
بالنسبة للنصوص والأرقام والجداول سنختار النهج الكلاسيكي. إذ النماذج الناتجة ستكون أصغر، وتتعلم أسرع وتعمل بوضوح أكبر.
أما بالنسبة للصور ومقاطع الفيديو وجميع أنواع البيانات المعقدة الأخرى، سنتجه بالتأكيد نحو الشبكات العصبية.
منذ خمس سنوات فقط كان بإمكانك العثور على مصنف للوجه مبني على خوارزمية الدعم الآلي للمتجه (SVM).
حاليًا أصبح من السهل الاختيار من بين مئات الخوارزميات المعتمدة على الشبكات العصبية المدربة مسبقًا.
أما بالنسبة لمرشحات البريد العشوائي فلم يتغير شيئ. فلا تزال بعض الأنظمة مكتوبة بخوارزمية الدعم الآلي للمتجه (SVM).
○ 1- التعلّم الموجه :
▪2 - الانحدار (Regression):
وهو طريقة لرسم خط بين مجموعة نقاط. نعم، هذا هو تعلّم الآلة ، و يستخدم الانحدار حاليًا في تطبيقات متعددة، مثل:
١- توقعات أسعار الأسهم.
٢- تحليل حجم الطلب والمبيعات.
٣- التشخيص الطبي.
٤- أي ارتباطات عددية.
▪ ومن الخوارزميات الشائعة نذكر:
١- خوارزمية الانحدار الخطي Linear.
٢- خوارزمية االانحدار متعدد الحواف Polynomial.
○ 1- التعلّم الموجه :
▪2 - الانحدار (Regression):
الانحدار هو في الأساس آلية للتصنيف ولكن هنا نتوقع رقمًا بدلًا من فئة. ومن الأمثلة على ذلك توقع سعر السيارة من خلال المسافة المقطوعة، وتوقع حركة المرور بحسب وقت محدد من اليوم، وتوقع حجم الطلب من خلال نمو الشركة، وما إلى ذلك.
ويكون من الواجب استخدام الانحدار عندما تعتمد مشكلة معينة على الوقت.
كلّ من يعمل في مجالات التمويل والتحليل المالي يحب خوارزميات الانحدار. حتى أن معظمها مدمج في برنامج مايكروسوفت إكسل (Excel).
وطريقة استخدامها سلسة جدًا من الداخل إذ تحاول الآلة ببساطة رسم خط يشير إلى متوسط الارتباط (Average Correlation).
على عكس الشخص الّذي يحاول رسم شكل الانحدار يدويًا على السبورة، فإن الآلة ترسم الشكل بدقة رياضية عالية جدًا، بحساب متوسط الفاصل الزمني لكل نقطة
عندما يكون خط الانحدار مستقيمًا فيكون هذا الانحدار خطيًا، أما عندما يكون خط الانحدار منحنيًا فيكون الانحدار متعدد الحواف (Polynomial).
○ 1- التعلّم الموجه :
▪2 - الانحدار (Regression):
وهذه الأنواع الرئيسية من الانحدار كما ذكرناها في المنشور السابق .
والبعض الآخر أكثر غرابة مثل الانحدار اللوجستي (Logistic Regression) وسيكون شكله مميز كتميز الخروف الأسود في قطيع غنم.
ولكن لا تدعه يخدعك، لأنه مجرد طريقة تصنيف وليس انحدارًا.
لا بأس في الخلط بين الانحدار والتصنيف.
إذ يتحول العديد من المصنّفات لتنفيذ عملية انحدار بقليل من الضبط والإعداد.
وعمومًا تستخدم طرق الانحدار عندما لا يمكننا تحديد فئة الكائن، وإنما يمكننا تحديد ومعرفة مدى قربه من هذه الفئة، وهنا بالضبط تأتي مهمته.
في حال أردت التعمق أكثر في التعلم الموجّه، فراجع هذه السلسلة:
https://medium.com/machine-learning-for-humans/supervised-learning-740383a2feab
الئ هنا وانتهينا من التعلم الموجه كما سنكمل غداً النوع الثاني من انواع تعلّم الالة :
- انضم الان الى اكبر قناة كورسات مجانيه على التلجرام
https://t.me/Yemen_Free_Course