# حصريا برمجة الشبكات العصبية خاص جدا



## robotic_iraq (3 مارس 2007)

اليوم سوف اشرح استخدام الشبكات العصبية (Neural Network) او NN في التنبؤ او التوقع (Prediction) اوالتطابق او التماثل (Identification) وسيكون كتابة البرنامج بلغة برنامج الماتلاب (MATLAB) وهذا شغل خاص وبرمجتي لانه موضوع اطروحتي في الماجستير ولم تكن لي النية في نشر او اعطاء البرنامج لسبب وحيد هو انني عندما كنت ابحث في البداية لم يكن احد يعطي ذلك الكل يحكي عن العموميات والامور النظرية من غير تطبيق حقيقي وبرنامج ما موضح العملية ولكن فكرت في غيري ممن هم في حاجة فعلية لمثل هذه التطبيقات وخصوصا عندما طلبوا مني في رسائل خاصة لذلك فكسرت حاجز الانانية الذي بناه غيري في نفسي وبعد التوكل على الله اقول 

1. يجب توفر (data sets) التي تتضمن المدخلات والمخرجات (inputs and outputs) للنموذج المراد التدريب عليه للتطبيق وذلك من تقسيم (data sets) الى قسمين الاول (training sets) وتكون تقريبا 75% من (data sets) والثاني (test sets) وتكون لاختبار الشبكة بعد تدريبها وتكون 25 % من (data sets).
2. يجب توفر برنامج الماتلاب من النسخة السادسة فما فوق


والان نشرح برنامج التدريب Training Programs
تشغيل برنامج الماتلاب > نفتح (m-file) جديد من خلال الذهاب الى 
File > new > M-file​الذي سيكون برنامجنا محفوظ فيه وتكون الصورة كالتالي



والان نكتب البرنامج 
clear,clc​عملها تصفير كل ما موجود على (command window) من متغيرات وغيرها لضمان عدم حصول تضارب عن عملية التدريب 

ip1=[1,2,3,4,5,6,7];​يمثل (input) الاول وفيه 7 قيم
ip2=[10,20,30,40,50,60,70];​يمثل (input) الثاني ويجب ان تكون 7قيم يعني قيم متساوية الطول وليس المقدار
وهكذا يمكن وضع اي عدد من المدخلات وانا استخدمت قيم عشوائية للتوضيح فقط اي يمكن استخدام اي قيم صغيرة اوكبيرة او قيم عشرية موجبة وسالبة وممكن استخدام اي عدد من المدخلات وانا فرضت اثنين على سبيل المثال 
والان نضع كل المدخلات في مصفوفة الـ (inputs)
Ips= [ip1; ip2];​ونفس الشي مع المخرجات (outputs) 
op1=[100,200,300,400,500,600,700];
op2=[10,30,35,50,65,40,80];
op3=[0.1,0.2,0.3,0.4,0.5,0.6,0.7];​ 
وهنا يجب الانتباه الى انه يجب ان تكون بنفس مقدار القيم وهنا سبع قيم لتقديم نموذج متكامل 
Ops= [op1; op2; op3];​ 
والان نكتب دالة (normalization of input and output data)
[pn,minIps,maxIps,tn,minOps,maxOps]=premnmx(Ips,Ops);​ 
والان نكتب دالة (INITFF Inititialize feed-forward network)
[w1,b1,w2,b2]=initff(pn,10,'logsig',tn,'purelin');​ 
والان نكتب دالة التدريب
(TRAINBP Train feed-forward network with Levenberg-Marquardt backpropagation.)

[w1,b1,w2,b2,te,tr]=trainlm(w1,b1,'logsig',w2,b2,'purelin',pn,tn,[1 1000 0.0000000001 nan nan nan 0.9]);​طبعا لا اريد ان استرسل في شرح التفاصيل لمكونات دالة التدريب لانها طويلة ...

والان بعد التنفيذ من خلال الضغط على (Debug) والذهاب الى (Save and run) سوف يخرج لنا رسم يوضع عملية التدريب يرسم هبوط الخطأ (Error) مع عدد المحاولات (Epoch) مثل هذا الرسم تقريبا ​ 

والخطوة الاخيرة هي ان نحفظ نتائج التدريب بعد الحصول على نسبة خطأ جيدة اي قليلة كلما تكون قليلة يكون افضل
من خلال
save my data​ 
وبهذا نكون قد انهينا عملية التدريب وبالشرح القادم سوف نشرح استثمار التدريب في تطبيق قيم جديدة من خلال تطبيق (test sets)
*****


----------



## م.أحمد عفيفي سلامة (4 مارس 2007)

*ماشاء الله لا قوة إلا بالله*

السلام عليكم ورحمة الله وبركاته
ماشاء الله لا قوة إلا بالله, بارك الله فيك أخي الكريم على هذا الشرح, كما أشجعك لإستكماله بإذن الله
وبالتوفيق إن شاء الله
والسلام عليكم ورحمة الله وبركاته​


----------



## وائل عبده (16 مارس 2007)

جزاك الله خيرا اخي الكريم


----------



## أزفون (16 مارس 2007)

*جزاك الله خيرا*

اننا نفتقد لمثل هذه المداخلات و الأخلاق

ننتظر المزيد مع الشروح المستفيضة


----------



## محمود جميل (8 أبريل 2007)

مش فاهم أي شيء


----------



## الهمس (18 أبريل 2007)

وفقك الله لكل خير


----------



## الهمس (18 أبريل 2007)

الله يسعدك ساعدني انا محتاجه مساعدتك ارسلي بريدك الالكتروني رسالة خاصه انا ماأقدر ارسل رساله خاصه الانه مشاركاتي أقل من 30 وانا محتاجه مساعدتك لي جداااااااااااااااا


----------



## وائل عبده (20 أبريل 2007)

جزاك الله خيرا اخي الكريم
ونتمني ايضا ان تتحث في fuzzy


----------



## nisrenh (20 أبريل 2007)

شكرا جدا على الشرح وعندى مشكلة انا بعمل ماجستير فى استخدام النيورال فى التنبؤ بسعر السهم فى البورصة وعندى ملف البيانات التاريخية لسعر السهم ازاى ادخل المدخلات والمخرجات والملف نصى والبيانات كبيرة جدا ممكن تكتب كود التحميل حيكون ازاى على الماتلاب


----------



## محمد المقدادي (21 أبريل 2007)

وفقك الله لعمل الخير شكرا جزيلا على هدا العطاء


----------



## محمد my (21 أبريل 2007)

جزاك الله خيراً وزادك من علمه:12:


----------



## profshimo (21 أبريل 2007)

مشكووور أخى الكريم جزيت خيرا وبورك مسعاك الطيب


----------



## muhrad (26 أبريل 2007)

جزاك الله خيرا


----------



## محمد المقدادي (27 أبريل 2007)

نقول مرة اخرى وفقك الله ونسالك هل توجد لديك مصادر تحتوي على امثله في موضوع النيورل يمكن الاستفاده منها ولك كل الاحترام


----------



## الزعيم83 (28 أبريل 2007)

السلام عليكم ورحمة الله وبركاتة
الله يوفقك ويقويك اخي والمزيد اذا تكرمت


----------



## robotic_iraq (30 أبريل 2007)

nisrenh قال:


> شكرا جدا على الشرح وعندى مشكلة انا بعمل ماجستير فى استخدام النيورال فى التنبؤ بسعر السهم فى البورصة وعندى ملف البيانات التاريخية لسعر السهم ازاى ادخل المدخلات والمخرجات والملف نصى والبيانات كبيرة جدا ممكن تكتب كود التحميل حيكون ازاى على الماتلاب


 

* عفوا لا شكرا على واجب*

*ممكن ان تدخل كمية كبيرة من البيانات كمدخل وانا شارح كيف ادخالها ك (inputs) ممكن المراجعة جيدا ولا اعرف ماذا تقصد تقصد بملف نصي ؟؟؟؟؟؟؟؟ *


----------



## Hock (7 مايو 2007)

بسم الله الرحمن الرحيم 
والصلاة والسلام على سيد المرسلين 
انا بدرس ميكاترونكس سنة 3
بس بدي اعرف ايش يعني شبكات عصبية وشو مجال استخدامها 
ولكم جزيل الشكر


----------



## اسامة الخواجا (7 مايو 2007)

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

:33::15:


----------



## Al-Allaf (8 مايو 2007)

مشكور جدا على مجهودك الطيب و بارك الله فيك يا اخي


----------



## robotic_iraq (27 مايو 2007)

Al-Allaf قال:


> مشكور جدا على مجهودك الطيب و بارك الله فيك يا اخي


 

*العفو واعتذر عن التاخير بالدرس الثاني*


----------



## ayman_118 (29 مايو 2007)

شاكرين لكم جهودكم 

ووفق الجميع لما فيه الخير ان شاءالله


----------



## منهولا (30 مايو 2007)

شكرا كتير على هذا الموضوع الحلو وربنا يزيدك كمان وكمان 
انا مشروعى للتخرج عن الشبكات العصبية ومالقيت تطبيق علشان اعمله مشروعى وبطلب منك انك تختار لى تطبيق حلو اقدر اعمله 
ولك جزيل الشكر


----------



## عبداللطيف محمد (29 يونيو 2007)

_مشكور على هذا المجهود الكبير_


----------



## plusengineer (3 يوليو 2007)

مشكووور اخي الكريم 
ونتمنى منك اكمال الشرح انشاء الله
بالموفقية


----------



## اراكي ميك (19 فبراير 2008)

اتمنى ان تكمل الدروس وتزلها على ملف بي دي اف
شكر الله سعيكم


----------



## م.البغدادي007 (19 فبراير 2008)

مشكور على هذا المجهود


----------



## alibmbsh (28 فبراير 2008)

الف الف الف شكر لك اخويه على الشرح
اخوك محتاجه جدا


----------



## م المصري (1 مارس 2008)

ما شاء الله شرح رائع 

اود ان تكمل اخي الفاضل


----------



## ahmedmecha (2 مارس 2008)

الف شكر لك أخوي العزيز robotic_iraq 
أتمنى أن تفيدنا أكثر إن كان لديك المزيد وجزاك الله كل الخير ...
بالنسبه لسؤال الاخ nisrenh عن كيفية تحميل بيانات من ملف نصي في الحقيقه توجد عدة طرق لكن أبسطها هي أن تعمل ملف text document وتكتب فيه كل البيانات التي سوف تحتاجها في البرنامج وتخزن الملف تحت أسم معين وليكن ABC في ملف الـ work ... يمكنك أن تكتب البيانات في الملف على شكل مصفوفه متكونه من عدد من الصفوف والاعمده وبالشكل التالي :-
1 3 4 5
2 4 6 7
1 0 9 9
والملاحظه المهمه هنا أنه يجب أن تكون الفواصل بين الارقام في الصف الواحد متساويه ...
بعد خزن الملف النصي تذهب الى الواجهة الرئيسيه في الماتلاب وتكتب الايعاز التالي :-
load('ABC.txt'); % to load your data
الان أصبحت البيانات كلها جاهزه للقراءة بصوره مباشره ... مثلا لو أردنا قراءة العمود الاول من الملف سوف نكتب :-
a=ABC,1) %this is to read the first column
وهكذا لو أردنا قراءة العنصر الثاني من العمود الثالث نكتب :-
b=ABC(2,3) % to read somewhere element
وبأمكانك ترتيب البيانات في ملفك النصي بحيث تكون مثلا العمود الاول هو المدخلات والعمود الثاني هو المخرجات واذا كان لديك أكثر من مدخلات يمكنك عمل عدد أخر من الاعمدة ...

أتمنى أن أكون قد أفتدك ولو بالقليل
http://www.arab-eng.org/vb/u88277.html


----------



## محمد تحسين الشاعر (3 مارس 2008)

مشكور جدا عالموضوع المشوق يا روبوتيك
حقيقي مجال البرمجه العصبيه موضوع جدا واسع ومشوق 
حيث اني بداىت به مع العلامه صالح طبعا هو غير معروف وكان موجود بالاردن وكان صغير السن لكنه توفي بمرض السرطان رحمه الله وتغمده برحمته
ومشكور يا مهندس على الموضوع المشوق كمان مره


----------



## سميرة محمد محمد (10 أبريل 2008)

السلام عليكم 
الف الف الف شكر اخى الفاضل اتمنا ان تنمدنا عن التنبؤ بالfuzzy


----------



## robotic_iraq (11 أبريل 2008)

طبعا اود ان اشكر جميع الاخوة الذين شكروني واقول لهم لا شكر على واجب وكلنا يعرف زكاة العلم تعليمه واعتذر شديد الاعتذار عن التاخير لاسباب قاهرة جدا في الدرس الثاني والمكمل وفي النية اكمل الدروس ووضعها على شكل كتيب صغير من نوع PDF ان شاء الله تعالى ...
وشكرا للاخ ahmedmeca على اجابته للاخ وانصح الاخوان الذين لديهم بيانات خارجية استخدام ربط الاكسيس بالماتلاب حيث انه فعال جدا وسوف اشرح ذلك ان شاء الله بالفترة المقبلة والذي لديه حاجة فعلية على الشبكات العصبية 
ارجو قبول اعتذاري ....


----------



## ياسر عبد اللطيف (11 أبريل 2008)

مشكور اخي علي الشرح بس انا مش فاهم معني الموضوع ولكنني ممكن تشرح بطريقة اكثر من هذا واين اجد الكتب التي تتحدث عن الموضوع


----------



## معتصم ابوشعيرة (14 أبريل 2008)

جزاك الله خيرا... جعله الله في ميزان حسناتك... نرجو المزيد


----------



## الحان رشيد (14 أبريل 2008)

شكرا جزيلا للاخ robotic_iraq


----------



## محمودصفا (22 أغسطس 2008)

thanksssssssssssssssssssss


----------



## علي عباس جاسم (24 أغسطس 2008)

كلام جميــــــــــــل 

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



علي عباس جاسم 

ميكاترونيكس عراق


----------



## robotic_iraq (3 نوفمبر 2008)

اسف لانقطاعي الكثير وذللك للاسباب القاهرة 
بخصوص الاخ عباس المهم ليس الاسماء وانا محصل على ماجستير في الذكاء الصناعي 
المهم ان تكون قد استفدت من المعلومات 
وشكرا لهذا المنتدى الرائع وللقائمين عليه


----------



## مهاجر (4 نوفمبر 2008)

*شكر وتقدير ...*

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

جزاكم الله خير على هذا النقاش الهادف

ونشكر طارح الموضوع المهندس robotic_iraq على جهده وحبه لنفع الأخرين‎ ‎

أخي robotic_iraq ننتظر إكمال هذه السلسلة المفيدة ... ولو هناك اي شيء نستطيع ان نساعد فيه فالرجاء إخبارنا بذلك

نشكركم بإسم إدارة الملتقى ... والى الأمام




robotic_iraq قال:


> طبعا اود ان اشكر جميع الاخوة الذين شكروني واقول لهم لا شكر على واجب وكلنا يعرف زكاة العلم تعليمه واعتذر شديد الاعتذار عن التاخير لاسباب قاهرة جدا في الدرس الثاني والمكمل وفي النية اكمل الدروس ووضعها على شكل كتيب صغير من نوع PDF ان شاء الله تعالى ...
> وشكرا للاخ ahmedmeca على اجابته للاخ وانصح الاخوان الذين لديهم بيانات خارجية استخدام ربط الاكسيس بالماتلاب حيث انه فعال جدا وسوف اشرح ذلك ان شاء الله بالفترة المقبلة والذي لديه حاجة فعلية على الشبكات العصبية
> ارجو قبول اعتذاري ....


----------



## Nizarov (5 نوفمبر 2008)

جهودك مشكورة يا أخي robotic-iraq، فالتحكم العصبوني وشبكاته من الأهمية بمكان!!!


----------



## مهندس ايهاب محمد (7 نوفمبر 2008)

بارك الله فيك وجزاك كل خير


----------



## طه محمد انور (8 نوفمبر 2008)

جزاك الله خير جزاء اخي اطلب مساعدتك لي في مشروع تخرجي اني من العراق/جامعة كركوك/قسم الحاسبات
فلو ارسلت لي بريدك لاكون شاكرا منك لاني عضو جديد


----------



## احمد رونى (3 أبريل 2009)

شكراااااااااااااااااااااااااااااااااااااااااا


----------



## احمد رونى (1 مايو 2009)

شكرا 
لقد وعدتنا بتنزيل الملفات pdf نحن فى غايه التشويق لقراءه هذه الملفات


----------



## المهندس هادي كنعان (7 أكتوبر 2009)

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


----------



## شبل العقيدة (31 أكتوبر 2009)

جزاك الله خير ..


----------



## akramsalam (1 نوفمبر 2009)

*جزاك الله خيرا اخي الكريم
*
*ونتمني ايضا ان تتحث في *
*simple application with matlab nn tools *
* control neuro-fuzzy*​


----------



## sniper1975 (3 نوفمبر 2009)

مشكوررررررررررر ......جزاك الله كل خير .....مجهود رائع


----------



## عضو مشارك (13 نوفمبر 2009)

مشكوور ماقصرت كفيت ووفيت .. واحنا نحتاج لمثل هذا الدروس النادره


----------



## القانوني (13 نوفمبر 2009)

جزاك الله خير


----------



## صادق الفهد (18 نوفمبر 2009)

عاشت الايادي اخويه


----------



## الحـلم الوردي (22 نوفمبر 2009)

سلمت يداك


----------



## Red-Storm (23 نوفمبر 2009)

بارك الله فيك وشكراً لك أخي علي الشرح


----------



## الخدفي (23 يناير 2010)

*مشكور اخي*

اخي شكرا و هذا موضوع شيق وموضة في نفس الوقت و انا شخصيا بدات الاهتمام فيه فقط من شهر واحد و اجد فيه استخدامات كثيرة في كل المجالات و لكن تضل هناك اسالة كثيرة و بحاجة الى اجابات من مختصين امثالك. مثلا انا مهندس بترول واريد استخدام الشبكات العصبية في تقدير لزوجة النفط او تقدير الضغط في الابار هل عندك الاستعداد لاعطاء نصائح؟ و لو حتى عبر الايميل.:20:


----------



## Eng:Ahmed Hagag (23 يناير 2010)

بارك الله فيك وجزاك الله خيرا


----------



## robotic_iraq (31 مايو 2010)

الخدفي قال:


> اخي شكرا و هذا موضوع شيق وموضة في نفس الوقت و انا شخصيا بدات الاهتمام فيه فقط من شهر واحد و اجد فيه استخدامات كثيرة في كل المجالات و لكن تضل هناك اسالة كثيرة و بحاجة الى اجابات من مختصين امثالك. مثلا انا مهندس بترول واريد استخدام الشبكات العصبية في تقدير لزوجة النفط او تقدير الضغط في الابار هل عندك الاستعداد لاعطاء نصائح؟ و لو حتى عبر الايميل.:20:



اخي في الله
انت تحتاج اولا الى data sets فيها المدخلات والمخرجات لكي تدرب الشبكة على طبيعة الموديل الذي تعمل عليه وبعد ائذ تتبع الاجراءات المذكورة بالموضوع واذا اردت المساعدة فانا حاضر وبكل رحابة صدر 

واسأل الله ان يعطيني القوة والوقت لكتابة موضوع متكامل وفية تطبيق لذلك 

اخوك


----------



## سميرة محمد محمد (1 يونيو 2010)

الف الف شكر


----------



## trabay (30 أكتوبر 2010)

ما شاء الله بس ممكن توضيح اكتر وجزاك الله خيرا علي تعاونك


----------



## معتصم ابوشعيرة (13 نوفمبر 2010)

شكرا اخونا الكريم.... موضوع رائع...... جهود مباركة باذن الله تعالى


----------



## soso427 (14 نوفمبر 2010)

جزاك الله ألف خير على الشرح الرائع:20: ..
حقيقة أنا حاليا مطلوب مني عمل مشروع تخرج بالneural network لاستخدامها في ال anomaly detection وانا ليس لدي سوى فكره بسيطه عنها ومحتاره أي algorithm استخدم وهل self organization map جيده لذلك ام لا وماهو الأسهل.. ماهي اقتراحاتك ؟؟


----------



## robotic_iraq (13 فبراير 2011)

soso427 قال:


> جزاك الله ألف خير على الشرح الرائع:20: ..
> حقيقة أنا حاليا مطلوب مني عمل مشروع تخرج بالneural network لاستخدامها في ال anomaly detection وانا ليس لدي سوى فكره بسيطه عنها ومحتاره أي algorithm استخدم وهل self organization map جيده لذلك ام لا وماهو الأسهل.. ماهي اقتراحاتك ؟؟



اذا كان الموضوع detection فانصح بالتالي
Self Detection Map With Levenbureg-Marqurdet Algorithm fro training

وعذرا للجميع على التاخير والله العالم بالظروف القاهرة


----------



## gsmboy (27 فبراير 2011)

*مش فاهم أي شيء *
لماذا يستعمل هذا البرنامج​


----------



## cool - guy (28 فبراير 2011)

تسلم الانامل ع الشرح المميز

انا بدرس كورس neural network في هذا الترم


واستفدت كثير من شرحك للملتلاب


----------



## أبو النييز (7 مارس 2011)

*اضاء الله لك دربك*


----------



## دكتورة جلنك (6 مايو 2011)

السلام عليكم انا عضوة جديدة مهتمة جدا بANN وودت فقط السؤال الا يحتاج البرنامج Matlab الى اضافة NN Matlab tool box


----------



## دكتورة جلنك (6 مايو 2011)

بارك الله لكم في ما قدمتم انا مهتمة جدا بالموضوع ولكن اود الاستفسالر الا يحتاج البرنامج تحديثا NN nueral network tool box


----------



## adoration (15 نوفمبر 2011)

لماذا لم يعد يوجد اى اضافات فى الموضوع


----------



## امجاد عبود (25 نوفمبر 2011)

شكرا على الشرح البسيط جزاك الله خيرا


----------



## امجاد عبود (25 نوفمبر 2011)

شكرا على الشرح البسيط جزاك خيرا


----------



## mogtaba (18 فبراير 2012)

يديك العافية


----------



## م.مؤمن الديراوي (26 فبراير 2012)

وفقك الله تعالي إلى ما يحب 
مع تحياتي م.مؤمن الديراوي


----------



## الرابطي2 (8 ديسمبر 2012)

السلام عليكم :
جزاك الله خيرا اخي robotic iraq على هذا التوضيح وأنا ايضا طالب دراسات عليا من ليبيا وأدرس في تركيا في قسم الميكاترونيك وايضا أحد التطبيقات التي تطرقت اليها في بحثي لرسالة الماجستير
هي استخدام الشبكة العصبية في التحكم في محرك التيار المستمر..وأرغب في التواصل معك للأستفسار على بعض الامور التي تخص تطبيقات الشبكة العصبية على الماتلاب.والسلام عليكم ورحمة الله وبركاته


----------



## Grad.Student (26 ديسمبر 2012)

يعطيكم العافية


----------

