شبیه سازی تابع XOR با MLP فقط با وجود یک نورون

علت انتخاب این تابع این است که با کمی دقت میتوان فهمید که اگر در لایه اول ماترس وزن [۰٫۵ ۰٫۵] باشد و بردار بایاس صفر خروجی  [۰ ۰٫۵ ۰٫۵ ۱] میشود که اگر به تابع انتقال بالا بدهیم حاصل [۰,۰٫۳۷۵,۰٫۳۷۵,۰] میشود که فقط کافیست با ضریب وزن ۱ و بایاس -۰٫۱ به هاردلیم بدهیم تا مطلوب حاصل بشه یعنی [۰ ۱ ۱ ۰]

برای اینکه بتوان با یک نورون مسئله ی XOR را حل کرد نیاز به تابع انتقال مخصوص هست که مرتبه ۲ یا بیشتر باشد برای اینکار ما تابع  –x^3 + X  را مناسب دانستیم که به اسم func در فایل جدا قرار داده شده

شبکه یک نورونی که تابع انتقال لایه اول همین تابع مذکور و در لایه  ی  دوم از هاردلیم استفاده شده

توجه داشته باشید غیر خطی بودن تابع انتقال هیچ اشکالی ندارد چون لوگسیگمویید و .. هم همه غیر خطی است.

علت انتخاب این تابع این است که با کمی دقت میتوان فهمید که اگر در لایه اول ماترس وزن [۰٫۵ ۰٫۵] باشد و بردار بایاس صفر خروجی  [۰ ۰٫۵ ۰٫۵ ۱] میشود که اگر به تابع انتقال بالا بدهیم حاصل [۰,۰٫۳۷۵,۰٫۳۷۵,۰] میشود که فقط کافیست با ضریب وزن ۱ و بایاس -۰٫۱ به هاردلیم بدهیم تا مطلوب حاصل بشه یعنی [۰ ۱ ۱ ۰]

علت اینکه بایاس دوم  -۰٫۱ است اینه که میخاهیم صفر ها منفی بشن و مثبت ها منفی نشوند تا  با اعمال هاردلیم  به اعداد مورد نظر برسیم

جهت دانلود پروژه و دریافت کدها و بقیه توضیحات میتوانید از طریق لینک زیر آن را خریداری نمایید:

دانلود از منبع اصلی: همیار پروژه

برای مشاهده کامل مطلب کلیک کنید

اشتراک‌گذاری

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *