منذ اختراع الكمبيوتر في منتصف القرن الماضي، جرت العادة على برمجة الكمبيوتر بطريقة إرشادية بحتة. بمعنى اننا نحتاج إلى كتابة جميع الأوامر والعمليات التي نريد من الكمبيوتر القيام بها من اجل تنفيذ مهمة ما. مثلاً، بلا بلا ... الخ. لاشك ان هذه الطريقة التقليدية لبرمجة الكمبيوتر مُكلفة ومعقدة للغاية بحيث انه لايمكننا حصر وتدوين كافة الأوامر وتفاصيل العمليات لكل المهمات، و خصوصاً اننا في كثير من المهام لانعرف ماهي العمليات والخطوات التي ينبغي القيام بها من أجل تحقيق نتيجة أو هدف معين. لاسيما إن كانت المهمة، التي نريد من الكمبيوتر القيام بها، معقدة مثل "التنبوء بشعور الكاتب من خلال النص المكتوب" او "تمييز الصور" مثلاً معاينة صورة ما وتمييز ما إذا كانت الصورة لطفل او قطة.
ولكن في مطلع هذا القرن ظهر نوعا جديد لبرمجة الكمبيوتر مغاير للنوع المعتاد (ملاحظة: موجود منذ مبطي، بس توه يبدا يشتهر ويعطي نتايج على ارض الواقع بسبب كثرة البيانات وتقدم القدرة الحوسبية للكمبيوتر)، بحيث تعتمد هذه الطريقة على برمجة الكمبيوتر بأسلوب يمكنه من التعلم بنفسه و معرفه الأوامر بشكل ذاتي لما يجب له القيام به، بدلاً من ان نقوم بكتابة كافة الأوامر له. هذا النوع من برمجة الكمبيوتر يسمى التعلم الآلي. يعتبر التعلم الآلي فرع رئيسي بل والمحرك الأساسي لما يسمى بالذكاء الأصطناعي.
على الرغم ان التعلم الآلي مازال في أيامه المثمرة الاولى الا انه مكن العلماء من تحقيق إنجازات علمية وتقدم تكنولوجي هائل في مجالات كثيرة كالطب، و .. و .. الخ. وفي المستقبل سيفتح آفاق من التقدم العلمي.
عبدالعزيز الطويان
مانهاتن، نيويورك
2019/06/11
ملاحظة: صديقي القارئ، اولاً شكراً لك على زيارتك. هذي أول محاولة لي في عالم الترجمة. لذلك هي محاولة أولية وبدائية "و غير مكتملة مجرد فصل وربع 😄". اتمنى اسمع رأيك وإقتراحاتك أو أي ملاحظة (مهما كانت) لتحسين الترجمة والمحتوى بشكل عام. من أجل ان تكون ترجمة بقية الكتاب مُوجهة و معتمدة على ملاحظات وتوصيات القراء والمختصين، والهدف هو ان تظهر الترجمة بشكل مناسب للجميع وتؤدي الغرض من غير الإعتماد على أسلوب قد لا يتوافق مع طريقة لغتنا ومفهومنا للأشياء. و شكراً.
في هذة الترجمة أستخدمنا المصطلحات التالية:
المصطلح الإنجليزي | العربي |
---|---|
dataset | حزمة البيانات، مجموعة البيانات |
label | العلامة، صنف، تصنيف، الفئة |
positive label | الصنف الإيجابي |
negative label | الصنف السلبي |
sample | مثال |
labeled sample | مثال محدد، مصنف، مثال مُرقم |
vector | متجه |
feature | خاصية، ميزة |
feature vector | متجه الخواص، متجه الميزه |
supervised learning | التعلم باشراف، التعلم الإرشادي |
semi-supervised learning | التعليم شبه الخاضع للإشراف |
unsupervised learning | التعلم دون إشراف، التعلم اللاإرشادي |
clustering | التجميع، مشكلة التجميع |
dimensionality reduction | تقليص الأبعاد، خفض الأبعاد |
outlier detection | كشف المُختلف |
reinforcement learning | التعلم التعزيزي |
state | حالة |
actions | إجراء |
environment | بيئة |
policy | سياسة |
expected average reward | متوسط المكافأة المتوقعة |
bag of words | كيس من الكلمات |
dimension | بُعد |
Support Vector Machines | خوارزمية متجهات الدعم |
optimization | تحسين |
optimization problem | مشكلة تحسين |
Hyperplane | فضاء الأبعاد، الفضاء البعدي |
generalization | تعميم |
minimize | تقليل، تقليص |
maximize | تكبير، حقق الحد الأقصى |
statistical model | نموذج إحصائي |
model | نموذج |
training | تدريب |
decision boundary | حد القرار |
separating line | الخط الفاصل |
class | صنف |
noise | اللاتماثل، ضوضاء |
hyperparameter | مقياس |
penalty hyperparameters | مقاييس جزائية |
classification problem | مشكلة تصنيف |
regression problem | مشكلة إرتداد (تحليل الإنحدار) |
classification learning algorithm | خوارزمية تعلم تصنيفية |
التعلم الآلي هو حقل فرعي لعلوم الكمبيوتر يهتم بخوارزميات البناء التي، لتكون مفيدة، تعتمد على مجموعة من الأمثلة لبعض الظواهر. هذه الأمثلة يمكن أن تأتي من الطبيعة، أن يصنعها الإنسان أو يتم إنشاؤها بواسطة خوارزمية أخرى.
يمكن تعريف التعلم الآلي على أنه عملية حل مشكلة عملية بواسطة 1) جمع مجموعة بيانات، و 2) بناء (خوارزمية) نموذج إحصائي يستند إلى مجموعة البيانات هذه. من المفترض أن يتم استخدام هذا النموذج الإحصائي بطريقة ما لحل المشكلة العملية.
في هذا الكتاب سأستخدم مصطلحي "التعلم" و "التعلم الآلي" بالتبادل لنفس الشئ.
التعلم يمكن أن يتم بإشراف (بتوجيه)، شبه إشراف، غير خاضعة للإشراف، و تعزيزي.
في التعلم الخاضع للإشراف، حزمة البيانات هي مجموعة من الأمثلة المسماة
كل عنصر
بالنسبة لجميع الأمثلة في مجموعة البيانات، الميزة في الموقع
يمكن أن تكون العلامة
الهدف من خوارزمية التعلم الخاضعة للإشراف هو استخدام حزمة البيانات لإنتاج نموذج يأخذ متجهات الخصائص "
في التعلم غير الخاضع للإشراف ، حزمة البيانات هي مجموعة من الأمثلة غير المقيدة (أي لا تنتمي إلى فصيلة)
وفي التعليم شبه الخاضع للإشراف، تحتوي مجموعة البيانات على أمثلة محددة وغير محددة. وعادة ما تكون كمية الأمثلة غير المصنفة أعلى بكثير من عدد الأمثلة المصنفة. هدف خوارزمية التعلم شبه الخاضع للإشراف هو نفس هدف خوارزمية التعلم الخاضعة للإشراف. والأمل هنا هو أن استخدام العديد من الأمثلة غير المحددة يمكن أن يساعد خوارزمية التعلم على إيجاد (قد نقول "بناء" أو "حساب") نموذج أفضل.
ويمكن أن يبدو غير بديهي أن التعلم يمكن أن يستفيد من إضافة المزيد من الأمثلة غير المقيدة. ويبدو أننا نضيف المزيد من عدم اليقين إلى المشكلة. ومع ذلك، عندما تضيف أمثلة غير مرقمة، تضيف المزيد من المعلومات عن مشكلتك: عينة أكبر تعكس بشكل أفضل توزيع الاحتمالية للبيانات التي صنفناها جاءت من. نظرياً، خوارزمية التعلم يجب أن تكون قادرة على الاستفادة من هذه المعلومات الإضافية.
تعلم التعزيز هو مجال فرعي للتعلم الآلي حيث "تعيش" الآلة في بيئة وتكون قادرة على تصور حالة تلك البيئة كمتجه من الميزات. يمكن للآلة تنفيذ الإجراءات في كل حالة. الإجراءات المختلفة تؤدي إلى مكافآت مختلفة وقد أيضا تنقل الآلة إلى حالة أخرى في البيئة. الهدف من خوارزمية التعلم التعزيزي هو تعلم سياسة معينة.
السياسة هي دالة (مماثلة للنموذج في التعلم الخاضع للإشراف) تأخذ متجه الميزه لـ حالة معينة كمدخل وتنتج الإجراء الأمثل للتنفيذ في تلك الحالة. سيعتر إجراء ما هو الأمثل إذا ما زاد إلى أقصى حد من متوسط المكافأة المتوقعة.
التعلم التعزيزي يحل نوعا معينا من المشاكل والتي يكون فيها اتخاذ القرار متسلسلاً، والهدف طويل الأجل. مثل لعب الألعاب، أو الروبوتات، أو إدارة الموارد، أو اللوجستيات. في هذا الكتاب، أشدد على اتخاذ القرار ذو الطلقة واحدة حيث تكون أمثلة المدخلات مستقلة عن بعضها البعض وعن التنبؤات في الماضي. أترك التعليم التعزيزي هو خارج نطاق هذا الكتاب.
في هذا القسم، أشرح بإيجاز كيف يعمل التعليم تحت الإشراف من أجل ان تكون لديك الصورة العملية برمتها قبل أن ندخل في التفاصيل. قررت استخدام التعليم تحت الإشراف كمثال لأنه أكثر أنواع تعلم الآلة إستخداماً.
تبدأ عملية التعلم الخاضعة للإشراف بجمع البيانات. والبيانات الخاصة بالتعلم الخاضع للإشراف هي مجموعة من الأزواج (المدخلات و المخرجات). يمكن للمدخلات أن تكون أي شيء، على سبيل المثال: رسائل بريد الإلكتروني، صور، أو القياسات من أجهزة الإستشعار. المخرجات هي عادة أرقام حقيقية، أو علامات (مثل في حالة رسائل البريد: "البريد مزعج"، "البريد غير مزعج"، أو في حالة الصور: "كلب"، "قطة"، الخ). وفي بعض الحالات، تكون المخرجات متجهات (مثلاً، أربع إحداثيات للمستطيل حول شخص في الصورة)، أو تسلسلات (على سبيل المثال: ["أسم" ، "صفة" ، "صفة"] للمدخلات: "سيارة كبيرة جميلة")، أو يكون للمخرجات هيكل آخر.
لنقل أن المشكلة التي نريد حلها باستخدام التعلم بإشراف هي كشف الرسائل المزعجة. وقمنا بجمع البيانات، على سبيل المثال، من 10000 رسالة بريد إلكتروني، كل رسالة مُرقّمة (أو مصنفة) إما "بريد المزعج" أو "غير مزعج" (يمكننا إضافة تلك التسميات يدويا أو إستئجار أحدهم للقيام بذلك). الآن، يجب أن تحول كل رسالة بريد إلكتروني إلى متجه الخواص.
يُقرر محلل البيانات، استنادا إلى خبرته، كيفية تحويل كيان من العالم الحقيقي، مثل رسالة البريد الإلكتروني، إلى متجه الخواص. أحد الطرق المتعارف عليها لتحويل النص إلى متجه خاصية تسمى كيس من الكلمات، هو أن تأخذ قاموس الكلمات العربية (لنفرض أنه يحتوي على 20000 كلمة مرتبة أبجديا) و تنص على أن لدينا في متجه الخواص مثلاً:
كرر الإجراء أعلاه لكل رسالة البريد الإلكتروني في حزمة البيانات، مما يعطينا 10000 متجه خاصيه (كل متجه يحتوي على 20000 بُعد) و التصنيف ("بريد مزعج"، "غير مزعج").
الآن لديك بيانات أمثلة المدخلات كأرقام والتي يمكن قراءتها آلياً، ولكن علامات المخرجات لا تزال في شكل نص مقروء والتى لايمكن للكمبيوتر قراءتها آلياً. بعض خوارزميات التعلم تتطلب تحويل هذه التسميات إلى أرقام. على سبيل المثال، تحتاج بعض الخوارزميات إلى أرقام مثل 0 (لتمثيل الوسم "غير مزعج") و 1 (لتمثيل الصنف "بريد مزعج"). الخوارزمية التي سنستخدمها لتوضيح التعلم الخاضع للإشراف تسمى خوارزمية متجهات الدعم (SVM). تتطلب هذه الخوارزمية أن الصنف الإيجابي (في حالتنا هو "بريد المزعج") لها القيمة العددية من +1 (واحد)، والعلامة السلبية ("غير مزعج") لها قيمة -1 (ناقص واحد).
حتى هذه اللحظة، لديك حزمة بيانات و خوارزمية تعلم، لذلك أنت على استعداد لتطبيق خوارزمية التعلم على مجموعة البيانات للحصول على النموذج.
ترى خوارزمية متجهات الدعم "svm" كل متجه خاصيه كنقطة في فضاء عالي الأبعاد (في حالتنا، أبعاد الفضاء هي 20000 بُعد). تضع الخوارزمية كل متجهات الخاصيه على فضاء تصوري ذو 20000 بُعد وتقوم برسم خطوط متوجهات وهمية للأبعاد الـ 19999 (فضاء الأبعاد) من أجل أن تفصل بين مدخلات الأمثلة الإيجابية و مدخلات الأمثلة السلبية. في مجال التعلم الآلي، يطلق على الحدود الفاصلة بين أمثلة الفئات المختلفة حدود القرار.
معادلة فضاء الأبعاد تُعرف عن طريق متغيرين، المتجه
بحيث أن التعبير
و
(إذا كانت بعض المعادلات غير واضحة بالنسبة لك الآن ، في الفصل الثاني نعيد النظر في الرياضيات والمفاهيم الإحصائية اللازمة لفهم مثل هذه المعادلات. في هذا الفصل، حاول فهم المنظور العام. كل شيء يصبح أكثر وضوحا بعد أن تقرأ الفصل التالي).
الآن ، الفئة المتوقعة لبعض المدخلات لـ متجه الخاصية
بحيث ان
الهدف من خوارزمية التعلم — SVM في هذه الحالة — هو الاستفادة من حزمة البيانات للعثور على القيم المثلى
كما يلي:
وبالتالي للتنبؤ بما إذا كانت رسالة البريد الإلكترونية مزعجة أو غير مزعجة باستخدام خوارزمية SVM، عليك أن تأخذ نص الرسالة وتحوله إلى متجه خواص، ثم ضرب هذا المتجه بـ
الآن، كيف يمكن إيجاد
إذا ما هي القيود التي يجب مراعاتها؟ أولا وقبل كل شيء، نريد أن يتنبأ النموذج بالتصنيف لكل من الأمثلة الـ 10000 التي لدينا بشكل صحيح. تذكر أن كل مثال i = 1،. . . ، 10000 يعطى في زوج
ونُفضّل أيضا أن يفصل الفضاء البُعدي بين الأمثلة الإيجابية والأمثلة السلبية ذات الهامش الأكبر. والهامش هو المسافة بين الأمثلة الأقرب لفئتين، كما هو محدد بـ حد القرار. الهامش الكبير يُسهم في تعميم أفضل لأمثلة لاحقة، وهذا هو معيار نجاح النموذج في تصنيف أمثلة جديدة في المستقبل.
من أجل تحقيق ذلك، نحتاج إلى تقليل المعيار الإقليدي (معيار المسافة) لـ
لذلك، فـ مشكلة التحسين التي نرغب من الآلة أن تتعلم كيف تحلها ستبدو كالتالي:
قلصالتعبير
الحل لـ مشكلة التحسين هذه، والمعطاة بكلاً من w و b، يسمى نموذج إحصائي، أو ببساطة، النموذج. وتسمى عملية بناء النموذج بـ التدريب.
وفيما لو كانت متجهات الخواص تحتوي على بعدين مثلاً، فأنه يمكننا تصور المشكلة والحل على النحو المبين في الشكل 1. بحيث تمثل الدوائر الزرقاء والبرتقالية، الأمثلة الإيجابية و السلبية على التوالي، والخط المُعطى بـ
أحدهم قد يسأل: لماذا، عندما نقوم بتقليل معيار
هندسيا، المعادلات
وهذه هي طريقة عمل خوارزمية متجهات الدعم. هذه النسخة من الخوارزمية تقوم ببناء ما يسمى بـ النموذج الخطي. ويسمى خطي لأن حد القرار هو خط مستقيم (أو فضاء بعدي فاصل). يمكن لـ SVM أيضاً دمج مايسمى بالـ kernels والتي يمكن أن تجعل حدود القرار غير خطية (أي خطوط ملتوية). لأنه في بعض الحالات يكون من المستحيل تماماً الفصل بين مجموعتين من النقاط بسبب الضوضاء في البيانات. كـ أخطاء في ترقيم الأمثلة، أو القيم المتطرفة (بمعنى أمثلة مختلفة جدا من الأمثلة "النموذجية" على سبيل المثال في حزمة البيانات).
يمكن لنوع آخر من خوارزميةالـ SVM دمج مايسمى بالـ مقاييس جزائية لماقبة أخطاء تصنيف الأمثلة. أي عندما يتم تصنيف مثال من البيانات مع الصنف الخطأ. في الفصل الثالث من هذ الكتاب، سنقوم بدراسة خوارزمية الـ SVM بشكل مُفصّل.
إلى هذه اللحظة، يجب عليك الاحتفاظ بما يلي:
أي خوارزمية تعلم تصنيفية والتي تبني نموذج بشكل صريح أو ضمني، تقوم بإنشاء حد القرار. حدود القرار يمكن أن تكون مستقيمة أو منحنية، أو يمكن أن تكون بشكل معقد، أو يمكن أن تكون تراكب لبعض الأشكال الهندسية. ويحدد شكل حد القرار دقة النموذج (أي نسبة الأمثلة التي يمكن التنبؤ بتصنيفاتها بشكل صحيح). شكل حدود القرار، و الطريقة التي يتم بها حسابها خوارزمياً أو حسابيا على أساس بيانات التدريب، تُميّز خوارزمية تعلم عن أخرى.
ومن الناحية العملية، هناك نوعان من المفارقات الأساسية الأخرى لخوارزميات التعلم التي يتعين النظر فيها: سرعة بناء النموذج و وقت معالجة التنبؤ. في العديد من الحالات العملية، قد تجد نفسك تُفضّل خوارزمية التعلم التي تبني نموذج أقل دقة ولكن بسرعة (بالمقارنة مع الخوارزمية التي تبني نموذج أكثر دقة ولكن عملية البناء تأخذ وقت أطول). بالإضافة إلى ذلك، قد تفضل نموذج أقل دقة ولكن يكون أسرع بكثير في إستخراج التنبؤات (بالمقارنة مع نموذج أدق ولكن بطئ في إستخراج التنبؤات).
لماذا يمكن لنموذج تم تعلّمُه آليا التنبؤ بشكل صحيح بعلامات (أصناف) أمثلة البيانات الجديدة، أي أمثلة لم يراها النموذج من قبل؟ لفهم ذلك، انظر إلى الرسم البياني في الشكل 1، إذا كان من الممكن فصل الفئتين عن بعضهما البعض بـ حدود القرار، فمن الواضح أن الأمثلة التي تنتمي إلى كل فئة تقع في مجالين فرعيين مختلفين تنشئهما حدود القرار.
وإذا اخُتيرت الأمثلة المستخدمة في تدريب النموذج عشوائيا، وبشكل مستقل عن بعضها البعض، واتبعت نفس الإجراء ، فمن الأرجح ، من الناحية الإحصائية، أن يكون المثال السلبي الجديد موجودا في مكان ما ليس بعيدا جدا عن الأمثلة السلبية الأخرى. والأمر نفسه يتعلق بالمثال الإيجابي الجديد: فمن المرجح أن يأتي من محيط أمثلة إيجابية أخرى. وفي هذه الحالة، ستظل حدود قرارنا، مع احتمال كبير، تفصل بين الأمثلة الإيجابية والسلبية الجديدة عن بعضها البعض. في حالات أخرى أقل احتمالا، فإن نموذجنا سيرتكب أخطاء، ولكن لأن هذه الحالات أقل احتمالاً، فمن المرجح أن يكون عدد الأخطاء أقل من عدد التنبؤات الصحيحة.
بشكل بديهي، كلما كانت مجموعة البيانات في أمثلة التدريب أكبر، كلما كان من غير المرجح أن الأمثلة الجديدة سوف تكون مختلفة عن الأمثلة المستخدمة للتدريب.
وللتقليل إلى أدنى حد من احتمال ارتكاب أخطاء على أمثلة جديدة ، تحاول خوارزمية SVM، عن طريق البحث عن أكبر هامش، ان ترسم حدود القرار بطريقة تجعلها بعيدة قدرالإمكان عن الأمثلة من كلا الصفين.
القارئ الذي يرغب في معرفة المزيد عن قدرة التعلم و فهم العلاقة الوثيقة بين: أخطاء النموذج، حجم مجموعة التدريب، شكل المعادلة الرياضية التي تحدد النموذج، و الوقت الذي يستغرقه بناء النموذج، يمكنه القراء أكثر عن PAC learning أو بالعربي نظرية تعلم "على الأرجح صحيح تقريباً". تساعد هذه النظرية على تحليل ما إذا كانت خوارزمية التعلم وتحت أي ظروف ستنتج تصنيفا صحيحاً تقريبياً.
حتى أبريل 2019 ، الإنترنت ملئ بالنسخ المزيفة من كتابي هذا، بما في ذلك النسخ المطبوعة. لتجنب شراء النسخ المزيفة، أوصي بالذهاب إلى رابط موقع الكتاب themlbook.com. إذا كنت ستشتري من أمازون مباشرة، يجب التأكد والذهاب إلى موقع أمازون الرسمي وليس عن طرف ثالث.
دعونا نبدأ هذا الفصل بالعودة إلى إيام الدراسة والتعابير الرياضية التي تعلمناها جميعاً في المدرسة، والتي قد يكون بعضنا قد نسيها.
العدد هو تعريف لأي قيمة رقمية بسيطة، كـ -10 او 3.25. المتغيرات أو الثوابت التي تأخذ قيم عددية سنرمز لها في هذا الكتاب بحرف إنجليزي صغير مائل، مثل
المتجه هو قائمة مرتبة من القيم العددية، تسمى الخصائص. سنرمز للمتجه بحرف إنجليزي، مثلاً
في الشكل 1 نرى أمثلة توضيحية لثلاثة متجهات ثنائية الأبعاد،
سنرمز لكل خاصية في متجه ما بحرف إنجليزي صغير ومائل كـ