السبت، 5 أكتوبر 2019

#الذكاء_الإصطناعي_تعلم_الألة_11 - البحث عن أحسن المعاملات الداخلية لخوازمية التدريب





#الذكاء_الإصطناعي_تعلم_الألة_11 - البحث عن أحسن المعاملات الداخلية لخوازمية التدريب.
Hyper-parameter Optimization

المعاملات الداخلية (hyper-parameter )  هي المعاملات التى يحددها المطور و لا يمكن تغيرها أثناء عملية التدريب و لا تتأثر بنوع و لا شكل الداتا. مثل عدد (layers) في الشبكة العصبية أو المعاملات (C, gamma, kernel ) في خوارزمية (SVM). هذه المعاملات تؤثر على النتائج طبعا لأنها تؤثر على شكل و مبدأ عمل الخوارزمية و للبحث عن أحسن القيم الخاصة بها التي تناسب نوع الداتا التي نعمل عليها فأبسط فكرة تبادر لأذهاننا هي أننا في كل مرة نعيد تدريب الخوارزمية بمعاملات جديدة ثم نحتفظ بأحسن شكل ممكن لهذه المعاملات.

لكن في مكتبة (Scikit-Learn ) تم تسهيل الأمر كثيرا بتوفير أدوات جاهزة للعمل في هذه النقطة بالتحديد.

 أولا: (GridSearchCV)، و هو أداة جاهزة للبحث عن أحسن المعاملات لخوازمية محددة بتجريب جميع التركبيات الممكنة لهذه المعاملات. في السطر 19 من الصورة 1، حددنا مجموعة من قيم المعاملات الخاصة بخوارزمية (SVM ) في شكلين مختلفين، كل شكل موجود بين حاضنتين. في الشكل 1 حددنا قيم المتغير (C) التي تأخد القيم 1 أو 10 أو 100 أو 1000 و (kernel = linear) أثناء عملية التدريب سيجرب كل التركيبات الممكنة بين قيم (C with kernel ) و نفس الشيء بالنسبة للشكل 2 و في النهاية يحتفظ بأحسن نتيجة حصل عليها بين مختلف أشكال التدريب المحددة و نحن كان لنا في هذا المثال شكلان فقط. في الصورة 2 نشاهد النتائج التي تحصلنا عليها، حيث لما قمنا بطبع أحسن المعاملات التي تحصلنا عليها بعد نهاية عملية التدريب و جدنا (C = 10, kernel = linear). كما يمكن مشاهدة تنفيذ مختلف التركيبات أثناء عملية التدريب.

ثانيا : (RandomizedSearchCV) تختلف عن الأولى كونها لا تقوم بتنفيذ جميع التركيبات الممكنة و تمنح إمكانية توقيفها عند عدد محدد من التركيبات أو عند عدد محدد من (iterations). كما تشاهدون في الصورة 3، لدينا شكل واحد فقط نضع فيه جميع قيم المعاملات التي نرغب في تجريبها (الصورة 3، السطر 34) و في السطر 36 و من بين المدخلات حددنا (n_iter = 100) حتى تتوقف عند هذا العدد لأن قيم المعامل (C and gamma) كثيرة و هكذا حتى نسرع عملية التدريب عند التعامل مع بيانات ضخمة. في الصورة 4، نشاهد النتائج التي تحصلنا عليها و هي (accuracy = 0.923077) و (C = 27.055  gamma = 0.000135  kernel = rbf).

#الذكاء_الإصطناعي #تعلم_الألة #التعلم_العميق
#artificial_intelligence #machine_learning #deep_learning


***********************


***********************

إذا كنت تحتاج إلى عدد أكبر من الفقرات يتيح لك مولد النص العربى زيادة عدد الفقرات كما تريد. هذا النص هو مثال لنص يمكن أن يستبدل في نفس المساحة, ومن هنا وجب على المصمم أن يضع نصوصا مؤقتة على التصميم ليظهر للعميلً