الشبكات العصبية باستخدام الMatlab

nadir

Active Member
الشبكات العصبونية - Neural Networks - باستخدام الMatlab

بسم الله الرحمن الرحيم

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

في هذا الدرس سوف نقوم بإذن الله بتطبيق الشبكات العصبونية لإنجاز تقريب لدالة.


############################

المرحلة الأولى : إنشاء قاعدة بيانات بشكل (مداخل / مخارج )

14301_11239144263.jpeg



عند تنفيذ الأوامر السابقة يتم إظهار الشكل التالي :

14301_11239144507.jpeg



الدالة باللون الأزرق هي الدالة الأصلية، أما بالأحمر فهي نفس الدالة مع إضافة القليل من التشويش
:)

الدالة التي نسعى لتقريبها هي الدالة المشوشة لأن الدالة الأصلية لديها العبارة الخاصة بها.

وبهذا يكون لدينا قاعدة البيانات التي سنستخدمها في تعليم الشبكة العصبونية و هي :

مداخل :
x​
مخارج: t​



المرحلة الثانية : إنجاز الشبكة العصبونية.

في هذه المرحلة سيتم استخدام شبكات عصبونية أمامية التغذية.

لمزيد من المعلومات يمكن زيارة الموقع التالي :

موقع ويكيبيديا

أو كتابة "شبكات عصبونية" في محرك البحث GooGle​

نقوم بتعريف الشبكة العصبونية بالشكل التالي :


14301_11239144821.jpeg



  • حيث أن minmax تقوم بالبحث عن أصغر وأكبر قيمة من جدول المداخل.


  • [10,1] تشير إلى أن عدد العصبونات في طبقة الإدخال هو 10 أما الإخراج فهو 1، ونلاحظ هنا أنه ليس لدينا طبقة مخفية لتسهيل الفهم.


  • Logsig : هي نوع دوال الإدخال ال10. (الدالة موضحة في الموقع السابق).


  • Purelin : هي نوع دالة الإخراج.


14301_11239145028.jpeg










هنا نحدد خصائص الشبكة :


  • السطر 1 : عدم إظهار الخصائص في نافذة الأوامر في ال Matlab (يمكن نزع هذا السطر).

  • السطر 2 : عدد التكرارات التي يقوم بها البرنامج (لتحسين النتيجة).

  • السطر 3 : الدقة المرجوة للتقريب.

14301_11239145297.jpeg



يتم بهذا الأمر تعليم الشبكة باستخدام الخصائص الموضحة أعلاه.

14301_11239145398.jpeg



يتم بهذا الأمر إدخال الشعاع x في الشبكة والحصول على المخارج في الشعاع z.

كما يمكن إدخال قيم مختلفة عن
x للتحقق من كفائة الشبكة.


14301_11239145605.jpeg



وفي الأخير النتيجة :)


14301_11239145797.jpeg



الدالة بالأزرق هي الدالة المراد التوصل إليها، أما بالأحمر فهي تقريب الشبكات العصبونية لها.

نلاحظ أن التغير في القيم المقربة باستعمال الشبكات العصبونية غير شديد وهذا ملائم لبعض الجمل (
systems) أما إذا أردنا زيادة الفاعلية فهذا سهل :


14301_11239145948.jpeg




وهذه النتيجة تم الحصول عليها باستخدام 80 عصبونة في الطبقة الأولى (طبقة الإدخال).



المرحلة الثالثة : تقييم النتائج.


14301_11239146041.jpeg


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



ملاحظة: بعد تطبيق البرنامج وفهمه لاتذهب بعيدا لأنك لم تبدأ بعد. (كل الأوامر المستعملة هي واجهة لخلفية أكثر تعقيدا). :)




الدرس متوفر بصيغة PDF من المرفقات.




و السلام عليكم ورحمة الله وبركاته.



 

المرفقات

  • NeuralNetsTutorial.pdf
    87.5 KB · المشاهدات: 1,504
شكرا على الشرح القيم ، لدى سؤال أخي : لدي مشروع التعرف على الوجه في صورة معينة باستعمال الشبكة العصبية ، ماهي المدخلات التي سوف تكون في مدخل الشبكة ، المرجو مساعدتي
 
الشبكات العصبونية - Neural Networks - باستخدام الMatlab

بسم الله الرحمن الرحيم
السلام عليكم،

في هذا الدرس سوف نقوم بإذن الله بتطبيق الشبكات العصبونية لإنجاز تقريب لدالة.

############################
المرحلة الأولى : إنشاء قاعدة بيانات بشكل (مداخل / مخارج )
14301_11239144263.jpeg


عند تنفيذ الأوامر السابقة يتم إظهار الشكل التالي :


14301_11239144507.jpeg


الدالة باللون الأزرق هي الدالة الأصلية، أما بالأحمر فهي نفس الدالة مع إضافة القليل من التشويش :)

الدالة التي نسعى لتقريبها هي الدالة المشوشة لأن الدالة الأصلية لديها العبارة الخاصة بها.


وبهذا يكون لدينا قاعدة البيانات التي سنستخدمها في تعليم الشبكة العصبونية و هي :

مداخل : x

مخارج: t​

المرحلة الثانية : إنجاز الشبكة العصبونية.

في هذه المرحلة سيتم استخدام شبكات عصبونية أمامية التغذية.

لمزيد من المعلومات يمكن زيارة الموقع التالي :


أو كتابة "شبكات عصبونية" في محرك البحث GooGle

نقوم بتعريف الشبكة العصبونية بالشكل التالي :





14301_11239144821.jpeg
  • حيث أن minmax تقوم بالبحث عن أصغر وأكبر قيمة من جدول المداخل.

  • [10,1] تشير إلى أن عدد العصبونات في طبقة الإدخال هو 10 أما الإخراج فهو 1، ونلاحظ هنا أنه ليس لدينا طبقة مخفية لتسهيل الفهم.
  • Logsig : هي نوع دوال الإدخال ال10. (الدالة موضحة في الموقع السابق).
  • Purelin : هي نوع دالة الإخراج.



14301_11239145028.jpeg










هنا نحدد خصائص الشبكة :

  • السطر 1 : عدم إظهار الخصائص في نافذة الأوامر في ال Matlab (يمكن نزع هذا السطر).
  • السطر 2 : عدد التكرارات التي يقوم بها البرنامج (لتحسين النتيجة).
  • السطر 3 : الدقة المرجوة للتقريب.

14301_11239145297.jpeg



يتم بهذا الأمر تعليم الشبكة باستخدام الخصائص الموضحة أعلاه.


14301_11239145398.jpeg


يتم بهذا الأمر إدخال الشعاع x في الشبكة والحصول على المخارج في الشعاع z.

كما يمكن إدخال قيم مختلفة عن x للتحقق من كفائة الشبكة.

14301_11239145605.jpeg


وفي الأخير النتيجة :)

14301_11239145797.jpeg



الدالة بالأزرق هي الدالة المراد التوصل إليها، أما بالأحمر فهي تقريب الشبكات العصبونية لها.

نلاحظ أن التغير في القيم المقربة باستعمال الشبكات العصبونية غير شديد وهذا ملائم لبعض الجمل (systems) أما إذا أردنا زيادة الفاعلية فهذا سهل :


14301_11239145948.jpeg




وهذه النتيجة تم الحصول عليها باستخدام 80 عصبونة في الطبقة الأولى (طبقة الإدخال).


المرحلة الثالثة : تقييم النتائج.




14301_11239146041.jpeg



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



ملاحظة: بعد تطبيق البرنامج وفهمه لاتذهب بعيدا لأنك لم تبدأ بعد. (كل الأوامر المستعملة هي واجهة لخلفية أكثر تعقيدا). :)




الدرس متوفر بصيغة PDF من المرفقات.








و السلام عليكم ورحمة الله وبركاته.


























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