Handwritten Digit Classification using Neural Networks with TensorFlow and Keras

تفاصيل العمل

هذا المشروع يتعلق بتصنيف الأرقام المكتوبة بخط اليد باستخدام الشبكات العصبية مع TensorFlow و Keras.

نظرة عامة على المشروع:

الهدف هو بناء نموذج ذكاء اصطناعي يمكنه التعرف على الأرقام المكتوبة بخط اليد (0-9) باستخدام مجموعة بيانات MNIST - وهي مجموعة بيانات شهيرة في تعلم الآلة، وغالبًا ما تستخدم كمشروع "Hello World" للشبكات العصبية.

كيف يعمل المشروع؟

مجموعة البيانات:

يستخدم المشروع مجموعة بيانات MNIST التي تحتوي على:

60,000 صورة تدريبية (28x28 بكسل).

10,000 صورة اختبار.

تتوافق كل صورة مع رقم مكتوب بخط اليد، مع تسميات تتراوح من 0 إلى 9.

معالجة البيانات المسبقة:

التطبيع: يتم تقليل قيم البكسل (0-255) إلى النطاق 0-1 لمساعدة النموذج على التدريب بكفاءة أكبر.

إعادة التشكيل: يتم تسطيح الصور من مصفوفات 28x28 إلى متجهات ذات 784 بُعدًا نظرًا لأن الشبكة العصبية تتوقع الإدخال كمصفوفات أحادية البعد.

هندسة النموذج:

النموذج الأولي هو شبكة عصبية تغذوية بسيطة:

الطبقة المدخلة: 784 عصبونًا (لكل بكسل في الصورة).

الطبقة المخرجة: 10 عصبونات (واحد لكل رقم، 0-9).

دوال التنشيط:

يستخدم Sigmoid مبدئيًا.

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

التدريب:

يتم تدريب النموذج على 60,000 صورة باستخدام:

محسن Adam (لمعدلات التعلم التكيفية).

دالة فقدان Sparse Categorical Crossentropy (مناسبة للتصنيف متعدد الفئات).

تدرب لمدة 5 فترات.

التقييم:

يتم تقييم النموذج باستخدام 10,000 صورة اختبار.

يتم رسم مصفوفة الارتباك لتصور أخطاء النموذج - لإظهار الأرقام التي أخطأ النموذج فيها مع أرقام أخرى.

أهداف المشروع:

بناء نموذج ذكاء اصطناعي يمكنه تصنيف الأرقام المكتوبة بخط اليد بدقة.

تقييم أداء النموذج باستخدام الدقة ومصفوفات الارتباك.

استكشاف طرق لتحسين الدقة عن طريق تعديل الطبقات أو دوال التنشيط أو طرق المعالجة المسبقة.

ملفات مرفقة

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
عدد المشاهدات
15
تاريخ الإضافة
تاريخ الإنجاز
المهارات