النتائج 1 إلى 15 من 163
الموضوع: تم حل شيفرة إكسبيرت الشبكات العصبيه
- 25-09-2008, 08:48 AM #1
تم حل شيفرة إكسبيرت الشبكات العصبيه
نعم إخواني و لله الحمد بعد جهد مضني توصلت لكسبيرت يعتمد على الشبكات العصبية
شكر خاص للأخ و الاستاذ أبو الطيب بعد مساعدتي لصنع أول إكسبيرت لي يعتمد على الشبكات العصبية والتعليم الذاتي
إخواني فقط كلمة بقدر ما يكون الاكسبيرت الخالي من أي شبكة عصبية قوي و جيد
بقدر ما ستعطيك هذه الشبكة نتائج جيدة مستقبلا بعد مرحلة التعلم أما إذا كان الاكسبيرت غير فعال
ستتعب معه هذه الشبكة و ستأخذ وقت للتعلم و ربما لا تعطيك نتائج جيدة
انا الان متعب جدا لعدم نومي جيدا إن شاء الله للحديث بقيةآخر تعديل بواسطة domdom ، 25-09-2008 الساعة 08:52 AM
- 25-09-2008, 08:59 AM #2
رد: تم حل شيفرة إكسبيرت الشبكات العصبيه
بالتوفيق إن شاء الله
ومنتظرينك بارك الله فيك
- 26-09-2008, 12:23 AM #3
رد: تم حل شيفرة إكسبيرت الشبكات العصبيه
الله يهنيك اخي بما قد منًّ عليك به من علم و اسأل الله لك التوفيق.
- 26-09-2008, 12:56 AM #4
رد: تم حل شيفرة إكسبيرت الشبكات العصبيه
جزاك الله خيرا
ننتظر ابداعك
- 26-09-2008, 01:14 AM #5
رد: تم حل شيفرة إكسبيرت الشبكات العصبيه
بارك الله فيك
- 26-09-2008, 03:43 AM #6
رد: تم حل شيفرة إكسبيرت الشبكات العصبيه
مقدمة في الشبكات العصبية الاصطناعيةالشبكات العصبية الاصطناعية
Artificial Neural Networks
هي تقنيات حسابية مصممة لمحاكاة الطريقة التي يؤدي بها الدماغ البشري مهمة معينة، وذلك عن طريق معالجة ضخمة موزعة على التوازي، ومكونة من وحدات معالجة بسيطة، هذه الوحدات ما هي إلا عناصر حسابية تسمى عصبونات أو عقد (Nodes ، Neurons ) والتي لها خاصية عصبية ، من حيث أنها تقوم بتخزين المعرفة العملية والمعلومات التجريبية لتجعلها متاحة للمستخدم وذلك عن طريق ضبط الأوزان.
.== مكونات الشبكة العصبونية الاصطناعية ==.
إذاً الANN تتشابه مع الدماغ البشري في أنها تكتسب المعرفة بالتدريب وتخزن هذه المعرفة باستخدام قوى وصل داخل العصبونات تسمى الأوزان التشابكية. وهناك أيضا تشابه عصبي حيوي مما يعطي الفرصة لعلماء البيولوجيا في الاعتماد على ANN لفهم تطور الظواهر الحيوية.
كما رأينا أن الشبكات العصبونية تتكون من مجموعة من وحدات المعالجة ويسمى أحدها عصبون ، والشكل (1) يبين نموذجا لا خطيا وبسيطا للعصبون الاصطناعي :
كما أن للإنسان وحدات إدخال توصله بالعالم الخارجي وهي حواسه الخمس، فكذلك الشبكات العصبية تحتاج لوحدات إدخال . ووحدات معالجة يتم فيها عمليات حسابية تضبط بها الأوزان و نحصل من خلالها على ردة الفعل المناسبة لكل مدخل من المدخلات للشبكة . فوحدات الإدخال تكوّن طبقة تسمى طبقة المدخلات، و وحدات المعالجة تكوّن طبقة المعالجة وهي التي تخرج نواتج الشبكة. وبين كل طبقة من هذه الطبقات هناك طبقة من الوصلات البينية التي تربط كل طبقة بالطبقة التي تليها والتي يتم فيها ضبط الأوزان الخاصة بكل وصلة بينية، وتحتوي الشبكة على طبقة واحدة فقط من وحدات الإدخال ، ولكنها قد تحتوي على أكثر من طبقة من طبقات المعالجة.
نلاحظ من الشكل (2) أن العصبون يتألف من:
1 - إشارات الدخل ( Input ) : a1,a2,a2,….an 2- قوى الأوزان (Weights ) : Wj1, Wj2, Wj3,……Wjn حيث يعبر الوزن عن شدة الترابط بين عنصر قبله وعنصر بعده . 3 - عنصر المعالجة J : (Processing Element )
وهذا العنصر يقسم إلى قسمين :
- أ - الجامع (Adder ) لجمع الإشارات في الدخل الموزون .
- ب - تابع النقل أو تابع التفعيل (Activation Function ) :
4 - الخرج (Output) (Xj ) .
الوصف الرياضي للعصبون :
حيث :
X1,X2------Xm : اشارات الدخل . Wk1, W k2------Wkm : الأوزان المشبكة للنيرون k. UK : الخرج الخطي للجامع . bk: الانحياز .
تابع التفعيل .
ملاحظة : يمكن اعتبار الانحياز bk على أنه أحد الأوزان W0 ودخلهX0 =1 ويصبح نموذج العصبون كالتالي:
توابع التحويل
قلنا أن تابع التحويل يحد من خرج العصبون . ويجب أن يمتلك الخواص التالية:
- أن يكون تابعا مستمرا . * أن يكون قابلا للاشتقاق ومشتقه سهل الحساب .
- أن يكون انسيابيا غير متناقص.
1- تابع العتبة أو تابع الخطوة
يحد هذا التابع من خرج العصبون بحيث يصبح الخرج مساويا الواحد إذا كان الدخل أكبر أو مساويا الصفر ويصبح الخرج مساويا الصفر إذا كان الدخل أصغر من الصفر.
2- التابع الخطوي الخطي أو تابع التطابق
يستخدم هذا التابع في العصبونات المستخدمة في المرشحات التلاؤمية الخطية .
3- التابع الأسيّ Sigmoid
يأخذ هذا التابع قيم الدخل المحصورة بين ∞ ــ و ∞ + ويجعل الخرج محصورا بين 0 و 1 ... وهو أكثر التوابع استخداما بسبب سهولة اشتقاقه وكثرة أنواعه .
البنية المعمارية للشبكات العصبونية
معمارية الشبكة العصبية الاصطناعية, هي الطريقة التي ترتبط بها العصبونات مع بعضها البعض لتشكيل الشبكة ، وهذا يرتبط بخوارزمية التدريب . 1-4-3الشبكة ذات الطبقة الواحدة الأمامية : في الشكل (8) ترتبط كل مركبة من مركبات شعاع الدخل P بكل عصبون من خلال مصفوفة الوزن W .
كل عصبون يحوي وصلة جامع تقوم بجمع الدخل الموزون مع الإزاحة لتشكيل الخرج العددي للعصبون
، وفي النتيجة إن مركبات خرج طبقة العصبونات تشكل شعاع الخرج (مصفوفة من عمود واحد ) a . والعلاقة التي تعطي هذا الخرج :
مركبات شعاع الدخل تدخل إلى الشبكة من خلال مصفوفة الأوزان التالية:
الشبكة ذات الطبقات المتعددة الأمامية :
مؤشرات السطر لعناصر هذه المصفوفة تدل على العصبون الهدف أما مؤشرات العمود على مركبات الدخل المصدر . أي أن المؤشرات في العنصر W1,2 تدل على أن هذا الوزن يتعلق بالعصبون الأول ، وأن مركبة الدخل لهذا العصبون هي المركبة الثانية .
الشبكة العصبونية يمكن أن تتألف من عدة طبقات وفي هذه الحالة يكون لكل طبقة صفوفة وزن W, وشعاع إزاحة b وشعاع خرج a . ومن أجل التمييز يضاف رقم الطبقة كدليل علوي لكل من المتحولات المستعملة من خلال الشبكة المبينة مركبة الدخل ، عصبون في الطبقة الأولى ، عصبون في الطبقة الثانية ، وهكذا بنفس الأسلوب . ومن الملاحظ أيضا أن خرج كل طبقة متوسطة هو دخل للطبقة التي تليها وبذلك تعتبر كل طبقة في هذه الشبكة كأنها شبكة ذات طبقة وحيدة .الطبقة التي تعطي الخرج تسمى طبقة الخرج ، أما الدخل فلا يعتبر طبقة ، وبقية الطبقات تسمى الطبقات الخفية . يمكن أن نرسم الشبكة الثلاثية المبينة في الشكل السابق باستخدام الرسم المختصر التالي :
لأن لها 10 عقد في الدخل . و 4 عقد في الطبقة الخفية . و 2 عقدة في الخرج .
الشبكات متعددة الطبقات هي شبكات ذات فعالية كبيرة وخاصة الشبكات بطبقتين فهي مستخدمة بشكل كبير جداً. حيث تستطيع هذه الشبكات من حل العديد من المشاكل المعقدة ولكن تدريبها يستغرق وقتا أطول . يرمز إلى هذا النوع بالشكل : ( m – n1 – n2 …..q) حيث تشير m إلى عدد المداخل وتشير n1 إلى عدد النيرونات في الطبقة الأولى وهكذا .... و q عدد عقد الخرج. كما في المثال المبين في الشكل (11) حيث يشار إلى هذه الشبكة بالرمز ( 10 – 4 – 2):
الشبكات ذات التغذية الخلفية
هذا النوع يحوي على الأقل حلقة تغذية خلفية واحدة ، ويمكن أن يتألف من طبقة واحدة من النيرونات وكل عصبون يعود خرجه إلى دخل كل العصبونات المتبقية .وقد يكون هناك تغذية خلفية ذاتية أي أن خرج العصبون يعود إلى دخله ولكن هذه الشبكات قليلة الاستخدام في المجال الحيوي لأننا نستطيع تحقيق الأهداف الحيوية من خلال شبكات أمامية .
طرق تعليم الشبكة العصبونية
تتعلم الشبكة عن طريق إعطائها مجموعة من الأمثلة، التي يجب أن تكون مختارة بعناية، لأن ذلك سيساهم في سرعة تعلم الشبكة. ومجموعة الأمثلة هذه تسمى فئة التدريب.
وتنقسم طرق تعليم شبكة عصبية إلى قسمين حسب فئة التدريب التي تعرض على الشبكة وهما:
التعليم المراقب (بواسطة معلم) Supervised Learning of ANN’s
تقوم كل طرق التعليم أو التدريب بواسطة معلم للشبكات العصبية الاصطناعية على فكرة عرض البيانات التدريبية أمام الشبكة على هيئة زوج من الأشكال وهما الشكل المدخل input والشكل المستهدف target
التعليم غير المراقب ( بدون معلم ) Unsupervised learning
في هذه الطريقة تكون فئة التدريب عبارة عن متجه المدخلات فقط دون عرض الهدف على الشبكة، وتسمى هذه الطريقة التعليم الذاتي حيث تبني الشبكات العصبونية الاصطناعية أساليب التعليم على أساس قدرتها على اكتشاف الصفات المميزة لما يعرض عليها من أشكال وأنساق وقدرتها على تطوير تمثيل داخلي لهذه الأشكال وذلك دون معرفة مسبقة وبدون عرض أمثلة لما يجب عليها أن تنتجه وذلك على عكس المبدأ المتبع في أسلوب التعليم بواسطة معلم.
من التعليم بدون معلم التعليم الهيبياني Hebbian، و التعليم التنافسي Competitive وبما أن الأسلوب الذي اتبعناه في مشروعنا هذا هو التعليم بواسطة معلم ، لذلك سنتطرق إليه الآن بالتفصيل ، حيث أن التعليم بوجود معلم يمكن أن يتم إما بتصحيح الخطأ أو بالاعتماد على الذاكرة .
- التعليم بواسطة معلم على نمط تصحيح الخطأ :
- التعليم بواسطة معلم المعتمد على الذاكرة :
خوارزميات تعليم الشبكة
إن الأوزان تمثل المعلومات الأولية التي ستتعلم بها الشبكة ، لذا لا بد من تحديث الأوزان خلال مرحلة التدريب ، ومن أجل هذا التحديث تستخدم عدة خوارزميات مختلفة حسب نوع الشبكة. من أهم هذه الخوارزميات خوارزمية الانتشار العكسي Back Propagation Algorithm التي تستخدم في تدريب الشبكات العصبونية كاملة الارتباط وذات التغذية الأمامية ومتعددة الطبقات وغير الخطية، وتعتبر هذه الخوارزمية تعميم لطريقة التدريب بنمط تصحيح الخطأ. ويتم تنفيذ هذه الخوارزمية من خلال مرحلتين رئيسيتين هما :
- مرحلة الانتشار الأمامي Feed forward Back Propagation
- مرحلة الانتشار العكسي Back Propagation
لا يحصل فيها أي تعديل للأوزان المشبكية و تبدأ هذه المرحلة بعرض الشكل المدخل للشبكة ، حيث تخصص كل عنصر معالجة من طبقة عناصر الإدخال لأحد مكونات الشعاع الذي يمثل الدخل ، وتسبب قيم مكونات متجهة الدخل استثارة لوحدات طبقة الإدخال ويعقب ذلك انتشار أمامي لتلك الاستثارة عبر بقية طبقات الشبكة
ثانيا : مرحلة الانتشار العكسي ====
وهي مرحلة ضبط أوزان الشبكة . إن خوارزمية الانتشار العكسي القياسية هي خوارزمية الانحدار التدريجي gradient descent algorithm والتي تسمح لأوزان الشبكة أن تتحرك على الجانب السلبي من تابع الأداء . إن دور الانتشار العكسي يعود إلى الطريقة التي يتم بها حساب الميل لطبقات الشبكة المتعددة اللاخطية ، حيث يتم في أحد مراحل التعليم إعادة انتشار الإشارة من الخرج إلى الدخل بشكل عكسي ، ويتم خلالها ضبط أوزان الشبكة ، ويمكن تمثيل الخوارزمية لتكرار واحد كما يلي : Xk+1= Xk - αk * gk حيث : Xk : شعاع الأوزان و الإنحيازات الحالية
αk : معدل التعلم gk : الميل الحالي
هناك طريقتان لحساب الانحدار التدريجي :
- أولاً : النظام التزايدي Incremental mode :
- ثانياً : نظام الدفعة الواحدة Batch mode :
إنشاء الشبكة Network Creation
إن أول خطوة في تدريب الشبكة هو إنشاء الشبكة وذلك باستخدام عدة توابع . كل تابع مخصص لإنشاء أحد أنواع الشبكات العصبونية ذات الصفات المتميزة ، وبما أننا نريد إنشاء شبكة أمامية فسوف نستعمل التابع newff الذي يحتاج إلى أربعة محددات دخل وهي :
- مصفوفة تحتوي على القيم الصغرى والعظمى لكل عنصر من عناصر شعاع الدخل ويمكن أن يستعاض عنها بـminmax(p) الذي يقوم بتحديد أصغر وأكبر قيمة في مجال الدخل.
- مصفوفة تحتوي على عدد العصبونات في كل طبقة من طبقات الشبكة .
- مصفوفة تحتوي على أسماء توابع التفعيل لكل طبقة .
- اسم تابع التدريب المستخدم .
كود PHP:(network1=newff( [0 5],[10,6,2],{tansig,logsig,purlin}, traingd
إن هذه التعليمة تقوم بإنشاء شبكة أمامية ذات الإنتشار العكسي ، حيث يقع مجال الدخل بين القيمتين 0 و 5 ، وتتألف هذه الشبكة من طبقتين خفيتين وطبقة خرج ، الطبقة الخفية الأولى تحوي عشرة عصبونات بينما الطبقة الخفية الثانية تحوي ستة عصبونات ، أما طبقة الخرج فتتألف من عصبوني خرج ، وتوابع التفعيل لهذه الطبقات هي tansig للطبقة الخفية الأولى ، و logsig للثانية ، و purlin لطبقة الخرج ، أما تابع التدريب المستخدم في هذه الشبكة هو traingd .
تابع التدريب traingd وبارامتراته
التابع هو تابع تدريب تدريجي من النمط Batch mode الذي تكلمنا عنه قبل قليل.هناك عدة بارامترات للتابع traingd وهذه البارامترات يمكن تعديلها، وهي:
- معدل التعلم tr : يعمل على تحديد سرعة تغير الميل والانحيازات .
- Show : أمر لإظهار حالة التدريب .
- Epoch : بارامتر لإيقاف عملية التدريب ، حيث تتوقف الشبكة عن التدريب إذا بلغ عدد التكرارات عدد ال epochs المحدد.
- Goal : لتحديد قيمة الخطأ الأصغري .
- min_grad : الميل الأصغري الذي يقف عنده التدريب .
قيم الأوزان الابتدائية Initializing weights
قبل تدريب الشبكة يجب أن توضع قيماً ابتدائية للأوزان والانحيازات . إن التعليمة السابقة newff تضع قيما ابتدائية للأوزان والانحيازات بشكل آلي ، ولكن في بعض الأحيان نحتاج إلى إعادة تغيير هذه القيم نحصل على هذا التغيير عن طريق التعليمة init حيث تأخذ هذه التعليمة الشبكة كدخل وتعيدها كخرج كما يلي :
كود PHP:(Network1=init ( Network1
التدريب : training
بعد تحديد القيم الابتدائية للأوزان والانحيازات تصبح الشبكة جاهزة للتدريب ، وخلال التدريب تتغير هذه الأوزان والانحيازات بشكل تكراري لغاية الوصول إلى القيمة الصغرى لتابع الكلفة أو ما يسمى تابع الأداء performance function. إن تابع الأداء الافتراضي لشبكات التغذية الأمامية هو متوسط مربع الخطأ (mse).
- 26-09-2008, 03:45 AM #7
رد: تم حل شيفرة إكسبيرت الشبكات العصبيه
إن شاء الله أيها الاحبة غدا سنشرح طريقة تركيب شبكة عصبيه للإكسبيرت الموفينج أفريج الموجود في الميتا
و شكرا لكل الاخوة
- 26-09-2008, 02:57 PM #8
- 26-09-2008, 04:17 PM #9
رد: تم حل شيفرة إكسبيرت الشبكات العصبيه
مشكور اخي على الشرح الجميل
- 26-09-2008, 05:24 PM #10
رد: تم حل شيفرة إكسبيرت الشبكات العصبيه
يعطيك العافية وجعله الله في ميزان حسناتك
- 26-09-2008, 05:33 PM #11
رد: تم حل شيفرة إكسبيرت الشبكات العصبيه
يعطيك العافيه ومتابعيييين
- 26-09-2008, 06:14 PM #12
رد: تم حل شيفرة إكسبيرت الشبكات العصبيه
والله اخ دمدم كلام جميل ومعقد من زماااان كنت حابب افهم ولو جزء يسير عن اليه عمل الشبكه العصبيه
جزاك الله خير
- 26-09-2008, 08:40 PM #13
رد: تم حل شيفرة إكسبيرت الشبكات العصبيه
إخواني الكرام
أحببت أن أضع لكم نظرة عامة عن الشبكات العصبية الاصطناعية
حتى تتكون لديكم فكرة و لو موجزة عن طبيعة هذه الشبكات فكما رأينا هناك العديد من هذه
الشبكات وكل شبكة تختلف عن الأخرى بالمدة الزمنية التي تتطلبها الشبكة حتى تنجز مرحلة التعلم
و لكن لا يوجد غنى عن الاكسبيرت الأساسي فكلما كان الاكسبيرت الخاص بك يعطي نتائج ممتازة
كلما كان دور هذه الشبكة في مرحلة التعلم سريعا و بالتالي ستتلافى أقل قدر من الخطأ
لم أجد تعبيرا غير هذا التعبير ( الشبكة العصبية حين تنجز مرحلة التعلم سيكون الاكسبيرت في
قبضتها لا تسمح له أن يتلاعب و يشترى و يبيع كيفما أراد و إنما تضع أمامه حاجز
فحين ترى هذه الشبكة الظروف مناسبة تقوم برفع الحاجز عنه ليقوم بعملة الشراء أو البيع
ثم تقوم بسد الطريق أمامه إلى أن تتوفر الظروف الماسبة الاخرى لتسمح له بالعبور )
اليوم سنقوم بوضع شبكة عصبية إلى مؤشر الموفينج أفرج الموجود داخل الميتاتريدر
هذه الشبكة من إنتاج مكتبة LIBSVM المشرف عليها المجلس الوطني العلمي الأعلى في تايوان
هذه الشبكة تصلح لمجالات شتى من أجهزة عرض و التحكم الآلي وبعض المشاريع لطلاب الجامعات إلخ... لكننا اليوم سنطبقها على الميتا تريدر
وهذا موقع الشركة المنتجة لهذه الشبكة
http://www.csie.ntu.edu.tw/~cjlin/libsvm/
نبدا على بركة الله
يرجى تحميل الشبكة الموجودة في المرفقات
- 26-09-2008, 08:48 PM #14
رد: تم حل شيفرة إكسبيرت الشبكات العصبيه
استطيع افادتك في مجال اعطاء توقعات للبترول والذهب والفضه لكل اسبوع ولكل 3 ايام بقدراتي الخاصه
- 26-09-2008, 08:55 PM #15
رد: تم حل شيفرة إكسبيرت الشبكات العصبيه
داخل المجلد expertsالموجود داخل المجلد SVM نقوم بنسخ الملف SVM_v01.mq4 و لصقة داخل الإمتداد
C:\Program Files\MetaQuotes\experts
ملاحظة : يوجد داخل المجلد SVM مجلد آخر أسمه libraries يرجى الاحتفاظ به إلى أن يأتي دوره
الان نفتح برنامج الميتا تريدر من سطح المكتب ونتبع حسب الصورة
بعد الضغط عل تعديل سيفتح لنا كود الشبكة
نضغط الان على الموفينج أفرج يمين الفارة ثم تعديل
سيظهر لنا كود الموفينج أفرج
نجد أن كود الموفينج أفرج يتألف من 6 طبقات
نقوم الان بنسخ كل طبقه على حدة من الموفينج أفرج و لصقها داخل كود الشبكة SVM
أعلم أن هذه العملية فيها بعض الصعوبة على المبتدئ لذلك
قمت بإضافة كود الموفينج أفرج إلى كود الشبكة يرجى تحميله من المرفقات
تحت إسم
Moving Average-NN
الأن أصبح لدينا موفينج أفرج العصبي
نكمل غدا إن شاء الله و طريقة إختبار هذا الاكسبيرت
المواضيع المتشابهه
-
... طحت بأكسبريت يحقق 500 % شهريا ويستخدم الشبكات العصبيه ....
By ابو خالـــد،، in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EAمشاركات: 29آخر مشاركة: 09-02-2010, 03:52 AM -
الشبكات العصبية
By ashrafnajo in forum أرشيف مؤشرات اكسبرتات الفوركس المميزة.مشاركات: 2آخر مشاركة: 16-01-2008, 09:01 PM