Home الذكاء الاصطناعي شبكات ال Perceptron المكونة من طبقة واحدة
شبكات ال Perceptron المكونة من طبقة واحدة

شبكات ال Perceptron المكونة من طبقة واحدة

657
1

شبكه الPerceptron تعد من أقدم وأسهل أنواع الشبكات العصبيه ، وهي نوع مبسط من الFeed-Forward Neural Network حيث هناك نوع منها يحتوي على طبقه واحده Single Layer والأخر يحتوي على أكثر من طبقه Multi-Perceptron Layer واختصارا MPL . وبشكل عام مهمه هذا النموذج هي في التصنيف Classification .

موضوعنا اليوم حول النموذج البسيط Single Layer وباذن الله نتحدث حول MPL المره القادمه ،، وشبكه الSingle Layer Perceptron تسمى عاده linear classifier بمعنى أن هذه الشبكه تحل المشاكل التي يمكن فصلها بشكل خطي linearly separable ، انظر للصوره التاليه وستجد أن الخط الأخضر قد فصل بين اللون الأزرق والأحمر ،، وهذه الشبكه تستطيع حل المشاكل مثل هذه .

Linear

سنقوم في موضوعنا الليله بكتابه برنامج باستخدام الشبكه Perceptron نقوم باعطائه أي بعد في الصوره السابقه وتقوم الشبكه بالرد اما أن البعد في المنطقه التي في النقاط باللون الأزرق أو الأخرى باللون الأحمر ،، نبدأ على بركه الله،

أولا الشبكه Single Layer Perceptron سوف تتكون من مدخلين يمثلان البعدين اللذان سندخلانه ، والمخرج سوف يكون اما 1 (أزرق) أو -1 (أحمر) ، وبهذا يكون شكل الشبكه كالتالي :

Network

سنستخدم Delta Rule لتعديل الأوزان والتي ستكون في البدايه 0.0 ، أيضا الActivation function سوف نستخدم bipolar threshold function تعطي 1 للون الأزرق ، و-1 للون الأحمر ، أيضا الLarning rate سوف يكون بمقدار 0.1 ويمكن تغييره في البرنامج ، بالاضافه الى الThreshold سوف يكون بقيمه 0.1 ويمكن تغيير أيضا ،

في البدايه سوف نقدم 30 مثال (نقطه) للشبكه بالاضافه الى الناتج من كل نقطه target output ، بعد أن تتدرب الشبكه على ذلك (وسوف تستغرق عدد محدد من الepoch الدورات) ، سنقدم عده أمثله جديده لكي نختبر البرنامج ولنرى مدى كفائه الشبكه ،،

البرنامج بسيط ويستخدم مكتبه الMatrix التي سبق وان صممناها في الHopfeild ، اترككم مع الكود :

لنقم الان بتشغيل البرنامج ، وسنرى الجزء الأول من المخرج وهي البيانات التي قدمناها كأمثله للتدريب بالاضافه الى النتيجه المقابله لها ، وسوف يعرض الأوزان الأبتدائيه ،،

Percep

بعد الضغط على enter تبدأ عمليه التدريب ، الى أن تنتهي وسيخرج الناتج كما توضح الصوره التاليه ،، (يمكن ادخال جمله طباعه cout لطباعه كل من الخطأ والدوره الحاليه والوزن الجديد داخل داله التدريب حتى يسهل تتبع البرنامج) .

Percep1

راجع الصوره الأولى الخاصه بالاحداثيات لكي تتأكد من النتيجه ،،

هناك بعض الأحيان مشاكل غير قابله للفصل الخطي مثل XOR ، انظر للصوره التاليه لكي توضح لك :

Non_Linear

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

في هذا الرابط المثال كاملاً (حمله من هنا) ،،

(657)

وجدي عصام مهندس برمجيات مهتم بعلوم الحاسب وبالأخص مجال الخوارزميات وهندسة البرمجيات وحماية التطبيقات،

Comment(1)

  1. محتوى رائع والجهد المبذول به واضح، أتمنى أن تبقوا على هذه السوية في تقديم معلومة مفيدة ومتكاملة من الناحية النظرية والعملية

LEAVE YOUR COMMENT

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

مشاركة