المكون: تكوين أنظمة المجموعات K-Means

توضح هذه المقالة كيفية استخدام مكون K-Means Clustering في مصمم التعلم الآلي من Azure لإنشاء نموذج تجميع K-means غير مدرب.

K-means هي واحدة من أبسط وأفضل خوارزميات التعلم غير الخاضعة للإشراف المعروفة. يمكنك استخدام الخوارزمية لمجموعة متنوعة من مهام التعلم الآلي، مثل:

لإنشاء نموذج تجميع، يمكنك:

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

بعد تكوين المعلمات الفائقة للمكون، يمكنك توصيل النموذج غير المدرب بـ Train Clustering Model. لأن خوارزمية K-means هي أسلوب تعلم غير خاضع للإشراف، فإن عمود التسمية اختياري.

  • إذا كانت بياناتك تتضمن تسمية، يمكنك استخدام قيم التسمية لتوجيه تحديد المجموعات وتحسين النموذج.

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

فهم تجميع K-means

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

عند تكوين نموذج تجميع باستخدام أسلوب K-means، يجب تحديد رقم الهدف k الذي يشير إلى عدد النقاط المركزية التي تريدها في النموذج. النقطة المركزية هي نقطة تمثل كل مجموعة. تقوم خوارزمية K-means بتعيين كل نقطة بيانات واردة إلى إحدى المجموعات عن طريق تقليل مجموع المربعات داخل المجموعة.

عندما تعالج بيانات التدريب، تبدأ خوارزمية K-means بمجموعة أولية من النقاط المركزية المختارة عشوائيًا. تعمل Centroids كنقاط بداية للمجموعات، وتطبق خوارزمية Lloyd لتحسين مواقعها بشكل تكراري. تتوقف خوارزمية K-means عن إنشاء مجموعات وتحسينها عندما تفي بشرط واحد أو أكثر من هذه الشروط:

  • تستقر النقاط المركزية، ما يعني أن تعيينات نظام المجموعة للنقاط الفردية لم تعد تتغير وقد تقاربت الخوارزمية على حل.

  • أكملت الخوارزمية تشغيل العدد المحدد من التكرارات.

بعد الانتهاء من مرحلة التدريب، يمكنك استخدام مكون Assign Data to Clusters لتعيين حالات جديدة إلى إحدى المجموعات التي وجدتها باستخدام خوارزمية K-means. يمكنك إجراء تعيين نظام المجموعة عن طريق حساب المسافة بين الحالة الجديدة والرقم المركزية لكل نظام مجموعة. يتم تعيين كل حالة جديدة إلى نظام المجموعة مع أقرب مركزية.

تكوين مكون K-Means Clustering

  1. أضف مكون K-Means Clustering إلى البنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بك.

  2. لتحديد كيفية تدريب النموذج، حدد الخيار Create trainer mode.

    • Single Parameter: إذا كنت تعرف المعلمات الدقيقة التي تريد استخدامها في نموذج التجميع، يمكنك توفير مجموعة محددة من القيم كوسيطات.
  3. بالنسبة إلى Number of centroids، اكتب عدد المجموعات التي تريد أن تبدأ بها الخوارزمية.

    النموذج غير مضمون لإنتاج هذا العدد بالضبط من المجموعات. تبدأ الخوارزمية بهذا العدد من نقاط البيانات وتتكرر للعثور على التكوين الأمثل. يمكنك الرجوع إلى التعليمات البرمجية المصدر لـ sklearn.

  4. يتم استخدام تهيئة الخصائص لتحديد الخوارزمية المستخدمة لتعريف تكوين نظام المجموعة الأولي.

    • First N: يتم اختيار عدد أولي من نقاط البيانات من مجموعة البيانات واستخدامها كوسيلة أولية.

      يسمى هذا الأسلوب أيضًا الأسلوب Forgy.

    • Random: تضع الخوارزمية نقطة بيانات عشوائيًا في نظام مجموعة ثم تحسب الوسط الأولي ليكون النقطة المركزية للنقاط المعينة عشوائيًا للمجموعة.

      يسمى هذا الأسلوب أيضًا أسلوب القسم العشوائي.

    • K-Means++: هذا هو الأسلوب الافتراضي لتهيئة المجموعات.

      اقترح David Arthur وSergei Vassilvitskii خوارزمية K-means++ في عام 2007 لتجنب التجميع الضعيف بواسطة خوارزمية K-means القياسية. يتحسن K-means++ على K-means القياسية باستخدام طريقة مختلفة لاختيار مراكز نظام المجموعة الأولية.

  5. في Random number seed، اكتب اختياريًا قيمة لاستخدامها كقيمة أولية لتهيئة نظام المجموعة. يمكن أن يكون لهذه القيمة تأثير كبير على تحديد نظام المجموعة.

  6. بالنسبة إلى Metric، اختر الدالة التي يجب استخدامها لقياس المسافة بين متجهات نظام المجموعة، أو بين نقاط البيانات الجديدة والرقم المركزية المختار عشوائيًا. يدعم التعلم الآلي من Azure مقاييس مسافة نظام المجموعة التالية:

    • Euclidean: تستخدم مسافة Euclidean عادة كمقياس لمبعثر نظام المجموعة للمجموعات K-means. يفضل هذا المقياس لأنه يقلل من متوسط المسافة بين النقاط والنقاط المركزية.
  7. بالنسبة إلى Iterations، اكتب عدد المرات التي يجب أن تتكرر فيها الخوارزمية عبر بيانات التدريب قبل أن تنتهي من تحديد النقاط المركزية.

    يمكنك ضبط هذه المعلمة لتحقيق التوازن بين الدقة ووقت التدريب.

  8. في Assign label mode، اختر خيارًا يحدد كيفية معالجة عمود التسمية، إذا كان موجودًا في مجموعة البيانات.

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

    • تجاهل عمود التسمية: يتم تجاهل القيم الموجودة في عمود التسمية ولا يتم استخدامها في إنشاء النموذج.

    • تعبئة القيم المفقودة: يتم استخدام قيم عمود التسمية كميزات للمساعدة في إنشاء المجموعات. إذا كانت هناك أي صفوف تفتقد إلى تسمية، يتم وصف القيمة باستخدام ميزات أخرى.

    • الكتابة من الأقرب إلى الوسط: يتم استبدال قيم عمود التسمية بقيم التسمية المتوقعة، باستخدام تسمية النقطة الأقرب إلى المركزية الحالية.

  9. حدد الخيار Normalize features إذا كنت تريد تطبيع الميزات قبل التدريب.

    إذا قمت بتطبيق التسوية، قبل التدريب، يتم تسوية نقاط البيانات إلى [0,1] بواسطة MinMaxNormalizer.

  10. تدريب النموذج.

    • إذا قمت بتعيين Create trainer mode إلى Single Parameter، فأضف مجموعة بيانات ذات علامة وقم بتدريب النموذج باستخدام مكون Train Clustering Model.

النتائج

بعد الانتهاء من تكوين النموذج وتدريبه، يكون لديك نموذج يمكنك استخدامه لإنشاء درجات. ومع ذلك، هناك طرق متعددة لتدريب النموذج، وطرق متعددة لعرض النتائج واستخدامها:

تسجيل لقطة للنموذج في مساحة العمل الخاصة بك

إذا استخدمت مكون Train Clustering Model:

  1. حدد مكون Train Clustering Model وافتح اللوحة اليمنى.

  2. حدد علامة التبويب Outputs. حدد أيقونة Register dataset لحفظ نسخة من النموذج المدرب.

يمثل النموذج المحفوظ بيانات التدريب في الوقت الذي حفظت فيه النموذج. إذا قمت لاحقًا بتحديث بيانات التدريب المستخدمة في البنية الأساسية لبرنامج ربط العمليات التجارية، فإنه لا يحدث النموذج المحفوظ.

راجع مجموعة بيانات نتائج التجميع

إذا استخدمت مكون Train Clustering Model:

  1. انقر بزر الماوس الأيمن فوق مكون Train Clustering Model.

  2. حدد ⁧⁩تصور⁧⁩.

نصائح لإنشاء أفضل نموذج تجميع

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

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

يمكنك تجنب هذه المشكلة بعدة طرق:

  • تغيير عدد النقط المركزية وتجربة قيم أولية متعددة.

  • إنشاء نماذج متعددة، مع تغيير المقياس أو تكرار المزيد.

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

الخطوات التالية

راجع مجموعة المكونات المتوفرة للتعلم الآلي من Azure.