شبکه عصبی HEBB:
يکی از ساده ترين قوانين آموزش شبکه های عصبی به نام قانون HEEB مشهور است HEBB براساس اينکه يادگيری در اثر تغييرات قدرت وزن ها به وجود می آيد ، قانون خود را بنا نهاد
قانون HEBB:
اگر دو نرونی که به هم متصل اند در آن واحد آتش کنند آنگاه وزن ميان آن دو نرون بايستی افزايش يابد می توان اطن قانون را جهت افزايش قدرت يادگيری بصورت زير توسعه داد اگر دو نرونی که بهم متصل اند همزمان آتش کنند و يا همزمان خاموش باشند آنگاه وزن ميان آن دو نرون بايستی افزايش يابد
اگر نمايش داده ها به فرم (1- و 0 و 1) آنگاه به سادگی می توان قانون به روز کردن وزن بين دو نرون را بصورت زير بيان کرد
ضرب خروجی ها در هم:
الگوريتم يادگيری HEBB:
گام صفر: همه وزنها را با يک مقدار ثابتی مقدار دهی کن (مثلا به همه آنها مقدار صفر را قرار بده)
گام يک: برای هر زوج الگوی ورودی هدف (s : t) گام های 2 تا 4 را تکرار کن
گام دو: الگو iام را به شبکه اعمال کن (xi = si)
گام سوم: خروجی را برای هر نرون Y محاسبه کن (جمع ورودي ها و سپس اعمال تابع فعالساز)
گام چهارم: وزنها را بر طبق الگوريتم به روز کن
wi(new) = wi(old) + xiy
wi = xiy∆
wi(new) = wi(old) + ∆wi
مثال: پياده سازی تابع منطقی AND با استفاده از شبکه عصبی HEBB
وردی باينری و خروجی باينری
نکته : در اين شبکه عصبی از Bias نيز استفاده می شود
جواب مسئله تمام نقاطی است که حوالی 1 است
w1 = x1y ∆w2 = x2y∆
مجموع وردی ها b = 1*y = y y = x1w1 +x2w2 + b∆
x2 = (-x1w1 – b) / w2 x2 = -(w1 / w2)x1 – b / w2
x2 = -(1/1)x – 1/1 = -x – 1
مشاهده می شود که خط جدا کننده حاصل از اولين مرحله از آموزش خط مناسب نيست
هدف: پيدا کردن خط راستی است که مشخص کننده مرز بين الگوهای با جواب صفر و الگوهای با جواب يک باشد
برای رسيدن به جواب اين مثال آموزش را دوباره تکرار می کنيم
x2 = -(w1 / w2)x1 – b / w2 x2 = -(2/2)x – 2/2 = -x – 1
مشاهده می شود که با تکرار آموزش اتفاقی در خط جدا کننده نيفتاد اين بدان معناست که تکرار های بعدی نيز نمی توانند شبکه را بخوبی آموزش دهند.
دليل: اينکه بعد از آموزش مجدد شبکه تغييری در خط جدا کننده صورت نگرفت بخاطر نمايش باينری هدف (خروجی) است