13

تجربتي في برمجة أول شبكة عصبونية اصطناعية لي

  • مجهول

السلام عليكم،

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

طبعا أول شيئ قمت بعمله هو مشاهدة فديوهات اليوتوب -بالأطنان- التي تخص مجال ال Machine Learning وبعدها تكونت لدي معرفة لا بأس بها بهذا المجال حيث تعرفت على أنواع التعلم و كذالك الخورزميات المستخدمة، ومن بين هذه الخورزميات Neural Networks و هي التي أثارت إنتباهي أكثر.. لذالك قررت التركيز عليها و الحمد لله إستطعت أن أبرمج أول شبكة عصبونية اصطناعية لي من أربع طبقات .. طبقة المدخلات (Inputs layer) و طبقتين مخفيتين (hidden layers) و طبقة للمخرجات (output layer)

قمت بتجربة الشبكة على Iris Data Set و قد أعطت نتائج تتراوح بين 94 حتى 100 في المئة ..

لمعاينة الكود

أتمنى حقا من الأشخاص الذين سبقوني في هذا المجال أن يعاينو الكود و يمدوني ببعض النصائح فأنا حقا بحاجة لها خاصة في جزئية ال Backpropagation و هل قمت بتطبيقها بشكل جيد.

سوف أنشر الموضوع كمجهول (أعلم أنه تصرف غبي) لكن فقط لكي أجرب الخاصية :v !

تحياتي.


التعليق السابق

شكرا لك جزيلا أخي مصطفى الأن إرتاح بالي ، بخصوص النتائج فعندما أقوم بعمل scale للمدخلات أحصل على نتائج 100% و عندما أقوم بالتجربة مباشرة دون عمل scale فأنا أحصل على نتائج لا تتجاوز 96%

  • كما تلاحظ فأنا لم أستخدم ال Bias في الشبكة .. هل لهذا الأمر تأثير كبير على النتائج ؟

  • و عندما قمت بتجربة الشبكة على بيانات Pima Diabete [1] كانت النتائج كارثية فلم تتجاوز حاجز ال 65 في المئة على الرغم من أن قيمة الخطأ في الشبكة تكون ضئيلة جداا ، في نظرك ما هو السبب هل يجب على أن أغير Activation function أو ماذا ؟

أسف على كثرة الأسئلة لكن حقا أنت الوحيد الذي أجده أمامي لسؤاله :)

[1]

mustafaihssan أضف ردا

اجل ال Bias مهم جرب ان تضيفه و المفترض انك سوف تشاهد النتائج ترتفع.

اما عن بيانات Pima Diabete جرب ان تزيد النودز و كذلك الطبقات.

و ايضا يجب ان تشاهد رسمة الخطأ cost function و بعدها عليك ان تعدل من معدل التعلم

الشكل الحقيقي سيكون هكذا

و كذلك عليك ان ترسم الدقة بعد كل iteration

اذا ظهر لديك overfitting عليك ان تدرب الشبكة بشكل اقل، أو تستعمل شيء مثل dropout

بما انك تعلمت كتابة الشبكات العصبية من الصفر لماذا لا تستخدم keras او tensorflow

mustafaihssan أضف ردا

هنا يستعمل بعض انواع الclassifiers بنتائج متعددة

بإستخدام الشبكات العصبية (الغير عميقة ) يحصل على 60%

أفضل ما إستطعت الوصول إليه هو 64 في المئة .. ربما المشكلة من ال overfitting سوف أحاول تطبيق مبدأ ال dropout و أرى إن كان سوف يحل المشكلة.