• 0

الفرق بين ال (acc)accuracy و ال (val_acc )Validation accuracy في كيراس Keras

ما هو الفرق بين val_acc و acc، فأثناء قراءتي لإحدى النماذج رأيتهم لكن لم أفهم سبب وجود val_acc؟

Epoch 5/200
727722/727722 [==============================] - 50s - loss: 0.3167 - acc: 0.9557 - val_loss: 0.5473 - val_acc: 0.7455
Epoch 6/200
727722/727722 [==============================] - 50s - loss: 0.3152 - acc: 0.9573 - val_loss: 0.5497 - val_acc: 0.7404
Epoch 6/200
727722/727722 [==============================] - 60s - loss: 0.3136 - acc: 0.9581 - val_loss: 0.6518 - val_acc: 0.7001

 

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 3

كما هو معروف فإن البيانات تقسم إلى ٣ أقسام . بيانات تدريب training set وبيانات نقيس عليها تقدمنا خلال عملية التدريب validation set وبيانات نختبر عليها النموذج النهائي test set. وكما نعلم فإن بيانات التدريب هي بيانات مرئية أي أن النموذج يتدرب عليها ويعرف نتيجة كل عينة من البيانات. أما بيانات التحقق وبيانات الاختبار فلايعرف النموذج نتائجها أي أنها بيانات غير مرئية. والهدف من كونها غير مرئية هو قياس كفاءة النموذج الحقيقية.
الآن دعنا نعود إلى بيانات ال Validation ... عندما نقوم بتدريب نموذج في التعلم الآلي (مثلاً نموذج لتصنيف الصور) فإن أهم شيئ نحتاجه هو تحديد بروتوكول لقياس عملية التقدم خلال عملية التدربب (تحديد طريقة تمكننا من معرفة سلوك عملية التدريب بغية تجنب ال overfitting وبغية ضبط معاملات النموذج العليا مثل عدد الطبقات أو الخلايا أو نوع الطبقات أو حجم الباتش ..الخ). وهناك عدة بروتوكولات أشهرها ال Cross Validation وتعتمد على أخذ عينة جزئية من بيانات التدريب وقياس دقة النموذج accuracy عليها بعد كل فترة (epoch) من عملية التدريب وهذه القيمة هي مايشار لها ب val_acc  أما ال acc فهي دقة النموذج على بيانات التدريب.
نحن بحاجة دوما لمراقبة هاتين القيمتين خلال تدريب النموذج ؟ لماذا؟ كما قلت لكي نقيس سلامة التقدم.. فخلال التدريب فإن الشيئ المؤكد دوماً هو أن ال acc ستزداد وتتحسن وهذا يكون إشارة إلى أن النموذج يتعلم من البيانات. لكن هذا  قد  يجعل النموذج يقع في ال OF وهذا ما لانريده بالطبع ..حسناً إذن كيف سنعرف متى يحدث ال OF منأجل أن نوقف علية التدريب؟ الجواب هو من خلال ال val_acc فطالما أنها تزداد مع ازدياد ال acc فهذا يعني أن النموذج مازال يتعلم ويسلك سلوك صحيح أي أن النموذج قادر على تعميم Generlaization  ماتعلمه على بيانات جيدة لم يراها من قبل. أما عندما يستمر ال acc بالتحسن وتبدأ ال val_acc بالانهيار (بالانخفاض) فهذا يعني أن نموذجك لم يعد قادراً على التعلم أكثر من البيانات وبدأ يحفظها (حالة OF ) وهنا ينبغي أن نوقف عملية التدريب لأن النموذج لن يكون قادرا على تعميم مايتعلمه. ولهذا السبب نحن بحاجة لها. أما بابنسبة لل loss فهي قيمة التكلفة على بيانات التدربب و المحسوبة من دالة التكلفة التي حددتها للنموذج. أما val_loss فهي الخاصة ببيانات ال validation.

3 اشخاص أعجبوا بهذا

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية
  • 1

في التعلم العميق ، ال loss هي القيمة التي تحاول الشبكة العصبية تقليلها: حيث تمثل الفرق بين القيم الحقيقية والتنبؤات. لتقليل هذا الفرق، تتعلم الشبكة العصبية عن طريق ضبط الأوزان بطريقة تقلل من الخسارة.

الدقة accuracy هي عكس ال loss، حيث تمثل مقدار التنبؤات الصحيحية التي حصلنا عليها مقارنة بالقيم الحقيقية، ومع تقليل ال loss نقوم بزيادة ال accuracy.

هناك ثلاثة من البيانات، بيانات للتدريب training set واخري لقياس مدي التقدم الذي نحرزه validation set واخيرا واحدة للاختبار test set.

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

اما الثانية validation set فهي حزمه اخرى لقياس مدي اداء النموذج الخاص بنا حتي نستطيع تحسينه مع الوقت، تكون اصغر من ال training set وقريبه في ححجمها من test set، وفيها نستخدم val_acc لقياس مدى التقدم الذي نحرزه فيها، من الطبيعي كذلك انها ستزداد مع الوقت، لكن مراقبتها مهمة، لانه يجب ان نوقف التعلم اذا توقفت val_acc عن الزيادة حتى لا يحدث over fitting..

تمّ تعديل بواسطة Ahmed Sharshar

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
شارك على الشبكات الإجتماعية

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن