انت هنا الان : شبكة جامعة بابل > موقع الكلية > نظام التعليم الالكتروني > مشاهدة المحاضرة
الكلية كلية العلوم للبنات
القسم قسم الحاسبات
المرحلة 3
أستاذ المادة علي يعقوب يوسف السلطاني
13/03/2017 05:39:25
متجه الإدخال هو : Input vector = (1.1, 2.4, 3.2, 5.1, 3.9) القيمة المرغوبة كالآتي : Target vector = (0.52, 0.25, 0.75, 0.97) الأوزان الداخلة للطبقة المخفية كالآتي : Weights W = - 0.33, 0.07, -0.45, 0.13, 0.37 to H1 node -0.22, 0.06, -0.35, 0.23, 0.17 to H2 node
الأوزان الداخلة لطبقة المخرجات كالآتي : -0.13 0.08 to O1 node Weights V = 0.43 0.28 to O2 node 0.11 0.18 to O3 node 0.31 -0.48 to O4 node نحسب مخرجات الخلية H1 نقوم بعملية ضرب قيم المدخلات في الأوزان لنحصل على : The activation will be the quantity: net(H1) = (-0.33 * 1.1) + (0.07 * 2.4) + (-0.45 * 3.2) + (0.13 * 5.1) + (0.37 * 3.9) = 0.471 الآن نضيف قيمة المحفز Bias للناتج لنحصل على : net(H1) = 0.471 + 0.679 = 1.15
عند استخدام دالة التحويل السيجماوية : Sigmoid Function = 1 / ( 1+ exp(-x) ), لدينا x= 1.15 نحصل على إخراج الخلية المخفية بعد تطبيق المعادلة السيجماوية : Output of H1 = 1/(1+ exp(-1.15)) = 0.7595. نحسب مخرجات الخلية H2 net(H2) = (-0.22 * 1.1) + (0.06 * 2.4) + (-0.35 * 3.2) + (0.23 * 5.1) + (0.17 * 3.9) = 0.471 net(H2) = 0.618 + 0.679 = 1.297 Output of H2 = 1/(1+ exp(-1.297)) = 0.7853. Output of Hidden Layer = ( 0.7595 0.7853)
بنفس الطريقة نقوم بحساب مخرجات الخلايا O1 , O2, O3, O4 وكالاتي : Net(O1) = (0.7595 * -0.13) + (0.7853 * 0.08) = -0.035911+0.53=0.494 Net(O2) = (0.7595 * 0.43) + (0.7853 * 0.28) = 0.5464 + 0.53= 1.0764 Net(O3) = (0.7595 * 0.11) + (0.7853 * 0.18) = 0.2249 + 0.53 = 0.7549 Net(O4) = (0.7595 * 0.31) + (0.7853 * -0.48) = -0.1415 + 0.53 = 0.3885 نطبق دالة التحويل السيجماوية على النتائج السابقة فنحصل على : Output of O1 = 0.621 Output of O2 = 0.7458 Output of O3 = 0.6802 Output of O4 = 0.6959 نحصل على الاخراج الفعلي للشبكة كالاتي : Actual Output = ( 0.62, 0.74, 0.68, 0.69 ), Desired = ( 0.52, 0.25, 0.75, 0.97 ) نقوم بحساب متجه الخطأ : Error = Desired - Actual = (-0.1, -0.49, 0.07, 0.28). نستخدم متجه الخطأ لنحصل على متجه جديد كل عنصر فيه عبارة عن حاصل ضرب نموذج الإخراج × المكمل لنموذج الإخراج (بالنسبة للقيمة 1) × الخطأ وكالاتي : Actual * Complement * Error 0.62 * 0.38 * -0.1 = -0.023 0.74 * 0.26 * -0.49 = -0.094 0.68 * 0.32 * 0.07 = 0.015 0.69 * 0.31 * 0.28 = 0.059 نحصل على المتجه التالي (نطلق عليه متجه الخطأ الثاني) : we get the vector (–0.023, –0.094, 0.015, 0.059).
ان المتجه (Desired-Actual) والذي هو متجه الخطأ Error ضرب في متجه الإخراج الحقيقي يعطي قيمة الخطأ المنعكس خلفاً لمخرجات الطبقة المخفية. وتقاس كالآتي (1-output vector) وهو المشتقة الأولى لدالة التنشيط. نحتاج إلى الأوزان بين الخلية الثانية في الطبقة المخفية وخلايا الإخراج الأخرى. افرض ان الأوزان هي كالآتي : -0.13 0.08 to O1 node Weights V = 0.43 0.28 to O2 node 0.11 0.18 to O3 node 0.31 -0.48 to O4 node الأوزان الخارجة من الخلية H1 هي : Weight V (H1) = (-.013 0.43 0.11 0.31) والآن نحسب الخطأ في الخلية الأولى من الطبقة المخفية باستخدام مخرجات الخلية H1 : Error = 0.7595 * (1 - 0.7595) * {(-0.13 * -0.023) + (0.43 * -0.094) + ( 0.11 * 0.015) + (0.31 * 0.059)} = -0.0042 ومن ثم نحتاج إلى عامل التعلم الخاص بهذه الطبقة .وافرض قيمته 0.2 : learning rate parameter = 0.2 نقوم بضرب قيمة عامل التعلم بقيمة إخراج الخلية H1 : 0.2 * 0.7595 = 0.1519 ومن ثم كل قيمة في المتجه (–0.023, –0.094, 0.015, 0.059) تضرب بالقيمة (0.1519) لنحصل على المتجه التالي . (–0.0034, –0.0142, 0.0022, 0.0089) ان المتجه الناتج يمثل قيمة التعديل على الأوزان بين الطبقة المخفية وطبقة الإخراج. ثم بعد ذلك نضيف قيم المتجه إلى الأوزان الفعلية (القديمة) لنحصل على الأوزان المعدلة الجديدة. (-.013 0.43 0.11 0.31) New weight = (-0.133, 0.415, –0.112, 0.318). نقوم بنفس الخطوات السابقة لتعديل أوزان الخلية المخفية الثانية H2 ... عملية تعديل الأوزان بين طبقة الإدخال والطبقة المخفية فهي كالآتي : نطبق على خلية الإدخال الثالثة : إن متجه الخطأ الأول المحسوب في الخلية الثانية من الطبقة المخفية: Desired - Actual = (-0.1, -0.49, 0.07, 0.28). وكذلك الخطأ النهائي المحسوب الخلية الأولى من الطبقة المخفية (-0.0042) . يجب ان يرسلا خلفاً إلى طبقة الإدخال. لحساب تعديل الأوزان بين طبقة الإدخال والطبقة المخفية نحتاج إلى عامل التعلم ، على فرض انه يساوي (0.2) . ملاحظة : يمكن أن نستخدم أكثر من عامل تعلم واحد. فتصبح قيمة التعديل على الأوزان كالآتي : 0.2 * 3.2 * –0.0042 = -0.0025 ومن ثم تضاف هذه القيمة إلى قيمة الوزن القديمة فنحصل على قيمة الوزن المعدل الجديد : (-0.45) + (-.0025) = -0.4525 عملية تعديل المحفزات : لتعديل قيمة المحفزات على طبقة الإخراج كالآتي : Learning Parameter = 0.2 Error vector = (-0.1, -0.49, 0.07, 0.28). بعد ضرب قيمة معامل التعلم في متجه الخطأ نحصل على قيم تعديل المحفزات : 0.2 * (–0.023, –0.094, 0.015, 0.059) = (–0.046, –0.0188, 0.03, 0.0118) هذه القيم تضاف على قيم المحفزات القديمة لنحصل على المحفزات المعدلة. Old Bias = (0.53 0.53 0.53 0.53) New Bias = ( 0.484 0.511 0.56 0.541)
أما تعديل المحفزات على الطبقة المخفية فهي كالآتي : Learning Parameter = 0.2 Final Error = -0.0042 0.2 * -0.0042 = -0.0084 هذه القيمة تمثل قيمة التعديل على المحفز، تضاف هذه القيمة إلى قيمة المحفز القديمة لنحصل على : 0.679 + (-0.0084) = 0.6706
المادة المعروضة اعلاه هي مدخل الى المحاضرة المرفوعة بواسطة استاذ(ة) المادة . وقد تبدو لك غير متكاملة . حيث يضع استاذ المادة في بعض الاحيان فقط الجزء الاول من المحاضرة من اجل الاطلاع على ما ستقوم بتحميله لاحقا . في نظام التعليم الالكتروني نوفر هذه الخدمة لكي نبقيك على اطلاع حول محتوى الملف الذي ستقوم بتحميله .
الرجوع الى لوحة التحكم
|